[syslinux] escape char clutter makes prompt unreadable

Jim Cromie jcromie at divsol.com
Wed Sep 8 13:04:03 PDT 2004


hey folks,

Im using pxelinux to boot a Soekris box (which works fine to a default 
image)

Ive added a bunch of LABEL, KERNEL pairs,
but I cant read the display; Im buried in escape codes.

Ive captured some of it to a typescript file:
it starts out kosher, but goes unreadable rather quickly,

0005520                                          \r   T   F   T   P   .
0005540   /  \b  \r
0005560
*
0005660          \r  \r
0005700
*
0006000              \r 033   [   G   3   ;   0   1   H 033   [   G   3
0006020   ;   9   7   H 033   [   s   P 033   [   u 033   [   G   3   ;
0006040   0   1   H 033   [   s   X 033   [   u 033   [   G   3   ;   0
0006060   1   H 033   [   s   E 033   [   u 033   [   G   3   ;   0   1
0006100   H 033   [   s   L 033   [   u 033   [   G   3   ;   0   1   H
0006120 033   [   s   I 033   [   u 033   [   G   3   ;   0   1   H 033
0006140   [   s   N 033   [   u 033   [   G   3   ;   0   1   H 033   [
0006160   s   U 033   [   u 033   [   G   3   ;   0   1   H 033   [   s
0006200   X 033   [   u 033   [   G   3   ;   0   1   H 033   [   s
0006220 033   [   u 033   [   G   3   ;   0   1   H 033   [   s   2 033


I upgraded to pxelinux 2.11 just to be sure, same results.

Im using picocom, which is simple, and quite usable for
working at a bash shell (more doesnt handle window size changes,
but thats livable).  Minicom feels totally focussed on modem ops,
I was unable to use it for basic serial comm.

FWIW, I tried using a DISPLAY file with lots of <FF>s, (^Ls too)
this did little/nothing to unclutter the screen (but I did see the FFs
show up literally in the window).

I was able to partly clear the screen by adding
the following should say '... booting\n please stand by\n'

tingg booo
yystand bb

If I type a label (blindly), the expected kernel boots.
As soon as the kernel starts booting, it scrolls the clutter off the screen,
and the display becomes readable.

for the kernel, I have
APPEND     console=ttyS0,19200n81
and for pxelinux, I have
SERIAL 0 19200

I looked in keywords for a  TEXT 1 like directive to toggle the display,
is that a reasonable request to make ? (or is there a better way ?)

Related:  this seems to work, (assuming suitable labelname)
DEFAULT $labelname
is that just coincidence ? (it seems not. the line is not 1st or last in 
file)


Less related:
LILO gives me some display issues too; it doubles the chars,
so 2.6.8 label looks like 22..66..88, and it fouls up newlines.

are these both related to an inadequate serial-terminal interface ?
if so, any other recs ?  (maybe a minicom serial-only config?)


Finally, is this a reasonable statement of operations ?
(if so, feel free to use it in FAQs, whereever)

The PXEBOOT protocol starts with client running code from ROM,
which runs BOOTP/DHCP protocol out its network interface. 
Your server's tftpd/dhcpd picks up the request and returns an IP,
and (in our case) pxelinux.0, which is analogous to the MBR
on your hard-disk. 

pxelinux.0 is loaded and run, it  fetches pxelinux.cfg/*
(with * starting at hex version of client IP, and trimming chars, till 
none left,
then fetching 'default', explained better elsewhere)

pxelinux.0 reads the file, promts the user as configured,
then pulls the kernel (and initrd if given), and 'execs' it.

sorry for the verbosity, I wanna be thorough..

tia
jimc




More information about the Syslinux mailing list