= isolinux(1) =
:doctype: manpage
:revdate: 2013-06-12
:author: H. Peter Anvin
:author-email: hpa@zytor.com
:editor1: Gene Cumm
:editor1-email: gene.cumm@gmail.com
:editor1-revlast: 2013-06-12


== NAME ==
isolinux - The Syslinux derivative ISOLINUX for ISO9660 CD/DVD media


== SYNOPSIS ==
[verse]
*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'


== DESCRIPTION ==
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".)

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.cfg*(5) for details on the configuration file),
and all necessary files (kernels, initrd, display files, etc.) into this
directory, then use the above command to create your ISO image (add
additional options as appropriate, such as -J or -R).  If you named the
directory boot/isolinux that should of course be +
	-b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat.


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


== MISCELLANEOUS ==
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.)

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


== SEE ALSO ==
*syslinux.cfg*(5), *syslinux-cli*(1), *lilo*(8), *keytab-lilo.pl*(8),
*fdisk*(8), *mkfs*(8), *superformat*(1).


== AUTHOR ==
This AsciiDoc derived document is a modified version of the original
*SYSLINUX* documentation by {author} <{author-email}>.  The conversion
to an AsciiDoc was made by {editor1} <{editor1-email}>
