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? Thanks, - Ted