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

Ghassan Elrayah ghel at spreadshirt.net
Sun Mar 31 13:05:28 UTC 2019

On 3/30/19 8:09 PM, Ghassan Elrayah wrote:
> didn't work neither by pointing the preseed/url to the preseed file in 
> /tmp, althought he file is there.
> On 3/30/19 7:44 PM, Ghassan Elrayah wrote:
>> On 3/30/19 7:41 PM, Christian Nilsson wrote:
>>> On Sat, 30 Mar 2019 at 19:34, Ghassan Elrayah <ghel at spreadshirt.net> 
>>> wrote:
>>>> On 3/30/19 6:58 PM, Christian Nilsson wrote:
>>>>> 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.
>>>>>> 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.
>>>>>> 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
>>>> Hi Christian and thanks for the reply.
>>>> I can confirm that the preseed file is downloaded on the target 
>>>> machine
>>>> and the /proc/cmdline contains exactly the arguments I am passing 
>>>> to the
>>>> Kernel through the imgargs with the following version of menu.ipxe,
>>>> unfortunately without success:
>>>> :d10-dc-node
>>>> set base-url 
>>>> https://d-i.debian.org/daily-images/amd64/daily/netboot/debian-installer/amd64
>>>> initrd ${base-url}/initrd.gz
>>>> initrd tftp://my.ipxe.server/preseed/debian_buster_node.seed 
>>>> /tmp/debian_buster_node.seed
>>>> kernel ${base-url}/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
>>>> the only detected preseed choices are those provided by the Kernel
>>>> arguments in the menu.ipxe, which are relevant for the language choice
>>>> and they cannot be proseeded according to the official preseed docs.
>>>> The preseed file is under /tmp and the /proc/cmd contains exactly the
>>>> Kernel arguments.
>>>> -- 
>>>> Ghassan Elrayah
>>>> System Engineer
>>> On the kernel cmdline ...
>>> preseed/url=tftp://my.ipxe.server/preseed/debian_buster_node.seed
>>>   dosn't make sense?
>>> I don't think that it supports tftp in the Debian init scripts.
>>> Eighter point it to the file in /tmp/ or use a http url which is the
>>> likely supported case (but I might as well mention that some initrds
>>> do not support DNS, so using http://ip is the safest in terms of first
>>> test)
>> Sorry for the private reply. It was a mistake. I'll try it and let 
>> you know.
I finally could install debian buster fully unattended by using the 
following Kernel arguments:

set base-url 
kernel ${base-url}/linux
initrd ${base-url}/initrd.gz
initrd tftp://ipxe01.server.lej.sprd.net/preseed/debian_buster_node.seed 
imgargs linux auto vga=normal root=/dev/ram rw 
file=/tmp/debian_buster_node.seed interface=eno1 fb=false 
debian-installer=en_US.UTF-8 locale=en_US.UTF-8 kbd-chooser/method=us 
auto-install/enable=true debconf/frontend=noninteractive 
priority=critical console-setup/ask_detect=false 
keyboard-configuration/layoutcode=us keyboard-configuration/variant=USA ---

Network configuration and hostname will be set with DHCP.

Thanks every body for helping me out.


Ghassan Elrayah
System Engineer

More information about the ipxe-devel mailing list