12

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?

Alex Woolford
  • 273
  • 2
  • 3
  • 7

2 Answers2

10

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

Ron
  • 20,518
  • 6
  • 57
  • 72
  • @Ron Could you explain HOW to "pass `netcfg/choose_interface= YourInterface` to the kernel as a boot option." by editing your answer? – αғsнιη May 04 '15 at 08:45
  • 1
    add ```netcfg/choose_interface=``` at the end of the ```append``` line in the pxe config that you show above (before ```--```) – mdd Jul 03 '15 at 14:00
  • 1
    Seems that bug report was closed because you can't set the interfacd options if you're loading your preseed file config over the network. – Ben Creasy Aug 14 '17 at 20:18
  • You can chainload multiple preseed files, so you could include a minimal preseed with just enough to get started and then use the preseed option to load another preseed from the network which will run when the network is available and merge and override the options from the first preseed. – dragon788 Sep 14 '18 at 20:27
2

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
devudopw
  • 21
  • 1