Friday, January 28, 2011

ubuntu-10.04-desktop-i386 does not work with HTTP preseed?

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.

  • 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.

    astrostl : 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!
    From netvope
  • Hi I am at the same state . I have tried the alternate iso file but my preseed file is getting ignored . Can you please post your pxelinux.cfg/default file also ? Did you have to change from kernel ubuntu-installer/i386/linux to linux-generic . Let me know

    I got further than this the problem was the locale and country selection had to be passed in the boot parameters even though they are also specified in the answers file .

    joschi : This should have been a comment to the question rather than an answer.
  • 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

  • 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.

    From SAM

0 comments:

Post a Comment