Preseed doesn't automatically select network interface on Ubuntu 14.04; automated install needs human input

I'm trying to setup an unattended Ubuntu Server 14.04 installation from PXE.

I initially tried using Kickstart. This worked okay except that the partition manager required user confirmation and so wasn't a fully unattended install (i.e. I'd need to acknowledge that it's okay to repartition the disk part way through the installation).

A colleague suggested that, for fine-grained control, I'd be better off using Preseed. Unfortunately, the preseed installation currently gets stuck at the choose_interface section.

The boot instructions in /tftpboot/pxelinux.cfg/default:

KERNEL images/ubuntu_server_1404/install/netboot/ubuntu-installer/amd64/linux
append auto=true vga=normal initrd=images/ubuntu_server_1404/install/netboot/ubuntu-installer/amd64/initrd.gz url=http://myNAS/pxe/preseed.cfg quiet --

are able to execute the first few lines (e.g. language/keyboard selection)

d-i debian-installer/locale string en_US
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
d-i keyboard-configuration/layoutcode string us

but the choose_interface doesn't work automatically:

enter image description here

I've tried both specifying the network interface:

d-i netcfg/choose_interface select em1

and automatic selection:

d-i netcfg/choose_interface select auto

Neither of these settings worked: the installation requires human input in order to proceed.

Can you see what I'm doing wrong?


This is (or was?) a reported bug. The solution was to try passing netcfg/choose_interface= YourInterface to the kernel as a boot option.


According to this article, you can edit pxelinux.cfg in append line for multiple interface issue when using preseed.

by interface name

append initrd=/images/Ubuntu/initrd.gz ksdevice=bootif lang= interface=eth1

or with mac address

append initrd=/images/Ubuntu/initrd.gz ksdevice=bootif lang= interface=90:e2:ba:2e:b0:70