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. |
---|