On Wed, Nov 18, 2009 at 9:22 AM, Gleb Natapov <g...@redhat.com> wrote: > On Wed, Nov 18, 2009 at 08:06:26AM -0500, Kevin O'Connor wrote: >> On Wed, Nov 18, 2009 at 11:39:49AM +0200, Gleb Natapov wrote: >> > On Mon, Nov 16, 2009 at 09:26:20PM -0500, Kevin O'Connor wrote: >> > > I do see an issue if SeaBIOS's reboot vector is called (eg, by using >> > > "sendkey ctrl-alt-delete" while still in the bios) because seabios >> > > allows gpxe to modify itself, and on a seabios only reboot the gpxe >> > > rom isn't recopied and gpxe therefore gets confused. However, on a >> > > linux invoked reboot, it looks like a full machine reset occurs and >> > > qemu recopies the gpxe rom, so that doesn't seem to be an issue. >> > > >> > Do we have the same problem with tpr patching rom (vapic,bin)? It modifies >> > itself too. >> >> I don't know, but I wouldn't think so. The issue is only if the >> option rom init code doesn't like getting run twice. (Gpxe allocates > > If rom modifies itself its checksum changes so SeaBIOS thinks that rom > is invalid and does not call its init code second time. Is this correct?
I don't know how it's "supposed" to work, but gPXE's ROM init procedure contains code to recompute and store the checksum after it's modified itself. Presumably this is there because some vendor BIOSes expect it. -- Josh