21

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.

4 Answers 4

33

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.

3
  • 3
    TYVM for posting this problem and solution! I was messing with this exact preseed on Friday to no avail. Eventually tried replacing the seed file on the ISO itself, then punted as I ran out of time. Looks like it would have been fruitless when I resumed next week without this info!
    – astrostl
    Oct 24, 2010 at 2:23
  • 2
    Same here, wasted many hours before "auto=true priority=critical" was added...
    – viraptor
    Jun 10, 2011 at 16:57
  • 1
    It is 2015 now and I was playing with the same thing on 14.04 LTS and it still has the same issue. According to the 10.04 document it says: "The auto boot label is not yet defined on all architectures. The same effect may be achieved by simply adding the two parameters auto=true priority=critical to the kernel command line. ". On 14.04, it says: "The auto boot label is not yet defined everywhere. " Maybe those "everywhere" should be changed to "anywhere".
    – hshib
    Jan 30, 2015 at 22:14
4

The following default file worked for me

    kernel linux

    append auto=true priority=critical preseed/locale=en_US kbd-chooser/method=us preseed/url=http://192.168.13.184/preseed-files/preseed.cfg ramdisk_size=14984 root=/dev/rd/0 initrd=initrd.gz

If you do not give the locale and kbd-chooser the auto installation will not work and you will be presented with the screens for answering

2

The solution given by netvope works. I was using a network archive URL as an installation source with virt-install {...} --location URL -x "auto=true priority=critical url=http://www.example.com/autoinstall/preseed.cfg console-keymaps-at/keymap=us locale=en_US hostname=myhost domain=example.com"

After a lot of testing, it seems that the keymap, locale, hostname, domain need to be given as extra boot parameters, even if they were set up in the preseed.cfg file. With the auto=true priority=critical the installer will proceed even without answers to those questions, but unfortunately it won't find them in the preseed.cfg file either, like it should. So we need to give all these:

auto=true priority=critical url=http://www.example.com/autoinstall/preseed.cfg  console-keymaps-at/keymap=us locale=en_US hostname=myhost domain=example.com

So, the above boot parameters must be given even if you have them in your preseed.cfg as well:

#...
d-i debian-installer/locale string en_US
#...
# Disable automatic (interactive) keymap detection.
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
#...

This was tested on Ubuntu 10.04 and 10.10 and worked without asking keyboard or locale related questions.

0

Using cobbler on fedora, the following is what worked for me: I add the distro that's available from the web server

sudo cobbler distro add --name=Install_Ubuntu_Server-11.04-x86_64 --kernel=/var/www/cobbler/mountedvd/x86_64/ubuntu/server/11.04/install/netboot/ubuntu-installer/amd64/linux --initrd=/var/www/cobbler/mountedvd/x86_64/ubuntu/server/11.04/install/netboot/ubuntu-installer/amd64/initrd.gz --arch=x86_64 --breed=debian

then I add a profile. Note the kernel options following --kopts

sudo cobbler profile add --name=Install_Ubuntu_Server-11.04-x86_64 --distro=Install_Ubuntu_Server-11.04-x86_64 --kickstart=/var/lib/cobbler/kickstarts/ubuntu_server.seed --kopts="auto=true, priority=critical lang=english locale=en_US console-keymaps-at/keymap=us hostname=ubuntu_server domain=domainname console-setup/ask_detect=false console-setup/layoutcode=us"

for completeness sake here's my seed file for a xubuntu install

d-i grub-installer/only_debian  boolean true
d-i grub-installer/bootdev  string  hd0
d-i partman-auto/disk string /dev/sda
d-i partman-auto/method string lvm
d-i partman-auto/purge_lvm_from_device boolean true
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/confirm boolean true
d-i partman-auto/choose_recipe select atomic
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select Finish partitioning and write changes to disk
d-i partman/confirm boolean true
d-i     clock-setup/utc boolean true
d-i     clock-setup/ntp boolean true
d-i     clock-setup/ntp-server  string ntp.ubuntu.com
d-i console-setup/dont_ask_layout   note    
d-i console-keymaps-at/keymap   select  us
d-i mirror/suite        string  $suite
d-i mirror/country      string  enter information manually
d-i mirror/http/hostname    string  $hostname
d-i mirror/http/directory   string  $directory
d-i mirror/http/proxy   string  
d-i apt-setup/services-select multiselect   security
d-i apt-setup/security_host string  $hostname$directory-security
d-i apt-setup/volatile_host string  $hostname$directory-volatile
finish-install  finish-install/reboot_in_progress   note    
user-setup-udeb passwd/make-user    boolean false
d-i passwd/user-fullname string ubuntu insert_default_user_here
d-i passwd/username string userkini
d-i    passwd/user-password-crypted    password  insert_hashed password_here
clock-setup clock-setup/utc boolean false
tzsetup-udeb    time/zone   select  America/New_York
d-i base-installer/kernel/override-image string linux-image-generic
d-i pkgsel/include  string  openssh-server vim build-essential
tasksel tasksel/first   multiselect standard, xubuntu-desktop
d-i pkgsel/update-policy select none
d-i debian-installer/allow_unauthenticated  string  true
popularity-contest  popularity-contest/participate  boolean false

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .