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