syslinux
SYSLINUX(X)                                           SYSLINUX(X)



NAME
       syslinux - bootloader for Linux using MS-DOS floppies

SYNOPSIS
       syslinux [ -s ] [ -f ] [ -o offset  ] device

DESCRIPTION
       Syslinux  is  a boot loader for the Linux operating system
       which operates off an MS-DOS/Windows FAT filesystem. It is
       intended to simplify first-time installation of Linux, and
       for creation of  rescue  and  other  special-purpose  boot
       disks.

       In order to create a bootable Linux floppy using Syslinux,
       prepare a normal MS-DOS formatted floppy. Copy one or more
       Linux kernel files to it, then execute the command:

              syslinux /dev/fd0

       This  will  alter  the  boot sector on the disk and copy a
       file named LDLINUX.SYS into its root directory.

       On boot time, by default, the kernel will be  loaded  from
       the  image  named  LINUX on the boot floppy.  This default
       can be changed, see the section on the syslinux configura-
       tion file.

       If the Shift or Alt keys are held down during boot, or the
       Caps or Scroll locks are  set,  syslinux  will  display  a
       lilo(o)  -style  "boot:"  prompt. The user can then type a
       kernel file name followed by any  kernel  parameters.  The
       syslinux  loader  does  not  need to know about the kernel
       file in advance; all that is required is that it is a file
       located in the root directory on the disk.

       Syslinux supports the loading of initial ramdisks (initrd)
       and the bzImage kernel format.

OPTIONS
       -s     Install a "safe, slow and stupid" version  of  sys-
              linux.  This  version  may  work on some very buggy
              BIOSes on which syslinux would otherwise fail.   If
              you  find  a  machine  on  which  the  -s option is
              required to make it boot reliably, please  send  as
              much  info  about  your  machine  as  you  can, and
              include the failure mode.

