[gPXE] Heads up QEMU/KVM gPXE users: Workaround for bochsbios 2.4.2 PCI BIOS regression

Stefan Hajnoczi stefanha at gmail.com
Sat Jan 9 18:15:35 EST 2010


There is a regression in bochsbios 2.4.2 that prevents gPXE from
detecting PCI network devices.  I hope this email saves you time if
you find that suddenly virtual machines cannot find network devices to
boot from.

How to know if you are affected:
1. You get "No more network devices" when running gPXE in QEMU/KVM.
2. Your bochsbios version is 2.4.2.

The problem:
A change in bochsbios results in the carry flag not being propagated
to indicate success/failure from PCI BIOS.  Since the PCI BIOS is
broken and gPXE relies on it to enumerate PCI devices, no network
devices will be found.

Workarounds:
1. Change "#define PCIAPI_PCBIOS" to "#define PCIAPI_DIRECT" in
gpxe/src/config/defaults/pcbios.h.  Rebuild gPXE.
OR
2. Use bochsbios 2.4.1 (or from bochsbios CVS once this is fixed).

Details:
"[Bochs-developers] [Bug #2851495] BIOS PCI returns with INT flag = 0"
http://sourceforge.net/mailarchive/message.php?msg_name=CB0D40A42634460081FFCCAF2F040F48@FSCPC

Stefan


More information about the gPXE mailing list