Document GPT boot protocol; add !GPT signature
[syslinux.git] / doc / isolinux.txt
blob95d24a3d1c2e509d4acef8f925279fd77ec9f8a6
1                                ISOLINUX
3        A bootloader for Linux using ISO 9660/El Torito CD-ROMs
5        Copyright 1994-2008 H. Peter Anvin - All Rights Reserved
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.
12 ----------------------------------------------------------------------
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".)
19 This documentation isn't here yet, but here is enough that you should
20 be able to test it out:
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.)
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):
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>
39 (If you named the directory boot/isolinux that should of course be
40 -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat.)
42 ISOLINUX resolves pathnames the following way:
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.
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.
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.
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.
70 YOU MAY WANT TO CONSIDER USING THE DEBUGGING VERSION BY DEFAULT.
73       ++++ NOTE ON THE CONFIG FILE DIRECTORY ++++
75 ISOLINUX will search for the config file directory in the order
76 /boot/isolinux, /isolinux, /.  The first directory that exists is
77 used, even if it contains no files.  Therefore, please make sure that
78 these directories don't exist if you don't want ISOLINUX to use them.
81       ++++ BOOTING DOS (OR OTHER SIMILAR OPERATING SYSTEMS) ++++
83 WARNING: This feature depends on BIOS functionality which is
84 apparently broken in a very large number of BIOSes.  Therefore, this
85 may not work on any particular system.  No workaround is possible; if
86 you find that it doesn't work please complain to your vendor and
87 indicate that "BIOS INT 13h AX=4C00h fails."
89 To boot DOS, or other real-mode operating systems (protected-mode
90 operating systems may or may not work correctly), using ISOLINUX, you
91 need to prepare a disk image (usually a floppy image, but a hard disk
92 image can be used on *most* systems) with the relevant operating
93 system.  This file should be included on the CD-ROM in the /isolinux
94 directory, and have a .img extension.  The ".img" extension does not
95 have to be specified on the command line, but has to be explicitly
96 specified if used in a "kernel" statement in isolinux.cfg.
98 For a floppy image, the size of the image should be exactly one of the
99 following:
101         1,228,800 bytes         - For a 1200K floppy image
102         1,474,560 bytes         - For a 1440K floppy image
103         2,949,120 bytes         - For a 2880K floppy image
105 Any other size is assumed to be a hard disk image.  In order to work
106 on as many systems as possible, a hard disk image should have exactly
107 one partition, marked active, that covers the entire size of the disk
108 image file.  Even so, hard disk images are not supported on all
109 BIOSes.