[syslinux] Garbled menu on ISOLINUX

Eric Ewanco Eric.Ewanco at genband.com
Fri Aug 8 10:52:37 PDT 2014

We have a system that is designed with no VGA port, graphics card, or keyboard, only a serial console.  We're trying to boot a Linux via ISOLINUX.  The problem is that when ISOLINUX comes up, the screen is usually garbled.  Not always; sometimes it's intact, sometimes it's completely blank.  When it is garbled, it is NOT the garbled text of a wrong baud rate.  Rather, it looks like someone is interleaving cursor escape sequences into the text; there are lots of [ and [H and semicolons and digits and so forth.

We were using 4.04 but I downloaded and built 6.02 just to check to see if it had been fixed, and it was not.  Curiously, when I misconfigured the image (I put syslinux.c32 into the wrong directory), the brief message I got (the copyright banner and the error message to press a key to retry) worked just fine on several tries.  Once I fixed that it broke again.

This is an example of what I see:

ISOLINUX 6.02   Copyright (C) 1994-2013 H. Peter Anvin et al

Fourscore and twenty years ago, our forefathers brought forth
                                                             on this continent a new nation -- conceived in liberty and
                                                                                                                       dedicated to the proposition that all men are created equal.
                                                       Now we are engaged in a great Civil War, testing whether this
                                                                                                                    nation, or any nation, can long endure. Wrie agre hmet tona [grea2t;
                                                            b3attlef1iHeld( of Cthat war. We) hve come [to2 dedi;c3ate5 a portioHn of1
          that fi9el9d, 4as a f-inal2 r0e1sting3 la[c2e; for4 th5osHe whoH her.e ave
                                                                                    thei[r li2ves ;t4h8at HthaPt naetitoen mirghtl[ive2.; It 5is4 altogether
                                fHitAting and propnerv that we shouildn do thi.
                                                                               [2;6boot: 0Het2;63Hal3;1Hboot:3;7H

Here much of the text merely disappears at the end.  (I have no idea why there are no carriage returns - I even added them in and verified it and it still omits them.  A Unix-format file I've used in the past works fine in this regard.) Often it's more corrupted, though, sometimes totally unreadable.

Here is what it does when I press ^V at the boot: prompt:

?25l222;16HEHDDo.t0:Copyrightg(C)11994-2013-H.1PeterSAnvintetralAnvin UetX al
[16L[INU2X 46.02  E;HD1D CoHpI(C)i1994-2013)H.NPeter2Anvin.et[alte4r; 1A0nHvi6n .e0t2 al

The BIOS works fine.  Once Linux is booted, it works fine.  GRUB works fine (that's installed at a later stage).  Only ISOLINUX has problems.

I tried changing the baud rate from 115200 to 9600 to no avail.

If I boot an ISOLINUX image that works on another piece of hardware on this piece of hardware, it is also garbled, so I suspect it's related to the hardware - maybe related to the fact that it is headless.  But nothing else has this problem but ISOLINUX.  Is there any way I can absolutely turn VGA totally off (not counting "console 0" which I've already done)?  Maybe by a code hack?

I have tried xterm, urxvt, and cygwin terminal emulators.

I have no idea where these escape sequences could be coming from.  I've search and searched and searched everything on the web SYSLINUX related to no avail.  I've looked at the source code.  Please help!  Thanks.

Here is the configuration file:

serial 0 115200
console 0
default shell
implicit 1
display isolinux.msg
prompt   1
timeout  600
label install
  kernel linux
  append initrd=initrd ramdisk_size=512000 ramdisk_blocksize=4096 splash=silent
quiet preloadlog=/dev/null showopts console=ttyS0,115200n8
label shell
  kernel linux
  append initrd=initrd ramdisk_size=512000 ramdisk_blocksize=4096 splash=silent
quiet preloadlog=/dev/null noinstall showopts console=ttyS0,115200n8

More information about the Syslinux mailing list