syslinux

SYSLINUX(1)							   SYSLINUX(1)



NAME
       syslinux - install the SYSLINUX bootloader on a FAT filesystem

SYNOPSIS
       syslinux [-sfr] [-d directory] [-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 spe-
       cial-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 configuration 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(8)  -style  "boot:"
       prompt.	The user can then type a kernel file name followed by any ker-
       nel 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 syslinux. This ver-
	      sion 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.

       -f     Force install even if it appears unsafe.

       -r     RAID mode.  If boot fails, tell the BIOS to boot the next device
	      in the boot sequence (usually the next  hard  disk)  instead  of
	      stopping with an error message.  This is useful for RAID-1 boot-
	      ing.

       -d subdirectory
	      Install the SYSLINUX control files in a  subdirectory  with  the
	      specified name (relative to the root directory on the device).

       -o offset
	      Indicates	 that  the filesystem is at an offset from the base of
	      the device or file.

FILES
   Configuration file
       All the configurable defaults in syslinux can be changed by  putting  a
       file called syslinux.cfg in the root directory of the boot floppy. This
       is a text file in either UNIX or DOS format, containing one or more  of
       the following 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  specified	 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 per-
	      mitting explicitly entered kernel options to override them. This
	      is the equivalent of the lilo(8)
	       "append" option.

       label label
	 kernel image
	 append options ...
	      Indicates	 that  if label is entered as the kernel to boot, sys-
	      linux 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  filenames,  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 kernel; 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" statement.	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 "baudrate" is omitted, the
	      baud rate defaults to 9600 bps.  The serial parameters are hard-
	      coded to be 8 bits, no parity, 1 stop bit.

	      For  this directive to be guaranteed to work properly, it should
	      be the first directive in the configuration 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 remapper 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(8) from the lilo(8)
	       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
       f10 filename
       f11 filename
       f12 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  (presumably  for the kernel command line
	      options.)

	      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.  For
	      f10-f12, hit <Ctrl-F>A, <Ctrl-F>B, <Ctrl-F>C.  For  compatiblity
	      with earlier versions, f10 can also be entered as <Ctrl-F>0.

   Display file format
       DISPLAY	and  function-key  help	 files are text files in either DOS or
       UNIX format (with or without <CR>). In addition, 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	 fore-
	      ground 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 "ppm-
	      tolss16" 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 graph-
	      ics 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 sys-
       tems (such as MS-DOS and its derivatives, including Windows 95/98),  as
       well  as	 COMBOOT-style	standalone  executables	 (a subset of DOS .COM
       files; see separate section below.)

       Chain loading requires the boot sector of the foreign operating	system
       to  be  stored  in  a  file  in	the  root directory 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 file-
       name is not found. Filenames in KERNEL statements must be fully	quali-
       fied.

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

       ·      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 syslinux prompt. Note especially that INT  21h  AH=4Ch,  INT
	      21h AH=31h or INT 27h are not supported.

       ·      Only the fields pspInt20 at offset 00h, pspNextParagraph at off-
	      set 02h and pspCommandTail at offset 80h (contains the arguments
	      from  the	 syslinux  command line) in the PSP are supported. All
	      other fields will contain zero.

       ·      The program must not modify any main memory outside its 64K seg-
	      ment if it returns to syslinux via INT 20h.

       Syslinux	 currently doesn’t provide any form of API for the use of COM-
       BOOT 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  displayed 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  sec-
       tor

       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:

       ·      Use the -s (safe, slow and stupid) option to SYSLINUX

       ·      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.

       Of course, you probably want to use ISOLINUX instead.  See the documen-
       tation file isolinux.doc.

   Booting from a FAT partition on a hard disk
       SYSLINUX can boot from a	 FAT  filesystem  partition  on	 a  hard  disk
       (including  FAT32). The installation procedure is identical to the pro-
       cedure 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. A sample master boot sector (mbr.bin) is included with SYSLINUX.

BUGS
       I would appreciate hearing of any problems you have with	 SYSLINUX.   I
       would  also  like  to  hear from you if you have successfully used SYS-
       LINUX, 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(8), keytab-lilo.pl(8), fdisk(8), mkfs(8), superformat(1).

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



SYSLINUX		       18 December 2007			   SYSLINUX(1)

Personal Tools