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