[ipxe-devel] FATAL: int13_eltorito: call with AX=4d00. Please report
sha0.miller at gmail.com
Thu Jan 3 01:36:30 GMT 2013
On 1/2/2013 19:36, Michael Brown wrote:
> On Wednesday 02 Jan 2013 23:52:00 Shao Miller wrote:
>> D'oh. I guess issuing our own INT 0x13, AH=0x4C would be too ugly?
> I don't see how it can work. INT 13,4c requires a filled-in specification
> packet, which is what INT 13,4b01 is supposed to return. Since INT 13,4b01 is
> returning failure on all drive numbers, I don't know where we would get the
> information to pass to INT 13,4c.
Sorry, I wasn't paying close enough attention. I actually don't fully
understand how int13_load_eltorito() can ever be expected to work
without iPXE already driving the optical disc drive using, for example,
an ATAPI driver. :)
If "Initiate Disk Emulation" hasn't yet been engaged, then might there
not even _be_ an INT 0x13-accessible optical disc drive? Isn't it sheer
luck if the BIOS has provided such access prior to examining if the disk
has floppy, HDD, or no emulation? I thought the drive number assignment
wasn't guaranteed to happen until BIOS used its internal driver to
examine the ISO9660 and populate the specification packet.
Until paying closer attention to what was in this thread, I assumed that
iPXE was doing a simple BIOS fall-back. That was a mistake!
For what it's worth, GRUB4DOS and Smart Boot Manager have an ATAPI
driver and can do the sort of thing BIOS does, but it seems kind of
out-of-scope for iPXE. :)
If I'm right and there's no guarantee of any INT 0x13-accessible optical
disc drive and it's sheer luck, then maybe we could test our luck from
populating as much of the spec. packet as possible using lower INT 0x13
reads and manually processing the El Torito info? Maybe the packet size
and drive number would even be sufficient. Heheh.
- Shao Miller
More information about the ipxe-devel