Hi Ted,
Theodore Ts'o wrote:
I recently updated to the latest qemu-kvm git tree (commit c04b2ae) and
I ran into the following problem. I want to do a direct Linux boot for
some of my testing work, using the -kernel option. Apparently the the
gPXE boot code corrupts something in memory or other CPU state which
causes the loaded kernel to hang after the gPXE code gives up. I can
suppress this using -net none, but of course then I don't have any
networking access.
I was ultimately able to work around the solution by deleting the
/usr/local/share/qemu/pxe-*.bin files, but that's a bit of a botch. It
would be nice if there was a way to disable the gPXE boot option roms;
if you know you are booting off of a passed in hard drive image or
passed in a kernel for a direct boot, there's no reason why we might
want to do a gPXE boot.
It would be nice if there was a way to disable option roms automatically
if -kernel is specified, or if -boot order doesn't include 'n', or
perhaps with an explicit option to suppress all boot option roms (or all
networking options).
What sort of approach would be considered acceptable? Did I miss
some way of making the right thing happen other than deleting the
installed pxe-*.bin files?
We just did a flag day and switched our PXE rom and BIOS. We've
encountered a few regressions and we're quickly fixing them.
Alex Graf has already fixed the problem you describe above properly and
I've merged that into upstream qemu. It will take a little bit of time
for Avi and/or Marcelo to sync those changes into qemu-kvm.
For now, using '-bios pcbios.bin' should be a reasonable work around.
Regards,
Anthony Liguori