[syslinux] PXE in wonderland

Firas Swidan, PhD frsswdn at gmail.com
Wed Nov 14 13:24:12 PST 2007


Hi,

I have collected a bunch of old PII PCs that I am trying to PXE boot.
There NICs are old and so I use etherboot floppy to emulate a native PXE
boot. I have configured tftp, dhcpd, pxelinux, and all the other stuff.
Everything works fine till pxelinux start booting. Then it stucks after
printing the IP row. 

--------------- pxelinux output -----------------------

PXELINUX 3.10 2005-08-24 Copyright (C) 1994-2005 H. Peter Anvin
UNDI data segment at: 0009D400
UNDI data segment size: 1000
UNDI data segment at: 0009E400
UNDI data segment size: 0AB0
PXE entry point found (we hope) at 9E40:0680
MY IP address seems to be C0A800FC 192.168.0.252
ip=192.168.0.252:192.168.0.1:0.0.0.0:255.255.255.0

--------------- pxelinux output ---------------------

After downloading and struggling a bit with pxelinux assembler code, I
found out the problem: on the top of the file cpuinit.inc that is
included from pxelinux.asm, the instruction "int 16h" causes havoc on my
pc. Literally, a single instruction causes the whole pc to hang.
Amazing! Would have never believed that. Anyhow, I disabled this
instruction, compiled, and ran pxelinux and things went fine till it
tried to download the kernel. For some reason, tftp refused to give the
kernel, with permission denied. Digging more, I found that this is
related to something called "checksum offload" and accompanied with a
checksum error. I have also noticed that my pc's keyboard does not
function at all once pxelinux starts executing.

Now I am not sure how to proceed. I am also wondering if the instruction
"int 16h" has such a far reaching effects. Could it be the reason for
the failing checksum and the not responding keyboard (after all it
managed to stuck my whole pc)?

To be concluded.

Firas.



-- 
Firas Swidan, PhD
Founder and CEO
Olymons: Blessing Machines with Vision (TM)
http://www.olymons.com
P.O.Box 8125
Nazareth 16480
Israel
Cell: +.972.(0)54.733.1788




More information about the Syslinux mailing list