[ipxe-devel] FATAL: int13_eltorito: call with AX=4d00. Please report
klaus.espenlaub at oracle.com
Mon Jan 7 17:33:09 UTC 2013
On 02.01.2013 23:18, Michael Brown wrote:
> On Wednesday 02 Jan 2013 09:41:54 Shao Miller wrote:
>> Anyway, since it's working without iPXE, perhaps the iPXE INT 0x13 hook
>> has a bug where the AH register is being incremented. AH=0x4D means
>> "Return Boot Catalog," but if it was an accidental increment, it
>> might've been AH=0x4C, which is "Initiate Disk Emulation& Boot," which
>> makes a whole lot of sense for the scenario you've described.
> I'm pretty sure it will be triggered by iPXE's int13_boot(), which does:
> /* Look for a usable boot sector */
> if ( ( ( rc = int13_load_mbr ( drive,&address ) ) != 0 )&&
> ( ( rc = int13_load_eltorito ( drive,&address ) ) != 0 ) )
> return rc;
> When int13_load_mbr() fails (since drive 0xa0 does not have a valid MBR
> present), we try int13_load_eltorito(). This issues INT 13,4d00 to read the
> El Torito boot catalog, relying upon the BIOS to return with an error if the
> drive isn't actually a CD-ROM.
> I have no idea why VirtualBox would treat INT 13,4d00 on a non-CDROM drive as
> being worthy of a fatal error.
We're listening... discussing internally how to resolve this without a
BIOS panic. I agree with HPA that the proper way is checking first with
function 4b01h if there is El Torito disk emulation in place, however
panicing is too much.
Regarding the complaints about trouble with returning to the BIOS to
continue with other boot devices - this *is* troublesome, but since the
code is open source there is lots of opportunity to improve things.
Often it's clobbered memory contents outside the control of the BIOS.
There's a plan to replace the PXE code in VirtualBox by iPXE, but
there's a lot of red tape, besides the 56K size limit and eventually the
need to revive KEEP_IT_REAL to support truly strange PXE clients which
use v86 mode and what not...
> ipxe-devel mailing list
> ipxe-devel at lists.ipxe.org
Dr. Klaus Espenlaub | Software Development Director
Oracle VM VirtualBox
More information about the ipxe-devel