                                SYSLINUX

              A bootloader for Linux using MS-DOS floppies

                   Copyright (C) 1994 H. Peter Anvin

This program is provided under the terms of the GNU General Public
License, version 2 or, at your option, any later version.  There is no
warranty, neither expressed nor implied, to the function of this
program.  Please see the included file COPYING for details.

SYSLINUX is a boot loader for the Linux operating system which operates
off MS-DOS floppies.  It is intended to simplify first-time installation
of Linux.  It is *not* intended to be used as a general purpose boot
loader; once the operating system is installed I recommend LILO as the
boot loader, except for people whose root filesystem is a UMSDOS
filesystem (where a DOS defragmenter could wreck havoc with LILO's
carefully set up block tables) -- for them I recommend Loadlin (which
loads Linux from the DOS command line).

SYSLINUX could, however, in conjunction with the UMSDOS filesystem,
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.

   ++++ CREATING A BOOTABLE LINUX FLOPPY +++

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:

        SYSLINUX drive: [default command line]

For example:

        SYSLINUX a: vmlinux root=/dev/hda1

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

Now when the floppy is booted, it will load the Linux kernel from the
file VMLINUX and pass it the command line "root=/dev/hda1".

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.

   ++++ MESSAGE FILE FEATURE ++++

If there exists a regular text file named LINUXMSG.TXT in the root
directory of the disk, the content of that file will be displayed to the
screen at boot time, and the boot prompt will be unconditionally
presented.  This is useful to inform users about kernel command line
options, and what kernels are available on the disk.

If the user simply presses <ENTER> at the boot prompt, the default
command line is used.

   ++++ 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 592K 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 sector.

Any file that SYSLINUX uses can be marked hidden, system or readonly if
so is convenient.  SYSLINUX ignores all file attributes.

   ++++ BUG REPORTS ++++

I would appreciate hearing of any problems you have with SYSLINUX.
Please contact me at email <hpa@nwu.edu>.

Sincerely,

                H. Peter Anvin                  Aug 20, 1994
