[syslinux] Serial console with pxelinux on Soekris net4501

Steve R. Brudenell sbrudene at andrew.cmu.edu
Fri Apr 2 10:04:39 PST 2004


I have a Soekris net4501, which I'm PXE booting using pxelinux. Everything 
seems to be working splendidly, except for the fact that I can't seem to make 
pxelinux understand use the net4501's serial console port correctly.

The net4501 uses the serial console as its primary interface; I'm using a null 
modem cable and minicom to operate with it. At boot, its startup messages go 
out over the serial console and everything works as it should, until the 
point where it gets to finding pxelinux.0 from my tftp server. As soon as the 
bios finds and loads it, I get garbage over minicom that looks like this:


I know it's finding pxelinux.0 and the configuration file corresponding to my 
machine (I've gone so far as to watch traffic with ethereal to determine 
this). It even finds my kernel image and boots it fine, although this seems 
to only be true because the config file has a short timeout.

I have it configured to boot up automatically on a short timeout using the 
serial console, and that works fine. It would seem that this is a problem 
with speed or flow control, but I've been up and down the configuration to no 

My tftp server (hpa's 0.34) looks like this:
/tftpboot/pxelinux.0   ; pxelinux 2.09-pre13
/tftpboot/pxelinux.cfg/01-00-00-24-c1-c2-68   ; named by mac address
/tftpboot/asmodean/bzImage   ; vanilla 2.4.25, config for net4501

The configuration file looks like this:
serial 0 9600 0x303
timeout 20
prompt 1
default asmodean/bzImage ip=dhcp root=/dev/nfs console=ttyS0,9600n81

DHCP (3.0pl2) configured for this host:
filename "pxelinux.0";
next-server my-tftp-server;
root-path net4501-nfs-share;
(the root-path option is there so that the kernel need only run its 
autoconfiguration to find its nfsroot share -- seems an elegant solution 

Minicom (2.00.0) is configured for: 9600 8N1, hardware flow control.

The net4501's bios is set up to use the serial console at 9600, and as you can 
see, I told my kernel to use it at this same speed, and tried to tell 
pxelinux to do it also. The flow control value of 0x303 is only there because 
the /usr/share/doc's said that this is a "common value" corresponding to 
"null modem cable detection." I've also tried: "serial 0 9600 0", "serial 0 
9600", and "serial 0" (since 9600 is the default speed). All of these produce 
identical results. Everything works but pxelinux's output on the serial 

I've hunted up and down the 'net looking for others who have had similar 
problems. I've found websites of people who have used identical setups (i.e., 
a net4501 using pxelinux), and for them it seems to just work. I even copied 
their config files verbatim (how much does line termination matter in config 
files?) ... I got nothin'.

Is there anyone out there who has had a similar problem? Please help :/


More information about the Syslinux mailing list