Hi Christian, thanks again for paying attention! >The question is: if upstream states that i386 is supported, what can we >do to enable this functionality in this particular package?
Building IA32-capable OVMF is REALLY EASY in 2020. $ mkdir ovmf-ia32 $ cd ovmf-ia32 $ git clone https://github.com/tianocore/edk2.git $ cd edk2 $ git submodule update --init $ ./OvmfPkg/build.sh --enable-flash -a IA32 $ cp Build/OvmfIa32/DEBUG_GCC5/FV/OVMF_* /tmp The above procedure builds *IA32-only* OVMF_CODE.fd and OVMF_VARS.fd. I think Debian ovmf package has x86-64-only OVMF, and one can probably build IA32+x86-64 OVMF by "build.sh --enable-flash -a IA32 -a X64" (I have not checked this). I have verified my own OVMF as follows: (The modified autopkgtest-virt-qemu loads OVMF from /tmp) # autopkgtest -u debci -B bash -- qemu --debug --efi --show-boot -q qemu-system-i386 /var/lib/debci/qemu/sid-i386.img autopkgtest [22:25:23]: starting date: 2020-11-02 autopkgtest [22:25:23]: version 5.15 autopkgtest [22:25:23]: host bullseye-gnome; command line: /usr/bin/autopkgtest -u debci -B bash -- qemu --debug --efi --show-boot -q qemu-system-i386 /var/lib/debci/qemu/sid-i386.img autopkgtest-virt-qemu: DBG: executing open autopkgtest-virt-qemu: DBG: execute-timeout: qemu-img info --output=json /var/lib/debci/qemu/sid-i386.img autopkgtest-virt-qemu: DBG: Creating temporary overlay image in /tmp/autopkgtest-qemu.typ9z_04/overlay.img autopkgtest-virt-qemu: DBG: execute-timeout: qemu-img create -f qcow2 -F qcow2 -b /var/lib/debci/qemu/sid-i386.img /tmp/autopkgtest-qemu.typ9z_04/overlay.img autopkgtest-virt-qemu: DBG: find_free_port: trying 10022 autopkgtest-virt-qemu: DBG: find_free_port: 10022 is free autopkgtest-virt-qemu: DBG: Forwarding local port 10022 to VM ssh port 22 autopkgtest-virt-qemu: DBG: ['qemu-system-i386', '-m', '1024', '-smp', '1', '-nographic', '-net', 'nic,model=virtio', '-net', 'user,hostfwd=tcp:127.0.0.1:10022-:22', '-object', 'rng-random,filename=/dev/urandom,id=rng0', '-device', 'virtio-rng-pci,rng=rng0,id=rng-device0', '-monitor', 'unix:/tmp/autopkgtest-qemu.typ9z_04/monitor,server,nowait', '-serial', 'unix:/tmp/autopkgtest-qemu.typ9z_04/ttyS0,server,nowait', '-serial', 'unix:/tmp/autopkgtest-qemu.typ9z_04/ttyS1,server,nowait', '-virtfs', 'local,id=autopkgtest,path=/tmp/autopkgtest-qemu.typ9z_04/shared,security_model=none,mount_tag=autopkgtest', '-drive', 'file=/tmp/autopkgtest-qemu.typ9z_04/overlay.img,cache=unsafe,if=virtio,index=0,format=qcow2', '-drive', 'if=pflash,format=raw,read-only,file=/tmp/OVMF_CODE.fd', '-drive', 'if=pflash,format=raw,file=/tmp/autopkgtest-qemu.typ9z_04/efivars.fd', '-enable-kvm'] autopkgtest-virt-qemu: DBG: expect: " login: " BdsDxe: failed to load Boot0001 "UEFI QEMU DVD-ROM QM00003 " from PciRoot(0x0)/Pci(0x1,0x1)/Ata(Secondary,Master,0x0): Not Found BdsDxe: loading Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x6,0x0) BdsDxe: starting Boot0002 "UEFI Misc Device" from PciRoot(0x0)/Pci(0x6,0x0) Welcome to GRUB! Booting `Debian GNU/Linux' Loading Linux 5.9.0-1-686 ... Loading initial ramdisk ... [ 0.000000] Linux version 5.9.0-1-686 (debian-ker...@lists.debian.org) (gcc-10 (Debian 10.2.0-15) 10.2.0, GNU ld (GNU Binutils for Debian) 2.35.1) #1 SMP Debian 5.9.1-1 (2020-10-17) [ 0.000000] x86/fpu: x87 FPU will use FXSAVE [ 0.000000] BIOS-provided physical RAM map: [ 0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009ffff] usable [ 0.000000] BIOS-e820: [mem 0x0000000000100000-0x0000000000805fff] usable [ 0.000000] BIOS-e820: [mem 0x0000000000806000-0x0000000000807fff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x0000000000808000-0x000000000080ffff] usable [ 0.000000] BIOS-e820: [mem 0x0000000000810000-0x00000000008fffff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x0000000000900000-0x000000003fb79fff] usable [ 0.000000] BIOS-e820: [mem 0x000000003fb7a000-0x000000003fc79fff] reserved [ 0.000000] BIOS-e820: [mem 0x000000003fc7a000-0x000000003fd79fff] type 20 [ 0.000000] BIOS-e820: [mem 0x000000003fd7a000-0x000000003fdf9fff] reserved [ 0.000000] BIOS-e820: [mem 0x000000003fdfa000-0x000000003fe09fff] ACPI data [ 0.000000] BIOS-e820: [mem 0x000000003fe0a000-0x000000003fe89fff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x000000003fe8a000-0x000000003fef3fff] usable [ 0.000000] BIOS-e820: [mem 0x000000003fef4000-0x000000003ff77fff] reserved [ 0.000000] BIOS-e820: [mem 0x000000003ff78000-0x000000003fffffff] ACPI NVS [ 0.000000] BIOS-e820: [mem 0x00000000ffc00000-0x00000000ffffffff] reserved [ 0.000000] Notice: NX (Execute Disable) protection missing in CPU! [ 0.000000] efi: EFI v2.70 by EDK II [ 0.000000] efi: SMBIOS=0x3fbb9000 ACPI=0x3fe09000 ACPI 2.0=0x3fe09014 MEMATTR=0x3f0e9010 [ 0.000000] secureboot: Secure boot could not be determined (mode 0) [ 0.000000] SMBIOS 2.8 present. [ 0.000000] DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 0.0.0 02/06/2015 [ 0.000000] Hypervisor detected: KVM [ 0.000000] kvm-clock: Using msrs 4b564d01 and 4b564d00 [ 0.000000] kvm-clock: cpu 0, msr eba2001, primary cpu clock [ 0.000000] kvm-clock: using sched offset of 1541514088 cycles >Looking at #842683, others have attempted to build the 32-bit versions >and encountered build failures. However, that information is now 2 years >old -- perhaps upstream has changed in the meantime such that a build is >now possible. It is really easy now!!!! >If the Maintainers are willing to entertain building a package with i386 >support, please count me in as a test volunteer. I wonder if there is a good reason NOT building IA32 OVMF... I have no idea about that... Best regards, Ryutaroh