[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: PC machine types switched to SeaBIOS/gPXE

From: Beth Kon
Subject: Re: [Qemu-devel] Re: PC machine types switched to SeaBIOS/gPXE
Date: Tue, 03 Nov 2009 09:11:40 -0500
User-agent: Thunderbird (X11/20090817)

Kevin O'Connor wrote:
On Mon, Nov 02, 2009 at 05:22:00PM -0600, Anthony Liguori wrote:
Beth Kon wrote:
Serendipity allowed us to find this really easily, thanks to some old builds lying around...

The following Seabios commit breaks gpxe boot with e1000:
Any thoughts Kevin?

Before this commit, the gPXE e1000 rom was able to successfully netboot when selected as a boot device. With this commit, we get a "device not found" error within gPXE when launched as a boot device but when run from the gPXE command line, it launches successfully.

The easist way to debug this is to enable debugging output.  It's
possible to modify qemu's hw/pc.c and enable DEBUG_BIOS, but it's
probably simpler to recompile SeaBIOS and set CONFIG_DEBUG_SERIAL in
src/config.h (and possibly increase CONFIG_DEBUG_LEVEL).

With the later, one can then run:

qemu -net nic,model=e1000 -boot n -serial stdio

and what comes out is:

Scan for option roms
Running option rom at c900:0003
pnp call arg1=60
pmm call arg1=0
Found option rom with bad checksum: loc=0x000c9000 len=72192 sum=37

So, the e1000 option rom is modifying itself and not properly updating
its checksum - thefore SeaBIOS doesn't consider it in its BEV list.
The fact that it changed in the commit highlighted above was probably
just random.

When was this gpxe rom built?  I know gpxe used to have an issue with
the checksum not being updated, but I thought that was fixed about six
months ago.
The rom was built about 2 weeks ago. But I don't follow what you're saying. The same rom works when the Seabios tree is reset to the commit just prior to this one. That would suggest to me that the rom isn't the problem. But I agree that there is no obvious connection between that commit and a bad checksum. What am I missing?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]