Ubuntu – How to get HTTP preseed to work correctly on Ubuntu 10.04 LTS (Lucid)

automated-installpreseedUbuntuubuntu-10.04

Installation media: ubuntu-10.04-desktop-i386.iso

I tried a lot of different boot parameters, but either the installer ignored the preseed configuration, or it boot itself directly as LiveCD.

An example of the boot parameters I've tried:

auto url=http://mydomain.com/path/preseed.cfg boot=casper only-ubiquity initrd=/casper/initrd.lz quiet splash —

If I remove only-ubiquity, it boots as a LiveCD. If I remove boot=casper, it won't boot. If I add vga=normal locale=en_US console-setup/layoutcode=us console-setup/ask_detect=false interface=auto, it still can't do automatic install. If I remove auto, it's the same.

What is the correct boot parameters for launching such an installation?

From the apache log of the server hosting preseed.cfg, I see that the installer has no problems fetching the preseed file. My preseed file is almost identical to the one at https://help.ubuntu.com/10.04/installation-guide/example-preseed.txt. Moreover, I have run debconf-set-selections -c preseed.cfg to ensure that the preseed file is correct.

Best Answer

Ok... I've found the answer with experiments.

  1. Use the server or alternate ISO instead of the desktop ISO! Preseed does not work with the desktop ISO. Use the linux-generic kernel and tasksel ubuntu-desktop to get a desktop installation.

  2. The auto boot parameter does not work (at least for i386). Use auto=true priority=critical instead.

  3. In contrast to the official documentation, which states that "if the URL is missing a protocol, http is assumed", http:// is required or the installer will not be able to fetch the preseed file.

  4. If you have multiple network cards, add interface=auto or the installer will ask you which interface to use.

Therefore, the minimum boot parameters needed are auto=true priority=critical url=http://mydomain.com/path/preseed initrd=/install/initrd.gz

If I have time, I'll definitely post a documentation-improvement request to launchpad.