Nice diagnosis of a really sticky issue. Thanks.
jean-francois simon wrote:
hi
when PXE booting a solaris 10 or opensolaris x86 platform (jumpstart or
diskless), the BIOS grabs the pxegrub file from the solaris server, and
runs it. but there are cases where pxegrub fails with the following
messages:
--
Probing pci nic....
[UNDI]ROM IBA GE Slot 0300 v1242 by Intel Corporation
Revision 2.1.0ROM IBA GE Slot 0301 v1242 by intel Corporation
Revision 2.1.0
[UNDI]ROM IBA GE Slot 0300 v1242 by Intel Corporation
Revision 2.1.0ROM IBA GE Slot 0300 v1242 by intel Corporation
Revision 2.1.0
No Ethernet Card Found.
--
pxegrub makes an UNDI real mode call to the BIOS, and then try to
re-enable the A20 gate in case the UNDI code disabled it. see
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/grub/grub-0.97/netboot/undi.c#389
i have found that if i comment out the call to gateA20_set() then the
problem goes away. ask me if you need a newly compiled pxegrub.
alternatively you can recompile it from the opensolaris source code.
looking further i could see that the problem is happening in (not so)
old AMIBIOSes, during a call to the BIOS INT15 function 2401 (A20
enable). this interrupt function is clobbering %ebx. bracketing the call
to int15 in stage2/asm.S with
push %ebx
int $15
pop %ebx
solved the problem too, and is probably a better fix. note that American
Megatrends Inc. is aware of this and upgrading yr bios may solve the
issue too.
for what it's worth..
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss