[syslinux] illegal opcode on cold pxe boots

H. Peter Anvin hpa at zytor.com
Thu Jun 5 17:10:02 PDT 2008


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




More information about the Syslinux mailing list