FILES
   Configuration file
       All the configurable defaults in syslinux can  be  changed
       by  putting  a file called SYSLINUX.CFG in the root direc-
       tory of the boot floppy. This is a  text  file  in  either
       UNIX  or DOS format, containing one or more of the follow-
       ing items (case is insensitive for keywords).

       In the configuration file blank lines  and  comment  lines
       beginning with a hash mark (#) are ignored.

       default kernel [ options ... ]
              Sets  the  default  command line. If syslinux boots
              automatically, it will act just as if  the  entries
              after  "default"  had  been typed in at the "boot:"
              prompt.

              If  no  configuration  file  is  present,   or   no
              "default"  entry  is  present  in the configuration
              file, the default is "linux auto".

       NOTE: Earlier versions of SYSLINUX used to automatically
              append the string "auto" to whatever the user spec-
              ified  using  the  DEFAULT  command.  As of version
              1.54, this is no longer true, as it caused problems
              when using a shell as a substitute for "init."  You
              may want to include this option manually.

       append options ...
              Add one or more options to the kernel command line.
              These  are  added  both  for  automatic  and manual
              boots. The options are added at the very  beginning
              of  the  kernel  command  line,  usually permitting
              explicitly entered kernel options to override them.
              This is the equivalent of the lilo(o)
               "append" option.

       label label
         kernel image
         append options ...
              Indicates that if label is entered as the kernel to
              boot, syslinux should instead boot image,  and  the
              specified  "append"  options should be used instead
              of the ones specified in the global section of  the
              file   (before  the  first  "label"  command.)  The
              default for image is the same as label, and  if  no
              "append"  is given the default is to use the global
              entry (if any).  Use "append -" to use  no  options
              at all.  Up to 128 "label" entries are permitted.

              Notes: Labels are mangled as if they were DOS file-
                     names, and must be  unique  after  mangling.
                     For   example,   two  labels  "v2.1.30"  and
                     "v2.1.31" will not be distinguishable.

                     The "image" doesn't have to be a Linux  ker-
                     nel;  it  can  be a boot sector or a COMBOOT
                     file (see below.)

       implicit flag_val
              If flag_val is 0, do not load a kernel image unless
              it  has  been  explicitly named in a "label" state-
              ment.  The default is 1.

       timeout timeout
              Indicates how long to wait at  the  "boot:"  prompt
              until  booting  automatically,  in units of 1/10 s.
              The timeout is cancelled as soon as the user  types
              anything on the keyboard, the assumption being that
              the user will complete  the  command  line  already
              begun.  A  timeout of zero will disable the timeout
              completely, this is also the default.  The  maximum
              possible  timeout  value is 35996; corresponding to
              just below one hour.

       serial port [ baudrate ]
              Enables a serial port to act as the console. "port"
              is a number (0 = /dev/ttyS0 = COM1, etc.); if "bau-
              drate" is omitted, the baud rate defaults  to  9600
              bps.   The  serial parameters are hardcoded to be 8
              bits, no parity, 1 stop bit.

              For this directive to be guaranteed to  work  prop-
              erly,  it should be the first directive in the con-
              figuration file.

       font filename
              Load a font in .psf format  before  displaying  any
              output  (except the copyright line, which is output
              as ldlinux.sys itself  is  loaded.)  syslinux  only
              loads  the  font  onto  the video card; if the .psf
              file contains a Unicode table it is ignored.   This
              only  works  on  EGA  and  VGA  cards; hopefully it
              should do nothing on others.

       kbdmap keymap
              Install a simple keyboard map. The keyboard  remap-
              per  used  is very simplistic (it simply remaps the
              keycodes received from the BIOS, which  means  that
              only  the  key combinations relevant in the default
              layout - usually U.S.  English - can be mapped) but
              should  at  least  help people with AZERTY keyboard
              layout and the locations of = and  ,  (two  special
              characters used heavily on the Linux kernel command
              line.)

              The included  program  keytab-lilo.pl(l)  from  the
              lilo(o)
               distribution can be used to create such keymaps.

       display filename
              Displays  the  indicated file on the screen at boot
              time  (before  the  boot:  prompt,  if  displayed).
              Please  see  the section below on DISPLAY files. If
              the file is missing, this option is simply ignored.

       prompt flag_val
              If  flag_val  is 0, display the "boot:" prompt only
              if the Shift or Alt key is pressed, or Caps Lock or
              Scroll  lock  is  set  (this  is  the default).  If
              flag_val is 1, always display the "boot:" prompt.

       f1 filename
       f2 filename
       ...
       f9 filename
       f0 filename
              Displays the indicated file on the  screen  when  a
              function key is pressed at the "boot:" prompt. This
              can be used to implement pre-boot online help (pre-
              sumably for the kernel command line options.) there
              is currently no way to bind file names to  F11  and
              F12. Please see the section below on display files.

              When  using  the  serial  console,   press   <Ctrl-
              F><digit>  to  get to the help screens, e.g. <Ctrl-
              F>2 to get to the f2 screen, and <Ctrl-F>0 for  the
              f10 one.

   Display file format
       DISPLAY  and  function-key  help  files  are text files in
       either DOS or UNIX format (with or without <CR>). In addi-
       tion, the following special codes are interpreted:

       <FF> = <Ctrl-L> = ASCII 12
              Clear  the  screen, home the cursor.  Note that the
              screen is filled with the current display color.

       <SI><bg><fg>, <SI> = <Ctrl-O> = ASCII 15
              Set the display colors to the specified  background
              and  foreground colors, where <bg> and <fg> are hex
              digits, corresponding to the  standard  PC  display
              attributes:

              0 = black          8 = dark grey
              1 = dark blue      9 = bright blue
              2 = dark green     a = bright green
              3 = dark cyan      b = bright cyan
              4 = dark red       c = bright red
              5 = dark purple    d = bright purple
              6 = brown          e = yellow
              7 = light grey     f = white

              Picking  a  bright  color  (8-f) for the background
              results in the corresponding dark color (0-7), with
              the foreground flashing.

              colors are not visible over the serial console.

       <CAN>filename<newline>, <CAN> = <Ctrl-X> = ASCII 24
              If  a  VGA  display is present, enter graphics mode
              and display the graphic included in  the  specified
              file.   The  file format is an ad hoc format called
              LSS16; the included Perl program  "ppmtolss16"  can
              be used to produce these images.  This Perl program
              also includes the file format specification.

              The image is displayed in  640x480  16-color  mode.
              Once  in graphics mode, the display attributes (set
              by <SI> code sequences) work slightly  differently:
              the background color is ignored, and the foreground
              colors are the 16 colors  specified  in  the  image
              file.   For  that  reason, ppmtolss16 allows you to
              specify that certain colors should be  assigned  to
              specific color indicies.

              Color  indicies  0  and 7, in particular, should be
              chosen with care: 0 is the background color, and  7
              is  the color used for the text printed by SYSLINUX
              itself.

       <EM>, <EM> = <Ctrl-U> = ASCII 25
              If we are currently in  graphics  mode,  return  to
              text mode.

       <DLE>..<ETB>, <Ctrl-P>..<Ctrl-W> = ASCII 16-23
              These  codes  can  be used to select which modes to
              print a certain part of the message file in.   Each
              of  these  control characters select a specific set
              of modes  (text  screen,  graphics  screen,  serial
              port) for which the output is actually displayed:

              Character                       Text    Graph   Serial
              ------------------------------------------------------
              <DLE> = <Ctrl-P> = ASCII 16     No      No      No
              <DC1> = <Ctrl-Q> = ASCII 17     Yes     No      No
              <DC2> = <Ctrl-R> = ASCII 18     No      Yes     No
              <DC3> = <Ctrl-S> = ASCII 19     Yes     Yes     No
              <DC4> = <Ctrl-T> = ASCII 20     No      No      Yes
              <NAK> = <Ctrl-U> = ASCII 21     Yes     No      Yes
              <SYN> = <Ctrl-V> = ASCII 22     No      Yes     Yes
              <ETB> = <Ctrl-W> = ASCII 23     Yes     Yes     Yes

              For example:
              <DC1>Text mode<DC2>Graphics mode<DC4>Serial port<ETB>
               ... will actually print out which mode the console
              is in!

       <SUB> = <Ctrl-Z> = ASCII 26
              End of file (DOS convention).

   Comboot Images and other operating systems
       This version of syslinux supports chain loading  of  other
       operating  systems  (such  as  MS-DOS and its derivatives,
       including Windows 95/98), as well as  COMBOOT-style  stan-
       dalone  executables (a subset of DOS .COM files; see sepa-
       rate section below.)

       Chain loading requires the  boot  sector  of  the  foreign
       operating system to be stored in a file in the root direc-
       tory of the filesystem.  Because  neither  Linux  kernels,
       boot  sector images, nor COMBOOT files have reliable magic
       numbers, syslinux will look at  the  file  extension.  The
       following extensions are recognised:

       none or other    Linux kernel image
       CBT              COMBOOT image (not runnable from DOS)
       BSS              Boot sector (DOS superblock will be patched in)
       BS               Boot sector
       COM              COMBOOT image (runnable from DOS)

       For  filenames  given  on  the command line, syslinux will
       search for the file by  adding  extensions  in  the  order
       listed above if the plain filename is not found. Filenames
       in KERNEL statements must be fully qualified.

       A COMBOOT file is a standalone executable in DOS .COM for-
       mat.  They  can,  among  other  things, be produced by the
       Etherboot package by Markus Gutschke and Ken Yap. The fol-
       lowing  requirements  apply  for  these files to be suffi-
       ciently "standalone" for syslinux to be able to  load  and
       run them:

       o      The  program  must not execute any DOS calls (since
              there is no DOS), although it may  call  the  BIOS.
              The  only exception is that the program may execute
              INT 20h (Terminate Program) to return to  the  sys-
              linux  prompt. Note especially that INT 21h AH=4Ch,
              INT 21h AH=31h or INT 27h are not supported.

       o      Only  the  fields  pspInt20  at  offset  00h,  psp-
              NextParagraph  at  offset 02h and pspCommandTail at
              offset 80h (contains the arguments  from  the  sys-
              linux  command  line) in the PSP are supported. All
              other fields will contain zero.

       o      The program must not modify any main memory outside
              its  64K  segment if it returns to syslinux via INT
              20h.

       Syslinux currently doesn't provide any form of API for the
       use  of COMBOOT files.  If there is need, a future version
       may contain an INT interface to some  syslinux  functions;
       please  contact me if you have a need or ideas for such an
       API.

   Novice protection
       Syslinux will attempt to detect if the user is  trying  to
       boot  on  a  286 or lower class machine, or a machine with
       less than 608K of low ("DOS") RAM (which means  the  Linux
       boot  sequence cannot complete).  If so, a message is dis-
       played and the boot sequence aborted.   Holding  down  the
       Ctrl key while booting disables this feature.

       The  compile  time and date of a specific syslinux version
       can be obtained by the  DOS  command  "type  ldlinux.sys".
       This  is  also  used  as the signature for the LDLINUX.SYS
       file, which must match the boot sector

       Any file that syslinux uses can be marked  hidden,  system
       or readonly if so is convenient; syslinux ignores all file
       attributes.  The SYSLINUX installed automatically sets the
       readonly attribute on LDLINUX.SYS.

   Bootable CD-ROMs
       SYSLINUX  can  be  used  to  create bootdisk images for El
       Torito-compatible bootable CD-ROMs.  However,  it  appears
       that  many  BIOSes are very buggy when it comes to booting
       CD-ROMs. Some users have reported that the following steps
       are  helpful  in  making  a CD-ROM that is bootable on the
       largest possible number of machines:

       o      Use the -s (safe, slow and stupid) option  to  SYS-
              LINUX

       o      Put the boot image as close to the beginning of the
              ISO 9660 filesystem as possible.

       A CD-ROM is so much faster  than  a  floppy  that  the  -s
       option shouldn't matter from a speed perspective.

   Booting from a FAT partition on a hard disk
       SYSLINUX  can boot from a FAT12 or FAT16 filesystem parti-
       tion on a hard  disk  (FAT32,  introduced  in  Windows  95
       OSR-2, is not supported, however.) The installation proce-
       dure is identical to the procedure for installing it on  a
       floppy, and should work under either DOS or Linux. To boot
       from a partition, SYSLINUX needs to  be  launched  from  a
       Master  Boot  Record or another boot loader, just like DOS
       itself would.

BUGS
       SYSLINUX is unsafe to use on any filesystem  that  extends
       past  cylinder  1024.  This is a fundamental limitation of
       the standard BIOS API.

       SYSLINUX will not work (and will  refuse  to  install)  on
       filesystems  with  a  cluster size of more than 16K (typi-
       cally means a filesystem of more than 1 GB.)

   Bug reports
       I would appreciate hearing of any problems you  have  with
       SYSLINUX.   I would also like to hear from you if you have
       successfully used SYSLINUX, especially if you are using it
       for a distribution.

       If you are reporting problems, please include all possible
       information about your system  and  your  BIOS;  the  vast
       majority  of  all problems reported turn out to be BIOS or
       hardware bugs, and I need as much information as  possible
       in order to diagnose the problems.

       There  is  a  mailing  list  for discussion among SYSLINUX
       users and for announcements of new and test  versions.  To
       join,  send  a  message to majordomo@linux.kernel.org with
       the line:

       subscribe syslinux

       in the body of the message. The submission address is sys-
       linux@linux.kernel.org.

SEE ALSO
       lilo(o),  keytab-lilo.pl(l),  fdisk(k), mkfs(s), superfor-
       mat(t).

AUTHOR
       This manual page is a modified  version  of  the  original
       syslinux  documentation by H. Peter Anvin <hpa@zytor.com>.
       The conversion to  a  manpage  was  made  by  Arthur  Korn
       <arthur@korn.ch>.



                           Oct 7, 2000                SYSLINUX(X)