Hi all,

this week I've been facing driver updates (dud) for the first time. I wanted to provide a dud via http and had my share finding the right syntax for the kernel command line. Meanwhile, I know that it works if I use the full path incl. the rpm or a cpio archive ("ifcfg=... dud=http://<HOST>/pub/dud/update.dud"). According to this description it should be possible to provide either a directory or an rpm/archive:
dud=<url> specifies the location of the driver update directly. <url> should point either to a directory with the unpacked driver update or to a driver update archive.
and a couple of lines below it says:
if <url> does not point to a driver update but rather a normal filesystem image, cpio archive, or rpm, it is unpacked and the files are added to the install (or rescue) system.
My understanding is that it should work both ways, a specific file (which I tested and it works great) OR a directory containing the unpacked driver updates. So I unpacked the archive and had a complete treepath:

Code:
host:/srv/www/htdocs/pub/dud # find .
.
/linux
./linux/suse
./linux/suse/x86_64-sles12
./linux/suse/x86_64-sled12
./linux/suse/x86_64-sled12/dud.config
./linux/suse/x86_64-sled12/install
./linux/suse/x86_64-sled12/install/update.post2
./linux/suse/x86_64-sled12/install/yast2-network-3.1.112.11-2.22.2.9770.1.PTF.957377.x86_64.rpm
./linux/suse/x86_64-sled12/install/update.pre
./linux/suse/x86_64-sled12/inst-sys
./linux/suse/x86_64-sled12/inst-sys/usr
./linux/suse/x86_64-sled12/inst-sys/usr/lib
./linux/suse/x86_64-sled12/inst-sys/usr/lib/YaST2
./linux/suse/x86_64-sled12/inst-sys/usr/lib/YaST2/servers_non_y2
./linux/suse/x86_64-sled12/inst-sys/usr/lib/YaST2/servers_non_y2/ag_udev_persistent
./linux/suse/x86_64-sled12/inst-sys/usr/lib/YaST2/bin
./linux/suse/x86_64-sled12/inst-sys/usr/lib/YaST2/bin/cut-messages
./linux/suse/x86_64-sled12/inst-sys/usr/share
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/inst_setup_dhcp.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/inst_ask_net_test.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/routing_auto.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/network.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/firewall_stage1_finish.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/save_network.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/dns.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/lan_auto.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/remote.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/remote_proposal.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/lan.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/inst_lan.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/inst_install_inf.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/host_auto.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/host.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/routing.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/dns_auto.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/inst_netprobe.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/firewall_stage1_proposal.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/clients/inst_do_net_test.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/scrconf
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/scrconf/etc_hosts.scr
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/scrconf/cfg_udev_persistent.scr
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/scrconf/routes.scr
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/scrconf/cfg_network.scr
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/scrconf/cfg_dhcp.scr
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/lib
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/lib/network
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/lib/network/confirm_virt_proposal.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/lib/network/network_autoyast.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/lib/network/install_inf_convertor.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/lib/network/edit_nic_name.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/lib/network/network_autoconfiguration.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/schema
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/schema/autoyast
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/schema/autoyast/rnc
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/schema/autoyast/rnc/host.rnc
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/schema/autoyast/rnc/networking.rnc
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/InternetDevices.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/LanUdevAuto.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/SuSEFirewall4Network.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/Routing.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/Host.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/Network.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/LanItems.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/YaPI
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/YaPI/NETWORK.pm
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/Lan.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/DNS.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/NetHwDetection.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/Remote.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/modules/NetworkStorage.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/services
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/services/dns.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/services/host.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/services/routing.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/devices.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/wireless.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/virtual.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/wizards.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/cmdline.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/address.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/complex.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/help.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/udev.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/hardware.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/s390.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/cards.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/dhcp.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/lan/bridge.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/installation
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/installation/dialogs.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/routines.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/runtime.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/widgets.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/complex.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/hardware.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/summary.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/remote
./linux/suse/x86_64-sled12/inst-sys/usr/share/YaST2/include/network/remote/dialogs.rb
./linux/suse/x86_64-sled12/inst-sys/usr/share/applications
./linux/suse/x86_64-sled12/inst-sys/usr/share/applications/YaST2
./linux/suse/x86_64-sled12/inst-sys/usr/share/applications/YaST2/lan.desktop
./linux/suse/x86_64-sled12/inst-sys/usr/share/applications/YaST2/remote.desktop
./linux/suse/x86_64-sled12/inst-sys/usr/share/applications/YaST2/host.desktop
./linux/suse/x86_64-sled12/inst-sys/.update.a23ee0aa-00a3-4584-a12d-eb8337f1af5e
I tried every single path from top to bottom, I only see one single line in the apache access_log but no action is performed at all, the update was not applied. So I'd like to know if the documentation is obsolete and linuxrc is not able to read the contents of a directory but needs a specific file.
In case you're wondering about "sled" in the treepath, there is a symlink for sles12 pointing to sled12.

Thanks for any information on that!