[syslinux] gpxelinux.0 (and maybe pxelinux.0) brokensince 51f563a2e52d1e2668e7b7a3d480c4f1e4b89d97
Sebastian Herbszt
herbszt at gmx.de
Sat Feb 21 10:19:45 PST 2009
H. Peter Anvin wrote:
> Constantin Charissis wrote:
>> Hello,
>>
>> I'm trying to boot with a git snapshot using gpxelinux.0
>>
>> When using 3.73 everything is fine.
>> When using 3.74pre1 and later I've got the following behavior :
>>
>> The boot process is stopped just after displaying this line :
>>
>> PXELINUX 3.74 pre1-7-gb83eb9f Copyright (c) 1994-2008 H. Peter Anvin
>>
>> I can reproduce the problem under vmware server 1.0, and also on a server.
>>
>
> What hardware is in the server?
I am able to reproduce this on bochs.
>> After testing several snapshots, it looks like the following commit
>> broke gpxelinux.0 :
>>
>> "pxelinux: clean up and correct the entry point search"
>>
>> 51f563a2e52d1e2668e7b7a3d480c4f1e4b89d97
>>
>> http://git.kernel.org/?p=boot/syslinux/syslinux.git;a=commit;h=51f563a2e52d1e2668e7b7a3d480c4f1e4b89d97
>
> Hm... any way I could get you to try plain pxelinux.0 as well?
Happens with pxelinux.0 too.
With the help of bochs debugger i was able to find this:
pxelinux.lst:
1060 00007C61 0FB52E[6026] lgs bp,[InitStack] ; GS:BP -> original stack
1061 00007C66 65C45E30 les bx,[gs:bp+48]
1062 00007C6A E8(9D15) call is_pxe
1063 00007C6D 0F842001 je have_pxe
...
5264 is_pxe equ is_struc.pxe
5265 is_pxenv equ is_struc.pxenv
5266 is_struc:
5267 .pxe:
5268 0000919D 2666813F21505845 cmp dword [es:bx],'!PXE'
bochsdbg:
<bochs:7> p
Next at t=36890078
(0) [0x00007c61] 0000:7c61 (unk. ctxt): lgs bp, ds:0x2e60 ; 0fb52e602e
<bochs:8> p
Next at t=36890079
(0) [0x00007c66] 0000:7c66 (unk. ctxt): les bx, gs:[bp+0x30] ; 65c45e30
<bochs:9> p
Next at t=36890080
(0) [0x00007c6a] 0000:7c6a (unk. ctxt): call .+0x9930 (0x0000159d) ; e83099
<bochs:10> s
Next at t=36890081
(0) [0x0000159d] 0000:159d (unk. ctxt): add byte ptr ds:[bx+si], al ; 0000
<bochs:11> p
The call to is_pxe doesn't end up where it should (0000:159d instead of 0000:919d).
- Sebastian
More information about the Syslinux
mailing list