[ipxe-devel] Debian installer doesn't load preseed

Christian Nilsson nikize at gmail.com
Sat Mar 30 17:58:36 UTC 2019


On Sat, 30 Mar 2019 at 17:58, Ghassan Elrayah <ghel at spreadshirt.net> wrote:
>
> Hi,
>
> I am facing a problem loading the preseed file for Debian installation.
> The unattended installation stops always at the mirror country option
> which is defined in my preseed. The preseed file is in the new server
> either in /tmp or under / depending on the path I specified. But the
> installer just ignores it. I don't know if its a Debian bug or an ipxe
> issue. I am not using UEFI rather BIOS.
>
> Here is my menu.ipxe
>
> :d10-dc-node
> set base-url
> https://d-i.debian.org/daily-images/amd64/daily/netboot/debian-installer/amd64
> kernel ${base-url}/linux auto=true
> preseed/url=tftp://my.ipxe.server/preseed/debian_buster_node.seed
> initrd ${base-url}/initrd.gz
> initrd tftp://my.ipxe.server/preseed/debian_buster_node.seed
> /tmp/debian_buster_node.seed
> imgargs linux netcfg/choose_interface=eno1 auto-install/enable=true
> fb=false debconf/frontend=noninteractive debian-installer=en_US.UTF-8
> auto locale=en_US.UTF-8 console-setup/ask_detect=false
> kbd-chooser/method=us keyboard-configuration/xkb-keymap=us
> keyboard-configuration/modelcode=pc105 keyboard-configuration/layout=USA
> keyboard-configuration/variant=USA BOOT_DEBUG=2 --
> boot
>
> I also tried it this way:
>
> :d10-dc-node
> set base-url
> https://d-i.debian.org/daily-images/amd64/daily/netboot/debian-installer/amd64
> kernel ${base-url}/linux
> initrd ${base-url}/initrd.gz
> initrd tftp://my.ipxe.server/preseed/debian_buster_node.seed
> /tmp/debian_buster_node.seed
> imgargs linux netcfg/choose_interface=eno1 auto-install/enable=true
> fb=false debconf/frontend=noninteractive debian-installer=en_US.UTF-8
> auto locale=en_US.UTF-8 console-setup/ask_detect=false
> kbd-chooser/method=us keyboard-configuration/xkb-keymap=us
> keyboard-configuration/modelcode=pc105 keyboard-configuration/layout=USA
> keyboard-configuration/variant=USA BOOT_DEBUG=2 --
> boot
>
> and this way:
>
> :d10-dc-node
> set base-url
> https://d-i.debian.org/daily-images/amd64/daily/netboot/debian-installer/amd64
> kernel ${base-url}/linux
> initrd ${base-url}/initrd.gz
> imgargs linux auto
> preseed/url=tftp://my.ipxe.server/preseed/debian_buster_node.seed
> netcfg/choose_interface=eno1 auto-install/enable=true fb=false
> debconf/frontend=noninteractive debian-installer=en_US.UTF-8 auto
> locale=en_US.UTF-8 console-setup/ask_detect=false kbd-chooser/method=us
> keyboard-configuration/xkb-keymap=us
> keyboard-configuration/modelcode=pc105 keyboard-configuration/layout=USA
> keyboard-configuration/variant=USA BOOT_DEBUG=2 --
> boot
>
> But the result is always the same, after configuring the language, the
> locales and keyboard, I have to choose the interface, because the server
> has four of them and I cannot preseed the correct one. Then I enter the
> hostname manually which is desired, since the preseed is for hardware
> server installation as Ganeti node, but then the mirror defined in the
> preseed is not picked neither the further steps of the installation process.
>
> Here is the relvant part of the preseed:
>
> ### Keyboard
> d-i console-setup/ask_detect boolean                 false
> d-i keyboard-configuration/layout select                  USA
> d-i keyboard-configuration/variant select                  USA
> d-i keyboard-configuration/modelcode string                  pc105
> d-i keyboard-configuration/xkb-keymap select                  us
> d-i keyboard-configuration/layout string                  English
>
> ### Locales
> d-i debconf/language string                  en_US
> d-i debian-installer/country string                  DE
> d-i debian-installer/language string                  en_US
> d-i debian-installer/locale string                  en_US.UTF-8
> d-i localechooser/supported-locales multiselect             en_US.UTF-8,
> de_DE.UTF-8
>
> ### Time zone
> d-i time/zone string                  UTC
> d-i clock-setup/utc boolean                 true
> d-i clock-setup/utc-auto boolean                 true
>
> ### Network
> d-i netcfg/choose_interface select                  eno1
> d-i netcfg/wireless_wep                             string
>
> ### Mirror settings
> d-i mirror/protocol string                  http
> d-i mirror/country string                  DE
> d-i mirror/http/hostname string                  ftp.de.debian.org
> d-i mirror/http/directory string                  /debian
> d-i mirror/http/proxy string                  http://10.99.54.80:8128/
>
> d-i apt-setup/contrib boolean                 true
> d-i apt-setup/non-free boolean                 true
> d-i apt-setup/services-select multiselect             security, updates
> d-i apt-setup/security_host string                  security.debian.org
>
> Thank you for your support
>
> --
>
> Ghassan Elrayah
> System Engineer
>

First of I know nothing about Debian.
As I understand it some of your choices in your pressed file is detected?
If so this is entirely an Debian issue and not iPXE related?

Can you check that your pressed file is downloaded and restored into
the running linux system?
Also check that /proc/cmdline contains what you expect it to.

(if you where using EFI then the file would never exist in /tmp/ but
that is due to the fact that cpio is not created when starting efi
binaries, also the extra initrd= lines would be needed as kernel
options)

One thing that I do note...
if you have kernel line with arguments and then use imgargs - then the
arguments on the kernel line is gone,
My preferred way here is to put everything on the kernel line to avoid
the confusion.

/Christian



More information about the ipxe-devel mailing list