isolinux

2
ISOLINUX A bootloader for Linux using ISO 9660/El Torito CD-ROMs Copyright 1994-2008 H. Peter Anvin - All Rights Reserved 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. ---------------------------------------------------------------------- ISOLINUX is a boot loader for Linux/i386 that operates off ISO 9660/El Torito CD-ROMs in "no emulation" mode. This avoids the need to create an "emulation disk image" with limited space (for "floppy emulation") or compatibility problems (for "hard disk emulation".) This documentation isn't here yet, but here is enough that you should be able to test it out: Make sure you have a recent enough version of mkisofs. I recommend mkisofs 1.13 (distributed with cdrecord 1.9), but 1.12 might work as well (not tested.) To create an image, create a directory called "isolinux" (or, if you prefer, "boot/isolinux") underneath the root directory of your ISO image master file tree. Copy isolinux.bin, a config file called "isolinux.cfg" (see syslinux.txt for details on the configuration file), and all necessary files (kernels, initrd, display files, etc.) into this directory, then use the following command to create your ISO image (add additional options as appropriate, such as -J or -R): mkisofs -o <isoimage> \ -b isolinux/isolinux.bin -c isolinux/boot.cat \ -no-emul-boot -boot-load-size 4 -boot-info-table \ <root-of-iso-tree> (If you named the directory boot/isolinux that should of course be -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat.) ISOLINUX resolves pathnames the following way: - A pathname consists of names separated by slashes, Unix-style. - A leading / means it searches from the root directory; otherwise the search is from the isolinux directory (think of this as the "current directory".) - . and .. in pathname searches are not supported. - The maximum length of any pathname is 255 characters. Note that ISOLINUX only uses the "plain" ISO 9660 filenames, i.e. it does not support Rock Ridge or Joliet filenames. It can still be used on a disk which uses Rock Ridge and/or Joliet extensions, of course. Under Linux, you can verify the plain filenames by mounting with the "-o norock,nojoliet" option to the mount command. Note, however, that ISOLINUX does support "long" (level 2) ISO 9660 plain filenames, so if compatibility with short-names-only operating systems like MS-DOS is not an issue, you can use the "-l" or "-iso-level 2" option to mkisofs to generate long (up to 31 characters) plain filenames.

Upload: snamprog

Post on 21-Jul-2016

5 views

Category:

Documents


1 download

TRANSCRIPT

ISOLINUX

A bootloader for Linux using ISO 9660/El Torito CD-ROMs

Copyright 1994-2008 H. Peter Anvin - All Rights Reserved

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

----------------------------------------------------------------------

ISOLINUX is a boot loader for Linux/i386 that operates off ISO 9660/ElTorito CD-ROMs in "no emulation" mode. This avoids the need to createan "emulation disk image" with limited space (for "floppy emulation")or compatibility problems (for "hard disk emulation".)

This documentation isn't here yet, but here is enough that you shouldbe able to test it out:

Make sure you have a recent enough version of mkisofs. I recommendmkisofs 1.13 (distributed with cdrecord 1.9), but 1.12 might work aswell (not tested.)

To create an image, create a directory called "isolinux" (or, if youprefer, "boot/isolinux") underneath the root directory of your ISOimage master file tree. Copy isolinux.bin, a config file called"isolinux.cfg" (see syslinux.txt for details on the configurationfile), and all necessary files (kernels, initrd, display files, etc.)into this directory, then use the following command to create your ISOimage (add additional options as appropriate, such as -J or -R):

mkisofs -o <isoimage> \-b isolinux/isolinux.bin -c isolinux/boot.cat \-no-emul-boot -boot-load-size 4 -boot-info-table \<root-of-iso-tree>

(If you named the directory boot/isolinux that should of course be-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat.)

ISOLINUX resolves pathnames the following way:

- A pathname consists of names separated by slashes, Unix-style.- A leading / means it searches from the root directory; otherwise the search is from the isolinux directory (think of this as the "current directory".)- . and .. in pathname searches are not supported.- The maximum length of any pathname is 255 characters.

Note that ISOLINUX only uses the "plain" ISO 9660 filenames, i.e. itdoes not support Rock Ridge or Joliet filenames. It can still be usedon a disk which uses Rock Ridge and/or Joliet extensions, of course.Under Linux, you can verify the plain filenames by mounting with the"-o norock,nojoliet" option to the mount command. Note, however, thatISOLINUX does support "long" (level 2) ISO 9660 plain filenames, so ifcompatibility with short-names-only operating systems like MS-DOS isnot an issue, you can use the "-l" or "-iso-level 2" option to mkisofsto generate long (up to 31 characters) plain filenames.

ISOLINUX does not support discontiguous files, interleaved mode, orlogical block and sector sizes other than 2048. This should normallynot be a problem.

ISOLINUX is by default built in two versions, one version with extradebugging messages enabled. If you are having problems with ISOLINUX,I would greatly appreciate if you could try out the debugging version(isolinux-debug.bin) and let me know what it reports.

YOU MAY WANT TO CONSIDER USING THE DEBUGGING VERSION BY DEFAULT.

++++ NOTE ON THE CONFIG FILE DIRECTORY ++++

ISOLINUX will search for the config file directory in the order/boot/isolinux, /isolinux, /. The first directory that exists isused, even if it contains no files. Therefore, please make sure thatthese directories don't exist if you don't want ISOLINUX to use them.

++++ BOOTING DOS (OR OTHER SIMILAR OPERATING SYSTEMS) ++++

WARNING: This feature depends on BIOS functionality which isapparently broken in a very large number of BIOSes. Therefore, thismay not work on any particular system. No workaround is possible; ifyou find that it doesn't work please complain to your vendor andindicate that "BIOS INT 13h AX=4C00h fails."

To boot DOS, or other real-mode operating systems (protected-modeoperating systems may or may not work correctly), using ISOLINUX, youneed to prepare a disk image (usually a floppy image, but a hard diskimage can be used on *most* systems) with the relevant operatingsystem. This file should be included on the CD-ROM in the /isolinuxdirectory, and have a .img extension. The ".img" extension does nothave to be specified on the command line, but has to be explicitlyspecified if used in a "kernel" statement in isolinux.cfg.

For a floppy image, the size of the image should be exactly one of thefollowing:

1,228,800 bytes - For a 1200K floppy image1,474,560 bytes - For a 1440K floppy image2,949,120 bytes - For a 2880K floppy image

Any other size is assumed to be a hard disk image. In order to workon as many systems as possible, a hard disk image should have exactlyone partition, marked active, that covers the entire size of the diskimage file. Even so, hard disk images are not supported on allBIOSes.