LinuxCommandLibrary

genisoimage

Create ISO 9660 filesystem images

TLDR

Create an ISO image from the given source directory

$ genisoimage -o [myimage.iso] [path/to/source_directory]
copy

Create an ISO image with files larger than 2GiB by reporting a smaller apparent size for ISO9660 filesystems
$ genisoimage -o -allow-limited-size [myimage.iso] [path/to/source_directory]
copy

SYNOPSIS

genisoimage [options] [-o output.iso] [source directories]

PARAMETERS

-o, --output FILE
    Specify output ISO image filename.

-r, --rock
    Enable Rock Ridge for POSIX attributes and deep directories.

-R, --rr
    Synonym for -r (Rock Ridge).

-J, --joliet
    Enable Joliet for long filenames (Windows-readable).

-V, --volid VOLID
    Set volume ID/label (up to 32 chars).

-A, --publisher ID
    Set publisher/application ID.

-sysid ID
    Set system ID (hardware/OS).

-volset SET
    Set volume set name/sequence.

-volset-size #
    Set volume set size.

-volset-seqno #
    Set volume set sequence number.

-b FILE
    Set El Torito boot image file.

-c FILE
    Set El Torito boot catalog file.

-no-emul-boot
    Use no-emulation for boot image.

-boot-load-size #
    Set boot image sectors to load.

-boot-info-table
    Generate boot info table.

-hfs
    Create hybrid ISO/HFS image for Mac.

-hide list
    Hide files/directories (comma-separated).

-hide-list FILE
    Hide paths listed in FILE.

-path-list FILE
    Limit to paths in FILE.

-graft-points
    Enable graft points (= syntax).

-iso-level 1|2|3
    Set ISO 9660 compliance level.

-l
    Allow lowercase and 30-char filenames (no Joliet).

-D, --omit-version-numbers
    Omit trailing ';1' version numbers.

-N, --no-version-numbers
    No version numbers, allow duplicates.

-pad
    Pad image to full CD/DVD block extent.

-U, --udf
    Enable UDF support (experimental).

-T
    Generate translatable formats.

DESCRIPTION

Genisoimage is a command-line utility for generating ISO 9660 filesystem images, the standard format for optical media like CDs, DVDs, and Blu-ray discs. It captures a directory tree snapshot and produces a binary image ready for burning.

Key features include Rock Ridge extensions (-r) for preserving Unix permissions, symbolic links, and ownership; Joliet extensions (-J) for Windows-compatible long filenames (up to 64 chars); and hybrid modes like HFS (-hfs) for Macintosh interoperability. It supports bootable El Torito images for CDs/DVDs, graft points for complex directory structures, and volume descriptors customization.

Commonly used in Linux for data CDs/DVDs, rescue disks, or software distribution. Genisoimage is part of the cdrtools package, serving as a modern equivalent to the original mkisofs. Images can be verified with isoinfo or mounted via loopback. Limitations include strict ISO level rules (1-3) for compatibility, with Level 1 enforcing 8.3 uppercase filenames unless extensions are enabled. Ideal for legacy optical media authoring.

CAVEATS

Strict ISO rules limit filenames to 8.3 (Level 1) without extensions; large files (>4GB) need UDF. Not ideal for Blu-ray (use xorriso). cdrtools licensing may conflict with GPL tools like cdrkit.

BASIC USAGE EXAMPLES

Simple data ISO:
genisoimage -o cd.iso /home/user/data

Bootable live CD:
genisoimage -r -J -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -o live.iso /path/to/live

GRAFT POINTS

Mount multiple trees:
genisoimage -o multi.iso -graft-points /dir1=/source1 /dir2=/source2
Allows arbitrary directory structures in ISO.

HISTORY

Developed as mkisofs by Eric Allman (CMU, 1990) for CD mastering. Forked into cdrtools by Joerg Schilling (1999) as genisoimage amid licensing disputes. Widely used in Linux distros; superseded by xorriso for multi-session/BD support since 2007.

SEE ALSO

mkisofs(1), cdrecord(1), xorriso(1), growisofs(1), isoinfo(1)

Copied to clipboard