I have been using a process for preseeding the initrd in a Debian ISO for some time. I just tried the same process for desktop and server variants of Ubuntu 17.10 ISOs, and everything looks fine until I boot into it and see absolutely no indication that the installer sees the preseed.cfg
I placed in its initrd. For example, the installer asks me what language/locale first thing, even though my preseed.cfg
has:
d-i debian-installer/locale string en_US.UTF-8
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/layoutcode string us
d-i debian-installer/keymap select us
d-i keymap select us
d-i keyboard-configuration/xkb-keymap select us
I looked through all the F* key options and could not find any option comparable to the Debian Installer's "Automated Install", which decompresses the initrd and looks for/uses the preseed.cfg
at its root to answer, potential, all installer questions. The Ubuntu preseeding docs confirm that Ubuntu preseeding is supposed to work the same way, saying that:
…the point at which the preconfiguration file is loaded and processed. For initrd preseeding this is right at the start of the installation, before the first question is even asked.
Does anyone have any helpful hints for what might be going wrong based on the differences between Ubuntu ISOs and Debian ISOs, and the process of preseeding them via initrd?
These pages (here, here, and here) indicate that newer desktop ISOs have been reported to not be preseedable, and that the server ISOs should work "better". So, I downloaded 17.04 (and 17.10) server, repeated my test with that, and got the same behavior.
FTR, the process for embedding the preseed.cfg
in the initrd I'm using was taken from the Debian Wiki. Specifically, I'm using the "isofiles" approach, which is to mount the ISO (I'm using udevil), copy the files to local storage, then add preseed file to the initrd.
Like I said, this process works great for Debian ISOs, but does not appear to work at all for any of the desktop or server Ubuntu ISOs I've tried.
The Ubuntu help confirms that my assumption is valid:
If you are using initrd preseeding, you only have to make sure a file named
preseed.cfg
is included in the root directory of the initrd. The installer will automatically check if this file is present and load it.
The next thing I tried was to compare my preseed.cfg
with the official example Ubuntu preseed file to see if there's some problem with d-i and Ubuntu installers using/supporting different preseed directives. I didn't find much difference. To be sure, I installed, verbatim, the the official example Ubuntu preseed file in the initrd of the 17.10 server ISO, and the resulting installer still requires human to answer the questions as if there was no preseed at all.