538 lines
31 KiB
HTML
538 lines
31 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
|
|
<!-- saved from url=(0033)http://syslinux.zytor.com/faq.php -->
|
|
<HTML><HEAD><TITLE>SYSLINUX - The Easy-to-use Linux Bootloader</TITLE>
|
|
<META http-equiv=Content-Type content="text/html; charset=gb2312"><!-- These webpages were put together by David Weekly {david@weekly.org}
|
|
on behalf of Peter Anvin. David added HTML formatting, but did not
|
|
susbtantially change the content, which remains Copyright H. Peter
|
|
Anvin. The web formatting was sponsored by Legato Systems
|
|
[www.legato.com] -->
|
|
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
|
|
<BODY text=#e0e0ff vLink=#ffffff aLink=#ffffff link=#ffffff bgColor=#303060>
|
|
<TABLE cellSpacing=0 cellPadding=0 width=550 align=right border=0>
|
|
<TBODY>
|
|
<TR>
|
|
<TD vAlign=bottom align=right><FONT size=+3>SYSLINUX </FONT></TD>
|
|
<TD width=165 rowSpan=2><IMG height=180 alt=[tux]
|
|
src="SYSLINUX - The Easy-to-use Linux Bootloader.files/tuxsmall.gif"
|
|
width=163></TD>
|
|
<TR>
|
|
<TD vAlign=top align=right><FONT size=+1>by H. Peter
|
|
Anvin</FONT></TD></TR></TBODY></TABLE><BR clear=all><BR>
|
|
<CENTER>[ <A href="http://syslinux.zytor.com/index.php">home</A> | <A
|
|
href="http://syslinux.zytor.com/download.php">download</A> | <A
|
|
href="http://syslinux.zytor.com/faq.php">SYSLINUX</A> | <A
|
|
href="http://syslinux.zytor.com/pxe.php">PXELINUX</A> | <A
|
|
href="http://syslinux.zytor.com/iso.php">ISOLINUX</A> | <A
|
|
href="http://syslinux.zytor.com/memdisk.php">MEMDISK</A> | <A
|
|
href="http://syslinux.zytor.com/screenshots.php">screen shots</A> | <A
|
|
href="http://syslinux.zytor.com/hardware.php">hardware</A> | <A
|
|
href="http://syslinux.zytor.com/history.php">changelog</A> | <A
|
|
href="mailto:syslinux@zytor.com">contact</A> ]</CENTER><BR><FONT
|
|
face=trebuchet,times><FONT size=+1><B>{ SYSLINUX Questions }</B></FONT>
|
|
<UL>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#whatis">What is SYSLINUX?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#whatisnot">What is SYSLINUX
|
|
not?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#bootable">How do I create a
|
|
bootable floppy?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#config">How can I configure
|
|
SYSLINUX?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#large">Can SYSLINUX handle
|
|
large (>500K) bzInage kernels?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#format">What is the DISPLAY
|
|
file format?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#otherOS">Can SYSLINUX boot
|
|
other operating systems?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#comboot">What are COMBOOT
|
|
files?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#novice">What protections exist
|
|
in SYSLINUX?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#bootCDs">Does SYSLINUX support
|
|
bootable CDs?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#harddrive">Can I use SYSLINUX
|
|
on a hard drive?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#bugs">What Bugs are Outstanding
|
|
in SYSLINUX?</A>
|
|
<LI><A href="http://syslinux.zytor.com/faq.php#feedback">How can I Give
|
|
Feedback on SYSLINUX?</A> </LI></UL><A name=whatis><B><FONT size=+1>{ What is
|
|
SYSLINUX? }</FONT></B></A>
|
|
<BLOCKQUOTE>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.
|
|
<P>SYSLINUX can be used, when properly set up, to completely eliminate the
|
|
need for distribution of raw diskette images for boot floppies. A SYSLINUX
|
|
floppy can be manipulated using standard MS-DOS (or any other OS that can
|
|
access an MS-DOS filesystem) tools once it has been created. </P></BLOCKQUOTE><A
|
|
name=whatisnot><B><FONT size=+1>{ What SYSLINUX is Not... }</FONT></B></A>
|
|
<BLOCKQUOTE>SYSLINUX is probably not suitable as a general purpose boot
|
|
loader. It can only boot Linux from a FAT filesystem, and not, for example,
|
|
ext2. Since a native Linux implementation will typically use ext2, another
|
|
boot loader (e.g. LILO) is probably more suitable. In a system which actually
|
|
contains DOS or Windows, LOADLIN may be simpler to use.
|
|
<P>However, SYSLINUX has shown itself to be quite useful in a number of
|
|
special-purpose applications. </P></BLOCKQUOTE><A name=bootable><B><FONT
|
|
size=+1>{ How do I Create a Bootable Floppy? }</FONT></B></A>
|
|
<BLOCKQUOTE>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 DOS command:
|
|
<BLOCKQUOTE><CODE>syslinux [-s] a:</CODE> </BLOCKQUOTE>(or whichever drive
|
|
letter is appropriate; the [] meaning -s is optional)
|
|
<P>If you're running in a Win95/98/ME DOS box, you should execute the command
|
|
<CODE><B>lock a:</B></CODE> first. If you're running in a WinNT/2K DOS box,
|
|
you will probably get a dialog box about not getting exclusive access and with
|
|
Abort/Retry/Ignore buttons; people have reported that selecting "Ignore" makes
|
|
the command complete correctly.
|
|
<P>Under Linux, execute the command:
|
|
<BLOCKQUOTE><CODE>syslinux [-s] [-o offset] /dev/fd0</CODE> </BLOCKQUOTE>(or,
|
|
again, whichever device is the correct one.)
|
|
<P>This will alter the boot sector on the disk and copy a file named
|
|
LDLINUX.SYS into its root directory.
|
|
<P>The <CODE>-s</CODE> option, if given, will install a "safe, slow and
|
|
stupid" version of SYSLINUX. This version may work on some very buggy BIOSes
|
|
on which SYSLINUX would otherwise fail. If you find a machine on which the
|
|
<CODE>-s</CODE>option is required to make it boot reliably, please send as
|
|
much info about your machine as you can, and include the failure mode.
|
|
<P>The <CODE>-o</CODE> option is used with a disk image file and specifies the
|
|
byte offset of the filesystem image in the file.
|
|
<P>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 config file.
|
|
<P>If the Shift or Alt keys are held down during boot, or the Caps or Scroll
|
|
locks are set, SYSLINUX will display a LILO-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.
|
|
</P></BLOCKQUOTE><A name=config><B><FONT size=+1>{ How do I Configure SYSLINUX?
|
|
}</FONT></B></A>
|
|
<BLOCKQUOTE>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; upper case is used here
|
|
to indicate that a word should be typed verbatim):
|
|
<P>All options here applies to PXELINUX as well as SYSLINUX unless otherwise
|
|
noted. See pxelinux.doc for additional information on PXELINUX.
|
|
<P><A name=#CMD_DEFAULT><B>DEFAULT</B> <I>kernel options...</I></A>
|
|
<BLOCKQUOTE>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, except that the option "auto" is automatically added,
|
|
indicating an automatic boot.
|
|
<P>If no configuration file is present, or no DEFAULT entry is present in
|
|
the config file, the default is kernel name "linux", with no options.
|
|
</P></BLOCKQUOTE><B>APPEND</B> <I>options...</I>
|
|
<BLOCKQUOTE>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 "append"
|
|
option. </BLOCKQUOTE><B>IPAPPEND</B> <I>flag_val</I> <FONT
|
|
color=#ffc0c0>[PXELINUX only]</FONT>
|
|
<BLOCKQUOTE>The IPAPPEND option is available only on PXELINUX, and indicates
|
|
(if the flag value is 1) that an option of the following format should be
|
|
generated and added:
|
|
<BLOCKQUOTE><CODE><NOBR>ip=<client-ip>:<boot-server-ip>:<gw-ip>:<netmask></NOBR>
|
|
</CODE></BLOCKQUOTE>... based on the input from the DHCP/BOOTP or PXE boot
|
|
server. </BLOCKQUOTE><B>LABEL</B> <I>label</I>
|
|
<BLOCKQUOTE><B>KERNEL</B> <I>image</I><BR><B>APPEND</B>
|
|
<I>options...</I><BR><B>IPAPPEND</B> <I>flag_val</I> <FONT
|
|
color=#ffc0c0>[PXELINUX only]</FONT>
|
|
<P>Indicates that if "label" is entered as the kernel to boot, SYSLINUX
|
|
should instead boot "image", and the specified APPEND and IPAPPEND 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). Up to 128 LABEL entries are permitted. (for ISOLINUX, 64 LABEL
|
|
entries.)
|
|
<P>Note that LILO uses the syntax: <PRE>image = mykernel
|
|
label = mylabel
|
|
append = "myoptions"
|
|
|
|
</PRE>... whereas SYSLINUX uses the syntax: <PRE>label mylabel
|
|
kernel mykernel
|
|
append myoptions
|
|
|
|
</PRE>
|
|
<TABLE width="80%">
|
|
<TBODY>
|
|
<TR>
|
|
<TD vAlign=top><B>Notes:</B></TD>
|
|
<TD>Labels are mangled as if they were filenames, and must be unique
|
|
after mangling. For example, two labels "v2.1.30" and "v2.1.31" will
|
|
not be distinguishable under SYSLINUX, since both mangle to the same
|
|
DOS filename.
|
|
<P>The "kernel" doesn't have to be a Linux kernel; it can be a boot
|
|
sector or a <A
|
|
href="http://syslinux.zytor.com/faq.php#comboot">COMBOOT file</A>
|
|
</P></TD></TR></TBODY></TABLE>
|
|
<P><B>APPEND</B> <CODE>-</CODE>
|
|
<BLOCKQUOTE>Append nothing. APPEND with a single hyphen as argument in a
|
|
LABEL section can be used to override a global APPEND.
|
|
</BLOCKQUOTE><B>LOCALBOOT</B> <I>type</I> <FONT color=#ffc0c0>[ISOLINUX,
|
|
PXELINUX]</FONT>
|
|
<BLOCKQUOTE>On PXELINUX, specifying "LOCALBOOT 0" instead of a "KERNEL"
|
|
option means invoking this particular label will cause a local disk boot
|
|
instead of booting a kernel.
|
|
<P>The argument 0 means perform a normal boot. The argument 4 will perform
|
|
a local boot with the Universal Network Driver Interface (UNDI) driver
|
|
still resident in memory. Finally, the argument 5 will perform a local
|
|
boot with the entire PXE stack, including the UNDI driver, still resident
|
|
in memory. All other values are undefined. If you don't know what the UNDI
|
|
or PXE stacks are, don't worry -- you don't want them, just specify 0.
|
|
<P>On ISOLINUX, the "type" specifies the local drive number to boot from;
|
|
0x00 is the primary floppy drive and 0x80 is the primary hard drive. The
|
|
special value -1 causes ISOLINUX to report failure to the BIOS, which, on
|
|
recent BIOSes, should mean that the next boot device in the boot sequence
|
|
should be activated. </P></BLOCKQUOTE></BLOCKQUOTE><B>IMPLICIT</B>
|
|
<I>flag_val</I>
|
|
<BLOCKQUOTE>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.
|
|
</BLOCKQUOTE><B>TIMEOUT</B> <I>timeout</I>
|
|
<BLOCKQUOTE>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.
|
|
<P>NOTE: The maximum possible timeout value is 35996; corresponding to just
|
|
below one hour. </P></BLOCKQUOTE><A name=CMD_SERIAL><B>SERIAL</B> <I>port
|
|
[baudrate]</I></A>
|
|
<BLOCKQUOTE>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 hardcoded to be 8 bits, no
|
|
parity, 1 stop bit.
|
|
<P>For this directive to be guaranteed to work properly, it should be the
|
|
first directive in the configuration file. </P></BLOCKQUOTE><B>FONT</B>
|
|
<I>filename</I>
|
|
<BLOCKQUOTE>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. </BLOCKQUOTE><B>KBDMAP</B>
|
|
<I>keymap</I>
|
|
<BLOCKQUOTE>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.)
|
|
<P>The included program keytab-lilo.pl from the LILO distribution can be
|
|
used to create such keymaps. The file keytab-lilo.doc contains the
|
|
documentation for this program. </P></BLOCKQUOTE><B>DISPLAY</B>
|
|
<I>filename</I>
|
|
<BLOCKQUOTE>Displays the indicated file on the screen at boot time (before
|
|
the boot: prompt, if displayed). This option takes the place of the
|
|
LINUXMSG.TXT and BOOTMSG.TXT files in SYSLINUX 1.0. Please see the section
|
|
below on DISPLAY files.
|
|
<P>NOTE: If the file is missing, this option is simply ignored.
|
|
</P></BLOCKQUOTE><B>PROMPT</B> <I>flag_val</I>
|
|
<BLOCKQUOTE>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. This option
|
|
takes the place of testing for the LINUXMSG.TXT file in SYSLINUX 1.0.
|
|
</BLOCKQUOTE><B>F1</B> <I>filename</I><BR><B>F2</B>
|
|
<I>filename</I><BR> <I>...etc...</I><BR><B>F9</B>
|
|
<I>filename</I><BR><B>F0</B> <I>filename</I>
|
|
<BLOCKQUOTE>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.) Note that F10 MUST be
|
|
entered in the config file as "F0", not "F10", and that there is currently
|
|
no way to bind file names to F11 and F12. Please see the section below on
|
|
DISPLAY files.
|
|
<P>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. </P></BLOCKQUOTE>In the
|
|
configuration file blank lines and comment lines beginning with a hash mark
|
|
(#) are ignored.
|
|
<P>Note that the configuration file is not completely decoded. Syntax
|
|
different from the one described above may still work correctly in this
|
|
version of SYSLINUX, but may break in a future one. </P></BLOCKQUOTE><A
|
|
name=large><B><FONT size=+1>{ Can SYSLINUX Handle Large Kernels?
|
|
}</FONT></B></A>
|
|
<BLOCKQUOTE>This version of SYSLINUX supports large kernels (bzImage format),
|
|
eliminating the 500K size limit of the zImage kernel format. bzImage format
|
|
kernels are detected automatically and handled transparently to the user.
|
|
<P>This version of SYSLINUX also supports a boot-time-loaded ramdisk (initrd).
|
|
An initrd is loaded from a DOS file if the option "initrd=filename" (where
|
|
filename is the filename of the initrd image; the file must be located in the
|
|
root directory on the boot floppy) is present on the processed command line
|
|
(after APPEND's have been added, etc.). If several initrd options are present,
|
|
the last one has precedence; this permits user-entered options to override a
|
|
config file APPEND. Specifying "initrd=" without a filename inhibits initrd
|
|
loading. The file specified by the initrd= option will typically be a gzipped
|
|
filesystem image.
|
|
<P>NOTE: One of the main advantages with SYSLINUX is that it makes it very
|
|
easy to support users with new or unexpected configurations, especially in a
|
|
distribution setting. If initrd is used to extensively modularize the
|
|
distribution kernel, it is strongly recommended that a simple way of adding
|
|
drivers to the boot floppy be provided. The suggested manner is to let the
|
|
initrd system mount the boot floppy and look for additional drivers in a
|
|
predetermined location.
|
|
<P>To bzImage and recent zImage kernels, SYSLINUX 1.30 and higher will
|
|
identify using the ID byte 0x31. PXELINUX identifies using the ID byte 0x32,
|
|
and ISOLINUX 0x33. The ID range 0x34-0x3f is reserved for future versions of
|
|
derivatives of SYSLINUX. </P></BLOCKQUOTE><A name=format><B><FONT size=+1>{ What
|
|
is the DISPLAY File Format? }</FONT></B></A>
|
|
<BLOCKQUOTE>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:
|
|
<P>
|
|
<TABLE width="80%" border=0>
|
|
<TBODY>
|
|
<TR>
|
|
<TD><B><FF></B></TD>
|
|
<TD align=right><FF> = <Ctrl-L> = ASCII 12</TD></TR>
|
|
<TR>
|
|
<TD></TD>
|
|
<TD>Clear the screen, home the cursor. Note that the screen is filled
|
|
with the current display color. </TD></TR>
|
|
<TR>
|
|
<TD colSpan=2> </TD></TR>
|
|
<TR>
|
|
<TD><B><SI></B><bg><fg></TD>
|
|
<TD align=right><SI> = <Ctrl-O> = ASCII 15</TD></TR>
|
|
<TR>
|
|
<TD></TD>
|
|
<TD>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 <PRE>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
|
|
|
|
</PRE>Picking a bright color (8-f) for the background results in the
|
|
corresponding dark color (0-7), with the foreground flashing.
|
|
<P>Colors are not visible over the serial console. </P></TD></TR>
|
|
<TR>
|
|
<TD colSpan=2> </TD></TR>
|
|
<TR>
|
|
<TD><B><CAN></B><VAR>filename</VAR><B><newline></B></TD>
|
|
<TD align=right><CAN> = <Ctrl-X> = ASCII 24</TD></TR>
|
|
<TR>
|
|
<TD></TD>
|
|
<TD>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.
|
|
<P>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.
|
|
<P>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. </P></TD></TR>
|
|
<TR>
|
|
<TD colSpan=2> </TD></TR>
|
|
<TR>
|
|
<TD><B><EM></B></TD>
|
|
<TD align=right><EM> = <Ctrl-Y> = ASCII 25</TD></TR>
|
|
<TR>
|
|
<TD></TD>
|
|
<TD>If we are currently in graphics mode, return to text mode. </TD></TR>
|
|
<TR>
|
|
<TD colSpan=2> </TD></TR>
|
|
<TR>
|
|
<TD><B><DLE>..<ETB></B></TD>
|
|
<TD align=right><Ctrl-P>..<Ctrl-W> = ASCII 16-23</TD></TR>
|
|
<TR>
|
|
<TD></TD>
|
|
<TD>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: <PRE>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
|
|
</PRE>For example:
|
|
<P><CODE><B><DC1>Text mode<DC2>Graphics
|
|
mode<DC4>Serial port<ETB></B></CODE>
|
|
<P>... will actually print out which mode the console is in! </P></TD></TR>
|
|
<TR>
|
|
<TD colSpan=2> </TD></TR>
|
|
<TR>
|
|
<TD><B><SUB></B></TD>
|
|
<TD align=right><SUB> = <Ctrl-Z> = ASCII 26</TD></TR>
|
|
<TR>
|
|
<TD></TD>
|
|
<TD>End of file (DOS convention). </TD></TR></TBODY></TABLE></P></BLOCKQUOTE><A
|
|
name=otherOS><B><FONT size=+1>{ Can SYSLINUX Boot Other Operating Systems?
|
|
}</FONT></B></A>
|
|
<BLOCKQUOTE>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 standalone executables (a subset of DOS .COM files; see <A
|
|
href="http://syslinux.zytor.com/faq.php#comboot">separate section below</A>.)
|
|
<P>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 <A
|
|
href="http://syslinux.zytor.com/faq.php#comboot">COMBOOT files</A> have
|
|
reliable magic numbers, SYSLINUX will look at the file extension. The
|
|
following extensions are recognized:
|
|
<BLOCKQUOTE>
|
|
<TABLE>
|
|
<TBODY>
|
|
<TR>
|
|
<TD>none or other
|
|
<TD>Linux kernel image
|
|
<TR>
|
|
<TD><CODE>.cbt</CODE>
|
|
<TD><A href="http://syslinux.zytor.com/faq.php#comboot">COMBOOT
|
|
image</A> (not runnable from DOS)
|
|
<TR>
|
|
<TD><CODE>.bss</CODE>
|
|
<TD>Boot sector (DOS superblock will be patched in)
|
|
<TR>
|
|
<TD><CODE>.bs</CODE>
|
|
<TD>Boot sector
|
|
<TR>
|
|
<TD><CODE>.com</CODE>
|
|
<TD><A href="http://syslinux.zytor.com/faq.php#comboot">COMBOOT
|
|
image</A> (runnable from DOS) </TR></TBODY></TABLE></BLOCKQUOTE>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.
|
|
<P><FONT size=+1><B>Can I have an example?</B></FONT>
|
|
<P>Yes! Here's how you can make a SYSLINUX disk that can boot either DOS or
|
|
Linux. The example assumes that the drive is A: in DOS and /dev/fd0 in Linux;
|
|
for other drives, substitute the appropriate drive designator.
|
|
<P><B>Method I: Using both DOS & Linux to make the floppy</B>
|
|
<OL>
|
|
<LI>Make a DOS bootable disk. This can be done either by specifying the /s
|
|
option when formatting the disk in DOS, or by running the DOS command SYS
|
|
(this can be done under DOSEMU if DOSEMU has direct device access to the
|
|
relevant drive):
|
|
<BLOCKQUOTE><CODE><B>format a: /s</B></CODE> </BLOCKQUOTE><I>or</I>
|
|
<BLOCKQUOTE><CODE><B>sys a:</B></CODE> </BLOCKQUOTE>
|
|
<LI>Boot Linux. Copy the DOS boot sector from the disk into a file:
|
|
<BLOCKQUOTE><CODE><B>dd if=/dev/fd0 of=dos.bss bs=512 count=1</B></CODE>
|
|
</BLOCKQUOTE>
|
|
<LI>Run SYSLINUX on the disk:
|
|
<BLOCKQUOTE>[<CODE><B>lock a:</B></CODE> if you're running under
|
|
Win95/98/ME]<BR><CODE><B>syslinux /dev/fd0</B></CODE> </BLOCKQUOTE>
|
|
<LI>Mount the disk and copy the DOS boot sector file to it. The file *must*
|
|
have extension .bss:
|
|
<BLOCKQUOTE><CODE><B>mount -t msdos /dev/fd0 /mnt<BR>cp dos.bss /mnt
|
|
</B></CODE></BLOCKQUOTE>
|
|
<LI>Copy the Linux kernel image(s), initrd(s), etc to the disk, and
|
|
create/edit syslinux.cfg and help files if desired:
|
|
<BLOCKQUOTE><CODE><B>cp vmlinux /mnt<BR>cp initrd.gz /mnt
|
|
</B></CODE></BLOCKQUOTE>
|
|
<LI>Unmount the disk (if applicable.)
|
|
<BLOCKQUOTE><CODE><B>umount /mnt </B></CODE></BLOCKQUOTE></LI></OL><B>Method
|
|
II: Using only DOS to make the floppy</B>
|
|
<P>To make this installation in DOS only, you need the utility copybs.com
|
|
(included with SYSLINUX) as well as the syslinux.com installer.
|
|
<OL>
|
|
<LI>Make a DOS bootable disk. This can be done either by specifying the /s
|
|
option when formatting the disk in DOS, or by running the DOS command SYS:
|
|
<BLOCKQUOTE><CODE><B>format a: /s </B></CODE></BLOCKQUOTE>or
|
|
<BLOCKQUOTE><CODE><B>sys a: </B></CODE></BLOCKQUOTE>
|
|
<LI>Copy the DOS boot sector from the disk into a file. The file *must* have
|
|
extension .bss:
|
|
<BLOCKQUOTE><CODE><B>copybs a: a:dos.bss </B></CODE></BLOCKQUOTE>
|
|
<LI>Run SYSLINUX on the disk:
|
|
<BLOCKQUOTE><CODE><B>syslinux a: </B></CODE></BLOCKQUOTE>
|
|
<LI>Copy the Linux kernel image(s), initrd(s), etc to the disk, and
|
|
create/edit syslinux.cfg and help files if desired:
|
|
<BLOCKQUOTE><CODE><B>copy vmlinux a:<BR>copy initrd.gz a:
|
|
</B></CODE></BLOCKQUOTE></LI></OL></BLOCKQUOTE><A name=comboot><B><FONT
|
|
size=+1>{ What Are COMBOOT Files? }</FONT></B></A>
|
|
<BLOCKQUOTE>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:
|
|
<UL>
|
|
<LI>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.
|
|
<P></P>
|
|
<LI>Only the following fields in the PSP are supported:
|
|
<UL>
|
|
<LI>pspInt20 at offset 00h
|
|
<LI>pspNextParagraph at offset 02h;
|
|
<LI>pspCommandTail at offset 80h (contains the arguments from the SYSLINUX
|
|
command line). </LI></UL>
|
|
<P>All other fields will contain zero.
|
|
<P></P>
|
|
<LI>The program must not modify any main memory outside its 64K segment if
|
|
it returns to SYSLINUX via INT 20h. </LI></UL>SYSLINUX requires that COMBOOT
|
|
files end in ".COM" or ".CBT". Files ending in .COM can be run from the DOS
|
|
command line, files ending in .CBT cannot, otherwise there is no difference.
|
|
SYSLINUX will prefer a .CBT file over a similarly named .COM.
|
|
<P>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. </P></BLOCKQUOTE><A name=novice><B><FONT size=+1>{ What Protections Exist
|
|
In SYSLINUX? }</FONT></B></A>
|
|
<BLOCKQUOTE>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.
|
|
<P>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.
|
|
<P>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. </P></BLOCKQUOTE><A
|
|
name=bootCDs><B><FONT size=+1>{ Does SYSLINUX Support Bootable CDs?
|
|
}</FONT></B></A>
|
|
<BLOCKQUOTE>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:
|
|
<UL>
|
|
<LI>Use the -s (safe, slow and stupid) option to SYSLINUX.
|
|
<LI>Put the boot image as close to the beginning of the ISO 9660 filesystem
|
|
as possible. </LI></UL>A CD-ROM is so much faster than a floppy that the -s
|
|
option shouldn't matter from a speed perspective.
|
|
<P>Of course, you want to use ISOLINUX instead. See <A
|
|
href="http://syslinux.zytor.com/iso.php">isolinux.doc</A>. </P></BLOCKQUOTE><A
|
|
name=harddrive><B><FONT size=+1>{ Can I Use SYSLINUX on a Hard Drive?
|
|
}</FONT></B></A>
|
|
<BLOCKQUOTE>SYSLINUX can boot from a FAT12 or FAT16 filesystem partition on a
|
|
hard disk (FAT32, introduced in Windows 95 OSR-2, is not supported, however.)
|
|
The installation procedure 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.
|
|
<P>Under DOS, you can install a standard simple MBR on the primary hard disk
|
|
by running the command:
|
|
<BLOCKQUOTE><CODE><B>FDISK /MBR </B></CODE></BLOCKQUOTE>Then use the FDISK
|
|
command to mark the appropriate partition active.
|
|
<P>A simple MBR, roughly on par with the one installed by DOS (but
|
|
unencumbered), is included in the SYSLINUX distribution </P></BLOCKQUOTE><A
|
|
name=bugs><B><FONT size=+1>{ What Bugs are Still in SYSLINUX? }</FONT></B></A>
|
|
<BLOCKQUOTE>SYSLINUX is unsafe to use on any filesystem that extends past
|
|
cylinder 1024. This is a fundamental limitation of the standard BIOS API.
|
|
<P>SYSLINUX will not work (and will refuse to install) on filesystems with a
|
|
cluster size of more than 16K (typically means a filesystem of more than 1
|
|
GB.) </P></BLOCKQUOTE><A name=feedback><B><FONT size=+1>{ How Can I Give
|
|
Feedback? }</FONT></B></A>
|
|
<BLOCKQUOTE>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.
|
|
<P>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.
|
|
<P>There is a mailing list for discussion among SYSLINUX users and for
|
|
announcements of new and test versions. To join, please visit <A
|
|
href="http://www.zytor.com/mailman/listinfo/syslinux"><CODE>http://www.zytor.com/mailman/listinfo/syslinux</CODE></A>;
|
|
you can also examine the list archives there.
|
|
<P>Any feedback on these instructions or on the HTML formatting should be
|
|
cc:'ed to <A href="mailto:david@weekly.org">David Weekly</A>.
|
|
</P></BLOCKQUOTE></FONT></BODY></HTML>
|