iBFT is not updated when doing iSCSI boot from OVMF / UEFI, but is updated if iSCSI boot is initiated by iPXE

Alex Rainchik


I'm trying to do iSCSI boot using libVirt and OVMF / UEFI. If I configure iSCSI target in UEFI iSCSI menu - it boots but won't mount root filesystem because iBFT information is not updated by OVMF / UEFI and it drops rom initramfs shell. If I manually start iSCSI in initramfs shell by running iscsistart - it mounts the root filesystem and continues to boot successfully. From what I understand - iBFT table is not getting updated and kernel doesn't know how to mount root.

At the same time I can boot the same image successfully using the same OVMF / UEFI if instead of setting up iSCSI there I drop to iPXE shell and do "scsiboot iscsi:", so iPXE does update iBFT correctly.

Do you have any suggestions how to get edk2 / OVMF to update iBFT when doing iSCSI boot directly from UEFI?

Thank you!