[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1036215: installation-reports: PXE netboot x86_64 libvirt guest on aarch64 host



Package: installation-reports

Boot method: PXE netboot
Image version: netboot.tar.gz from https://deb.debian.org/debian/dists/testing/main/installer-amd64/20230515/images/netboot/

Machine: QEMU TCG x86_64 libvirt guest on aarch64 host

Base System Installation Checklist:
[O] = OK, [E] = Error (please elaborate below), [ ] = didn't try it

Initial boot:           [O]
Detect network card:    [O]
Configure network:      [O]
Detect media:           [O]
Load installer modules: [O]
Clock/timezone setup:   [O]
User/password setup:    [O]
Detect hard drives:     [O]
Partition hard drives:  [O]
Install base system:    [O]
Install tasks:          [O]
Install boot loader:    [O]
Overall install:        [O]

Comments/Problems:

This report is about the successful installation of Bookworm on a x86_64 guest
running on a aarch64 host. The guest was installed with virt-manager using PXE
boot and UEFI Secure Boot enabled. Everything went smoothly except:

(A) some troubles with the UEFI PXE boot device to choose
(B) failure to load the grub splash screen

(A)
At VM startup I've entered the UEFI firmware and booted selecting the first
PXEv4 option, see [0].

Choosing the first one *seemed* to work fine, but it ended up in a Secure Boot
error (see [1]). Disabling Secure Boot did not fix the problem, I still got a
"Invalid Parameter" error. It eventually became clear that I had to boot with
[2] instead. I'm not really sure what the difference between the two may be,
and if this is an issue in the Tianocore firmware.

At any rate, [2] worked fine with and without Secure Boot enabled. I went on
with a preseeded installation, which finished uneventfully.

I then noticed the following errors in the libvirtd logs on the host (B):

 sarzana dnsmasq-tftp[7413]: file /srv/tftp/bookworm/isolinux/splash.png not found for 192.168.122.7
 sarzana dnsmasq-tftp[7413]: file /srv/tftp/bookworm/splash.png not found for 192.168.122.7

The grub.cfg file under /debian-installer/amd64/grub/grub.cfg has the following
conditionals:

 if background_image /isolinux/splash.png; then
[...]
 elif background_image /splash.png; then

The splash screen is loaded correctly replacing either of those with
/debian-installer/amd64/boot-screens/splash.png instead.

[0] https://people.debian.org/~ema/RC3-x86_64-uefi-firmware.png
[1] https://people.debian.org/~ema/RC3-x86_64-uefi-firmware-sb-error.png
[2] https://people.debian.org/~ema/RC3-x86_64-uefi-firmware-right-entry.png

PS:

To test PXE boot with libvirt I've edited the default network with:

 $ sudo virsh net-edit default

Here's what the <ip> part looks like:

    <tftp root='/srv/tftp/bookworm'/>
    <dhcp>
      <range start='192.168.122.2' end='192.168.122.254'/>
      <bootp file='/debian-installer/amd64/bootnetx64.efi'/>

I've untarred netboot.tar.gz under /srv/tftp/bookworm/.

After editing the network, I re-created it with:

 $ sudo virsh net-destroy default && sudo virsh net-start default

Although I'm not 100% sure it was necessary, I've also restarted libvirt and
shot a couple of dnsmasq processes that seemed to want to stick around: 

 $ sudo systemctl stop libvirtd && sudo pkill dnsmasq && sudo systemctl start libvirtd


Reply to: