[e16e8f2] | 1 | ISOLINUX |
---|
| 2 | |
---|
| 3 | A bootloader for Linux using ISO 9660/El Torito CD-ROMs |
---|
| 4 | |
---|
| 5 | Copyright 1994-2008 H. Peter Anvin - All Rights Reserved |
---|
| 6 | |
---|
| 7 | This program is provided under the terms of the GNU General Public |
---|
| 8 | License, version 2 or, at your option, any later version. There is no |
---|
| 9 | warranty, neither expressed nor implied, to the function of this |
---|
| 10 | program. Please see the included file COPYING for details. |
---|
| 11 | |
---|
| 12 | ---------------------------------------------------------------------- |
---|
| 13 | |
---|
| 14 | ISOLINUX is a boot loader for Linux/i386 that operates off ISO 9660/El |
---|
| 15 | Torito CD-ROMs in "no emulation" mode. This avoids the need to create |
---|
| 16 | an "emulation disk image" with limited space (for "floppy emulation") |
---|
| 17 | or compatibility problems (for "hard disk emulation".) |
---|
| 18 | |
---|
| 19 | This documentation isn't here yet, but here is enough that you should |
---|
| 20 | be able to test it out: |
---|
| 21 | |
---|
| 22 | Make sure you have a recent enough version of mkisofs. I recommend |
---|
| 23 | mkisofs 1.13 (distributed with cdrecord 1.9), but 1.12 might work as |
---|
| 24 | well (not tested.) |
---|
| 25 | |
---|
| 26 | To create an image, create a directory called "isolinux" (or, if you |
---|
| 27 | prefer, "boot/isolinux") underneath the root directory of your ISO |
---|
| 28 | image master file tree. Copy isolinux.bin, a config file called |
---|
| 29 | "isolinux.cfg" (see syslinux.txt for details on the configuration |
---|
| 30 | file), and all necessary files (kernels, initrd, display files, etc.) |
---|
| 31 | into this directory, then use the following command to create your ISO |
---|
| 32 | image (add additional options as appropriate, such as -J or -R): |
---|
| 33 | |
---|
| 34 | mkisofs -o <isoimage> \ |
---|
| 35 | -b isolinux/isolinux.bin -c isolinux/boot.cat \ |
---|
| 36 | -no-emul-boot -boot-load-size 4 -boot-info-table \ |
---|
| 37 | <root-of-iso-tree> |
---|
| 38 | |
---|
| 39 | (If you named the directory boot/isolinux that should of course be |
---|
| 40 | -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat.) |
---|
| 41 | |
---|
| 42 | ISOLINUX resolves pathnames the following way: |
---|
| 43 | |
---|
| 44 | - A pathname consists of names separated by slashes, Unix-style. |
---|
| 45 | - A leading / means it searches from the root directory; otherwise the |
---|
| 46 | search is from the isolinux directory (think of this as the "current |
---|
| 47 | directory".) |
---|
| 48 | - . and .. in pathname searches are not supported. |
---|
| 49 | - The maximum length of any pathname is 255 characters. |
---|
| 50 | |
---|
| 51 | Note that ISOLINUX only uses the "plain" ISO 9660 filenames, i.e. it |
---|
| 52 | does not support Rock Ridge or Joliet filenames. It can still be used |
---|
| 53 | on a disk which uses Rock Ridge and/or Joliet extensions, of course. |
---|
| 54 | Under Linux, you can verify the plain filenames by mounting with the |
---|
| 55 | "-o norock,nojoliet" option to the mount command. Note, however, that |
---|
| 56 | ISOLINUX does support "long" (level 2) ISO 9660 plain filenames, so if |
---|
| 57 | compatibility with short-names-only operating systems like MS-DOS is |
---|
| 58 | not an issue, you can use the "-l" or "-iso-level 2" option to mkisofs |
---|
| 59 | to generate long (up to 31 characters) plain filenames. |
---|
| 60 | |
---|
| 61 | ISOLINUX does not support discontiguous files, interleaved mode, or |
---|
| 62 | logical block and sector sizes other than 2048. This should normally |
---|
| 63 | not be a problem. |
---|
| 64 | |
---|
| 65 | ISOLINUX is by default built in two versions, one version with extra |
---|
| 66 | debugging messages enabled. If you are having problems with ISOLINUX, |
---|
| 67 | I would greatly appreciate if you could try out the debugging version |
---|
| 68 | (isolinux-debug.bin) and let me know what it reports. The debugging |
---|
| 69 | version does not include hybrid mode support (see below.) |
---|
| 70 | |
---|
| 71 | |
---|
| 72 | ++++ NOTE ON THE CONFIG FILE DIRECTORY ++++ |
---|
| 73 | |
---|
| 74 | ISOLINUX will search for the config file directory in the order |
---|
| 75 | /boot/isolinux, /isolinux, /. The first directory that exists is |
---|
| 76 | used, even if it contains no files. Therefore, please make sure that |
---|
| 77 | these directories don't exist if you don't want ISOLINUX to use them. |
---|
| 78 | |
---|
| 79 | |
---|
| 80 | ++++ HYBRID CD-ROM/HARD DISK MODE ++++ |
---|
| 81 | |
---|
| 82 | Starting in version 3.72, ISOLINUX supports a "hybrid mode" which can |
---|
| 83 | be booted from either CD-ROM or from a device which BIOS considers a |
---|
| 84 | hard disk or ZIP disk, e.g. a USB key or similar. |
---|
| 85 | |
---|
| 86 | To enable this mode, the .iso image should be postprocessed with the |
---|
| 87 | "isohybrid" script from the utils directory: |
---|
| 88 | |
---|
| 89 | isohybrid filename.iso |
---|
| 90 | |
---|
| 91 | This script creates the necessary additional information to be able to |
---|
| 92 | boot in hybrid mode. It also pads out the image to an even multiple |
---|
| 93 | of 1 MB. |
---|
| 94 | |
---|
| 95 | This image can then be copied using any raw disk writing tool (on Unix |
---|
| 96 | systems, typically "dd" or "cat") to a USB disk, or written to a |
---|
| 97 | CD-ROM using standard CD burning tools. |
---|
| 98 | |
---|
| 99 | The ISO 9660 filesystem is encapsulated in a partition (which starts |
---|
| 100 | at offset zero, which may confuse some systems.) This makes it |
---|
| 101 | possible for the operating system, once booted, to use the remainder |
---|
| 102 | of the device for persistent storage by creating a second partition. |
---|