103 lines
4.5 KiB
Plaintext
103 lines
4.5 KiB
Plaintext
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.
|