| 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. |
| |
| ISOLINUX does not support discontiguous files, interleaved mode, or |
| logical block and sector sizes other than 2048. This should normally |
| not be a problem. |
| |
| ISOLINUX is by default built in two versions, one version with extra |
| debugging 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. The debugging |
| version does not include hybrid mode support (see below.) |
| |
| |
| ++++ 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 is |
| used, even if it contains no files. Therefore, please make sure that |
| these directories don't exist if you don't want ISOLINUX to use them. |
| |
| |
| ++++ HYBRID CD-ROM/HARD DISK MODE ++++ |
| |
| Starting in version 3.72, ISOLINUX supports a "hybrid mode" which can |
| be booted from either CD-ROM or from a device which BIOS considers a |
| hard disk or ZIP disk, e.g. a USB key or similar. |
| |
| To enable this mode, the .iso image should be postprocessed with the |
| "isohybrid" script from the utils directory: |
| |
| isohybrid filename.iso |
| |
| This script creates the necessary additional information to be able to |
| boot in hybrid mode. It also pads out the image to an even multiple |
| of 1 MB. |
| |
| This image can then be copied using any raw disk writing tool (on Unix |
| systems, typically "dd" or "cat") to a USB disk, or written to a |
| CD-ROM using standard CD burning tools. |
| |
| The ISO 9660 filesystem is encapsulated in a partition (which starts |
| at offset zero, which may confuse some systems.) This makes it |
| possible for the operating system, once booted, to use the remainder |
| of the device for persistent storage by creating a second partition. |