Penguin

SysLinux is a BootLoader for Linux which runs off a disk with a FAT FileSystem. Such a floppy can be manipulated using standard file management tools on any OperatingSystem that can access FAT FileSystems. Therefor, SysLinux can completely eliminate the need for distribution of raw diskette images for boot floppies. It is intended to simplify first-time installation of Linux, and for creation of rescue and other special-purpose boot disks.

See also: http://annys.eines.info/cgi-bin/man/man2html?syslinux

Configuration

See an example at http://www.knoppix.net/docs/index.php/GnoppixBootfloppyContent

All the configurable defaults in SysLinux can be changed by putting a file called syslinux.cfg in the root directory of the boot disk. The following options are available:

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.

So, you can include xmodule=fbdev, lang=us or similar options.

APPEND options...
Add one or more options to the Kernel CommandLine. 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.
LABEL label
KERNEL image
Indicates that if label is entered as the Kernel to boot, SysLinux should instead boot image. The default for image is the same as label.
TIMEOUT timeout
Indicates how long to wait at the boot
KBDMAP keymap
Install a simple keyboard map
DISPLAY filename
Displays the indicated file on the screen at boot time (before the boot: prompt, if displayed).
SAY message
Prints the message on the screen.
F1 filename
F2 filename
...etc...
F9 filename
F0 filename
Displays the indicated file on the screen when a function key is pressed at the boot: prompt.

SysLinux also supports a boot-time-loaded InitialRamDisk.

Booting DOS

This is the recommended procedure for creating a SysLinux disk that can boot either DOS or Linux. This example assumes the drive is A: in DOS and /dev/fd0 in Linux; for other drives, substitute the appropriate drive designator.

Under Linux

  1. 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(1) if dosemu(1) has direct device access to the relevant drive): format a: /s or sys a:
  2. Boot Linux. Copy the DOS boot sector from the disk into a file: dd if=/dev/fd0 of=dos.bss bs=512 count=1
  3. Run SysLinux on the disk: syslinux /dev/fd0
  4. Mount the disk and copy the DOS boot sector file to it. The file must have extension .bss: mount -t msdos /dev/fd0 /mnt && cp dos.bss /mnt
  5. Copy the Linux Kernel image(s), initrd(s), etc to the disk, and create/edit syslinux.cfg and help files if desired: cp vmlinux /mnt && cp initrd.gz /mnt
  6. Unmount the disk (if applicable): umount /mnt

Under DOS/Windows only

To make this installation in DOS only, you need the utility copybs.com (included with SysLinux) as well as the syslinux.com installer. If you are on an WinNT-based system (WinNT, Win2k, WinXP or later), use syslinux.exe instead.

  1. 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: format a: /s or sys a:
  2. Copy the DOS boot sector from the disk into a file. The file must have extension .bss: copybs a: a:dos.bss
  3. Run SysLinux on the disk: syslinux a:
  4. Copy the Linux Kernel image(s), initrd(s), etc to the disk, and create/edit syslinux.cfg and help files if desired: copy vmlinux a:, then copy initrd.gz a:

Bootable CDROMs

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

  1. Use the -s (safe, slow and stupid) option to SysLinux
  2. Put the boot image as close to the beginning of the ISO 9660 FileSystem as possible.

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

SysLinux has a companion called ISOLinux which is more suited for this task.

Booting from HardDisk

SysLinux can boot from a FAT12 or FAT16 FileSystem partition on a HardDisk (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.

Under DOS, you can install a standard simple MBR on the primary hard disk by running FDISK /MBR. Then use FDISK to mark the appropriate partition active.

A simple MBR, roughly on par with the one installed by DOS (but unencumbered), is included in the SysLinux distribution.