Ubuntu – preseeding debian netinstall does not get preseed file via http

debianpreseedUbuntu

I am trying to do a preconfigured netinstall of debian 6, using preseeding. I have setup a tftp server, which serves kernel and initrd, however the parameters specifying the preseed file seam not to work. Here is part of my pxelinux.cfg:

LABEL mydebian6_amd64_install
    menu label ^Install Debian 6 amd64
    kernel install/mydebian/linux
    append vga=normal  initrd=install/mydebian/initrd.gz auto=true url=http://10.0.3.20/preseeds/debian6-preseed.cfg  --

kernel and initrd.gz get loaded, however, the debian6-preseed.cfg never gets pulled of my webserver. The url given above is valid, I can pull it with wget within the same network and the request shows up in the apache log. However the netboot stops with questions about the default route, and the apache logs show no trace of a preseed file being fetched.

The network configuration seems to be ok, auto configuration with dhcp succeeded. The installer then asks me weather I want to continue without a default route. I was hoping to be able to configure this in the preseed file, but since I don't get that far, it won't work :/. Now I tried adding

netcfg/get_gateway=10.0.3.20

to the append line, but that did not help.

tftp,dhcp and apache all run on the same server, which is a ubuntu 12.04 server. Everything within a virtualbox virtual network.

Any hints?

Best Answer

It looks like your networking hasn't come up yet before it tries to retrieve the preseed configuration file. Try adding the following commands:

priority=critical interface=auto netcfg/dhcp_timeout=120 console-setup/layoutcode=us
  • The command interface=auto will use the first ethernet it finds automatically.

  • The command netcfg/dhcp_timeout=120 will allow dhcp client to try and find ip address etc. for a longer time than the default, because often the default time is not long enough.

  • The commands priority=critical and console-setup/layoutcode=us I use to prevent the installation process from asking for any user input.

Although this doesn't seem to apply to your situation, but another reason for networking to not come up is that the ethernet driver that is needed is part of the non-free repository which is not enabled upon installing. In that case try to use a USB ethernet interface for example just for the installation process. Then afterwards enable non-free repository and install the necessary firmware packages for your ethernet card.