James_Martin at ao.uscourts.gov
2008-Jun-05 21:53 UTC
[syslinux] illegal opcode on cold pxe boots
Using the latest version of syslinux/pxelinux..
When cold pxe booting a HP DL585 G2 (Broadcom NIC), if the pxemenu item is
LOCALBOOT 0 and is selected, then a red screen with the following error
occurs:
Illegal OpCode
EAX=000E09AC EBX=00000000 ECX=00000000 EDX=00000000
EBP=00004408 ESI=0000F000 EDI=000045E9
DS=F000 ES=0000 FS=0000 GS=0003
CS:EIP=1000:00000240 SS:ESP=0030:0000FBE6
EFLAGS=00000047
This is all pre-operating system.
Oddly enough, if I bypass the pxeboot process, the machine boots fine
locally, and on subsequent reboots, pxelinux properly localboots the
machine. This only occurs on a "localboot 0" situatation when the
machine
is booted from a powered off state.
It only happens on this particular hardware as well (it's firmware is
fully up to date). I will take this up with HP, but I just wanted to make
sure there was nothing obvious.
Thanks,
James
James S. Martin, RHCE
Contractor
Administrative Office of the United States Courts
Washington, DC
(202) 502-2394
James_Martin at ao.uscourts.gov wrote:> Using the latest version of syslinux/pxelinux.. > > When cold pxe booting a HP DL585 G2 (Broadcom NIC), if the pxemenu item is > LOCALBOOT 0 and is selected, then a red screen with the following error > occurs: > > Illegal OpCode > > EAX=000E09AC EBX=00000000 ECX=00000000 EDX=00000000 > EBP=00004408 ESI=0000F000 EDI=000045E9 > DS=F000 ES=0000 FS=0000 GS=0003 > CS:EIP=1000:00000240 SS:ESP=0030:0000FBE6 > EFLAGS=00000047 > > This is all pre-operating system. > > > Oddly enough, if I bypass the pxeboot process, the machine boots fine > locally, and on subsequent reboots, pxelinux properly localboots the > machine. This only occurs on a "localboot 0" situatation when the machine > is booted from a powered off state. > > It only happens on this particular hardware as well (it's firmware is > fully up to date). I will take this up with HP, but I just wanted to make > sure there was nothing obvious. >This implies there is some state that it expects to use on return from Boot Entry Vector (BEV) which isn't actually set up properly until boot. This is a BIOS bug. You probably would be able to use chain.c32 as a workaround. -hpa