I was using the kernel and initrd from the netinstaller tree on the mirrors:
wget https://deb.debian.org/debian/dists/bookworm/main/installer-amd64/current/images/netboot/debian-installer/amd64/linux wget https://deb.debian.org/debian/dists/bookworm/main/installer-amd64/current/images/netboot/debian-installer/amd64/initrd.gz

I vaguely remember trying a known good EFI binary also to no avail, but my memory is uncertain.

Unfortunately I am not able to get my test environment for this going after these years. When I start a VM from a trixie host with OVMF it attempts its own HTTP boot rather than invoking iPXE as it once did.

On 1/28/25 08:17, Sven Geuer wrote:
Control: tags -1 + unreproducible moreinfo

Hi Kevin,

On Fri, 23 Sep 2022 17:32:10 -0400 Kevin Otte <ni...@nivex.net> wrote:
Package: ipxe-qemu
Version: 1.0.0+git-20190125.36a4c85-5.1
Severity: important

When attempting to network boot a UEFI VM, cannot boot the Linux kernel image:

iPXE> ifopen net0
iPXE> dhcp
Configuring (net0 52:54:00:b1:e7:9f).................. ok
iPXE> kernel http://gemini.int.home.nivex.net/boot/bullseye/amd64/linux
http://gemini.int.home.nivex.net/boot/bullseye/amd64/linux... ok
Could not select: Exec format error (http://ipxe.org/2e008081)
iPXE>

This works fine in a BIOS based VM.


I cannot confirm your observation and suspect your kernel has not been
built with CONFIG_EFI_STUB. Please read the 'Additional notes'
paragraph of http://ipxe.org/2e008081.
Can you please try a kernel which includes the EFI stub?

Here are the ipxe specific parts of my tests using files 'initrd.gz'
and 'linux' from the debian-installer-12-netboot-amd64 package. In both
cases the VM booted into the installer.

Booting VM with BIOS:

    iPXE 1.21.1+git20220113.fbbdc3926+dfsg-2 -- Open Source Network Boot 
Firmware -- https://ipxe.org
    Features: DNS HTTP HTTPS iSCSI NFS TFTP VLAN AoE ELF MBOOT PXE bzImage Menu 
PXEXT
iPXE> dhcp
    Configuring (net0 52:54:00:1a:34:c8)... ok
    iPXE> initrd boot/initrd.gz
    boot/initrd.gz... ok
    iPXE> kernel boot/linux
    boot/linux... ok
    iPXE> imgstat
    initrd.gz : 40734957 bytes
    linux : 8189888 bytes [bzImage] [SELECTED]
    iPXE> boot
    Probing EDD (edd=off to disable)... ok

Booting the same VM with UEFI (needed to give the initrd= parameter to
make 'boot' work while kernel loaded fine without it):

    iPXE 1.21.1+git20220113.fbbdc3926+dfsg-2 -- Open Source Network Boot
Firmware -- https://ipxe.org
    Features: DNS HTTP HTTPS iSCSI NFS TFTP VLAN SRP AoE EFI Menu
iPXE> dhcp
    Configuring (net0 52:54:00:1a:34:c8)... ok
    iPXE> initrd boot/initrd.gz
    boot/initrd.gz... ok
    iPXE> kernel boot/linux initrd=initrd.gz
    boot/linux... ok
    iPXE> imgstat
    initrd.gz : 40734957 bytes
    linux : 8189888 bytes [EFI] [SELECTED] "initrd=initrd.gz"
    iPXE> boot
    EFI stub: Loaded initrd from command line option


Best,
Sven


Reply via email to