SLE12 – provide a driver update via kernel command line

This post refers to the installation process for SLE12 or how to provide driver updates via kernel command line, to be more specific. In my environment, I’m using a SLES11SP3 xen-host for all kinds of xen-guest installations, this time I wanted to install a SLES12 VM. Right now, I’m dealing with the modified syntax for linuxrc, the first stage in the installation process. I’ll spare the details about network configuration, they can be found here. What is more relevant for this article is the information about driver updates (dud). Basically, it says you can either select a dud interactively (dud=1) or point to a url containing the dud (dud=<URL>), this is the according section in the description:

<url> should point either to a directory with the unpacked driver update or to a driver update archive.

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 seems legit to provide a directory containing the driver updates, but it’s also possible to point directly to an archive, a rpm or an image. Well, I have the impression that it’s not. But before I describe the details, here’s a screenshot of what you are supposed to see if your dud has been accepted:

DUD successful

DUD successful

The respective file(s) should be added to the installer, you should see them in the installation screen. For this example, the kernel command line had these arguments:

ifcfg='eth0=<IP-ADDRESS>/24,<GATEWAY>,<NAMESERVER>Hostname=<HOST>' dud=http://<WEB-SERVER>/pub/dud/yast2-network.dud insecure=1

A short explanation for the arguments used here:

  • ifcfg is the “new” syntax to configure the VM’s network setup if you don’t want it to be configured via DHCP, more information about the ifcfg syntax can be found in the link already mentioned further above.
  • dud points to the cpio archive on the web-server.
  • insecure=1 tells the installer to accept an unsigned driver update, otherwise the user would have to confirm it interactively.

I can confirm that this will also work with a rpm file in the dud path. But I also tried it with the unpacked driver updates. So I extracted all the files into the directory (/pub/dud/) and tried every single path from top (dud=http://<WEB-SERVER>/pub/dud/) to bottom (dud=http://<WEB-SERVER>/pub/dud/linux/suse/x86_64-sled12/install/), but none of them worked. In the install screen you can see that no driver has been added to the installer:

DUD fails

DUD fails

At this point I would say that the description of DUD in the linuxrc docs is obsolete, pointing to a directory with unpacked driver updates is not valid. I asked this in the SUSE forum, as soon as someone posts a reply I’ll update this article. Until then you should use a url containing a cpio archive, a rpm file or a filesystem image.

This entry was posted in SLE12 and tagged , , , , . Bookmark the permalink.

Leave a Reply