-
Bug
-
Resolution: Won't Do
-
Minor
-
None
-
rhel-9.4
-
None
-
Low
-
CustomerScenariosInitiative
-
rhel-sst-virtualization
-
ssg_virtualization
-
None
-
QE ack
-
False
-
-
None
-
Red Hat Enterprise Linux
-
None
-
None
-
None
-
-
aarch64
-
Linux
-
None
What were you trying to do that didn't work?
Start a qemu process with an empty image, and try to install a guest from PXE server. In the first time, can enter the PXE installer, then stop the qemu process and change the MAC address, start the qemu process again, the guest will directly enter the EDK2 UEFI shell interface.
I tested on OVMF, but cannot reproduce this problem.
Please provide the package NVR for which bug is seen:
qemu: qemu-kvm-8.1.0-1.el9.aarch64
edk2: edk2-aarch64-20230524-3.el9.noarch
How reproducible:
always
Steps to reproduce
- Start a qemu process with an empty image
# qemu-img create -f qcow2 /home/kvm_autotest_root/images/pxe-test.qcow2 1G # cp /usr/share/edk2/aarch64/vars-template-pflash.qcow2 /root/avocado/data/avocado-vt/avocado-vt-vm1_pxe-test_qcow2_filesystem_VARS.qcow2 # MALLOC_PERTURB_=1 /usr/libexec/qemu-kvm \ -name 'avocado-vt-vm1' \ -sandbox on \ -blockdev '{"node-name": "file_aavmf_code", "driver": "file", "filename": "/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.qcow2", "auto-read-only": true, "discard": "unmap"}' \ -blockdev '{"node-name": "drive_aavmf_code", "driver": "qcow2", "read-only": true, "file": "file_aavmf_code"}' \ -blockdev '{"node-name": "file_aavmf_vars", "driver": "file", "filename": "/root/avocado/data/avocado-vt/avocado-vt-vm1_pxe-test_qcow2_filesystem_VARS.qcow2", "auto-read-only": true, "discard": "unmap"}' \ -blockdev '{"node-name": "drive_aavmf_vars", "driver": "qcow2", "read-only": false, "file": "file_aavmf_vars"}' \ -machine virt,gic-version=host,pflash0=drive_aavmf_code,pflash1=drive_aavmf_vars,memory-backend=mem-machine_mem \ -device '{"id": "pcie-root-port-0", "driver": "pcie-root-port", "multifunction": true, "bus": "pcie.0", "addr": "0x1", "chassis": 1}' \ -device '{"id": "pcie-pci-bridge-0", "driver": "pcie-pci-bridge", "addr": "0x0", "bus": "pcie-root-port-0"}' \ -nodefaults \ -device '{"id": "pcie-root-port-1", "port": 1, "driver": "pcie-root-port", "addr": "0x1.0x1", "bus": "pcie.0", "chassis": 2}' \ -device '{"driver": "virtio-gpu-pci", "bus": "pcie-root-port-1", "addr": "0x0"}' \ -m 8192 \ -object '{"size": 8589934592, "id": "mem-machine_mem", "qom-type": "memory-backend-ram"}' \ -smp 4,maxcpus=4,cores=2,threads=1,clusters=1,sockets=2 \ -cpu 'host' \ -serial unix:'/var/tmp/serial-serial0',server=on,wait=off \ -device '{"id": "pcie-root-port-2", "port": 2, "driver": "pcie-root-port", "addr": "0x1.0x2", "bus": "pcie.0", "chassis": 3}' \ -device '{"driver": "qemu-xhci", "id": "usb1", "bus": "pcie-root-port-2", "addr": "0x0"}' \ -device '{"driver": "usb-tablet", "id": "usb-tablet1", "bus": "usb1.0", "port": "1"}' \ -device '{"id": "pcie-root-port-3", "port": 3, "driver": "pcie-root-port", "addr": "0x1.0x3", "bus": "pcie.0", "chassis": 4}' \ -device '{"id": "virtio_scsi_pci0", "driver": "virtio-scsi-pci", "bus": "pcie-root-port-3", "addr": "0x0"}' \ -blockdev '{"node-name": "file_pxe", "driver": "file", "auto-read-only": true, "discard": "unmap", "aio": "threads", "filename": "/home/kvm_autotest_root/images/pxe-test.qcow2", "cache": {"direct": true, "no-flush": false}}' \ -blockdev '{"node-name": "drive_pxe", "driver": "qcow2", "read-only": false, "cache": {"direct": true, "no-flush": false}, "file": "file_pxe"}' \ -device '{"driver": "scsi-hd", "id": "pxe", "drive": "drive_pxe", "write-cache": "on"}' \ -device '{"id": "pcie-root-port-4", "port": 4, "driver": "pcie-root-port", "addr": "0x1.0x4", "bus": "pcie.0", "chassis": 5}' \ -device '{"driver": "virtio-net-pci", "mac": "9a:32:e9:39:65:cb", "rombar": 0, "id": "id4lFrAS", "netdev": "idRFtWNP", "bus": "pcie-root-port-4", "addr": "0x0"}' \ -netdev tap,id=idRFtWNP,vhost=on \ -vnc :0 \ -rtc base=utc,clock=host \ -enable-kvm \ -monitor stdio
- Connect to the serial console and check the output
BdsDxe: failed to load Boot0001 "UEFI QEMU QEMU HARDDISK " from PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0)/Scsi(0x0,0x0): Not Found >>Start PXE over IPv4. Station IP address is 10.19.243.85 Server IP address is 10.19.165.164 NBP filename is aarch64/grubaa64_rhel74.efi NBP filesize is 891344 Bytes Downloading NBP file... NBP file downloaded successfully. BdsDxe: loading Boot0002 "UEFI PXEv4 (MAC:9A32E93965CB)" from PciRoot(0x0)/Pci(0x1,0x4)/Pci(0x0,0x0)/MAC(9A32E93965CB,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0) BdsDxe: starting Boot0002 "UEFI PXEv4 (MAC:9A32E93965CB)" from PciRoot(0x0)/Pci(0x1,0x4)/Pci(0x0,0x0)/MAC(9A32E93965CB,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0) Exit PXE Install distro from Beaker x86_64 Install distro from Beaker AARCH64
- Quit the process and start again, then check the console output
BdsDxe: failed to load Boot0001 "UEFI QEMU QEMU HARDDISK " from PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0)/Scsi(0x0,0x0): Not Found >>Start PXE over IPv4. Station IP address is 10.19.243.85 Server IP address is 10.19.165.164 NBP filename is aarch64/grubaa64_rhel74.efi NBP filesize is 891344 Bytes Downloading NBP file... NBP file downloaded successfully. BdsDxe: loading Boot0002 "UEFI PXEv4 (MAC:9A32E93965CB)" from PciRoot(0x0)/Pci(0x1,0x4)/Pci(0x0,0x0)/MAC(9A32E93965CB,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0) BdsDxe: starting Boot0002 "UEFI PXEv4 (MAC:9A32E93965CB)" from PciRoot(0x0)/Pci(0x1,0x4)/Pci(0x0,0x0)/MAC(9A32E93965CB,0x1)/IPv4(0.0.0.0,0x0,DHCP,0.0.0.0,0.0.0.0,0.0.0.0) Exit PXE Install distro from Beaker x86_64 Install distro from Beaker AARCH64
- Quit and change the MAC address, then start the qemu process
-device '{"driver": "virtio-net-pci", "mac": "9a:32:e9:39:65:cc", "rombar": 0, "id": "id4lFrAS", "netdev": "idRFtWNP", "bus": "pcie-root-port-4", "addr": "0x0"}' \
Expected results
Can enter the PXE installer
Actual results
BdsDxe: failed to load Boot0001 "UEFI QEMU QEMU HARDDISK " from PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0)/Scsi(0x0,0x0): Not Found BdsDxe: loading Boot0006 "EFI Internal Shell" from Fv(64074AFE-340A-4BE6-94BA-91B5B4D0F71E)/FvFile(7C04A583-9E3E-4F1C-AD65-E05268D0B4D1) BdsDxe: starting Boot0006 "EFI Internal Shell" from Fv(64074AFE-340A-4BE6-94BA-91B5B4D0F71E)/FvFile(7C04A583-9E3E-4F1C-AD65-E05268D0B4D1) UEFI Interactive Shell v2.2 EDK II UEFI v2.70 (EDK II, 0x00010000) Mapping table BLK0: Alias(s): PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x0)/Scsi(0x0,0x0) Press ESC in 1 seconds to skip startup.nsh or any other key to continue. Shell>