[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