There are several extensions to ISO 9660 that relax some of its limitations. Notable examples include
Rock Ridge (Unix-style permissions and longer names),
Joliet (
Unicode, allowing non-
Latin scripts to be used),
El Torito (enables CDs to be
bootable) and the
Apple ISO 9660 Extensions (file characteristics specific to the
classic Mac OS and
macOS, such as
resource forks, file backup date and more).
SUSP System Use Sharing Protocol (SUSP,
IEEE P1281) provides a generic way of including additional properties for any directory entry reachable from the primary volume descriptor (PVD). In an ISO 9660 volume, every directory entry has an optional
system use area whose contents are undefined and left to be interpreted by the system. SUSP defines a method to subdivide that area into multiple system use fields, each identified by a two-character signature tag. The idea behind SUSP was that it would enable any number of independent extensions to ISO 9660 to be created and included on a volume without conflicting. It also allows for the inclusion of property data that would otherwise be too large to fit within the limits of the system use area. SUSP defines several common tags and system use fields: • CE: Continuation area • PD: Padding field • SP: System use sharing protocol indicator • ST: System use sharing protocol terminator • ER: Extensions reference • ES: Extension selector Other known SUSP fields include: • AA: Apple extension, preferred • BA: Apple extension, old (length attribute is missing) • AS: Amiga file properties • ZF: zisofs compressed file, usually produced by program mkzftree or by libisofs. Transparently decompressed by Linux kernel if built with CONFIG_ZISOFS. • AL: records
Extended File Attributes, including
ACLs. Proposed by
libburnia, supported by libisofs. The Apple extensions do not technically follow the SUSP standard; however the basic structure of the AA and AB fields defined by Apple are
forward compatible with SUSP; so that, with care, a volume can use both Apple extensions as well as RRIP extensions.
Rock Ridge The
Rock Ridge Interchange Protocol (RRIP,
IEEE P1282) is an extension which adds
POSIX file system semantics. The availability of these extension properties allows for better integration with
Unix and
Unix-like operating systems. The standard takes its name from the fictional town
Rock Ridge in
Mel Brooks' film
Blazing Saddles. The RRIP extensions are, briefly: • Longer file names (up to 255 bytes) and fewer restrictions on allowed characters (support for lowercase, etc.) • UNIX-style
file modes,
user ids and group ids, and file
timestamps • Support for
symbolic links and
device files • Deeper directory hierarchy (more than 8 levels) • Efficient storage of
sparse files The RRIP extensions are built upon SUSP, defining additional tags for support of POSIX semantics, along with the format and meaning of the corresponding system use fields: • RR: Rock Ridge extensions in-use indicator (note: dropped from standard after version 1.09) • PX: POSIX file attributes • PN: POSIX device numbers • SL: symbolic link • NM: alternate name • CL: child link • PL: parent link • RE: relocated directory • TF: time stamp • SF: sparse file data
Amiga Rock Ridge is similar to RRIP, except it provides additional properties used by
AmigaOS. It too is built on the SUSP standard by defining an "AS"-tagged system use field. Thus both Amiga Rock Ridge and the POSIX RRIP may be used simultaneously on the same volume. Some of the specific properties supported by this extension are the additional
Amiga-bits for files. There is support for attribute "P" that stands for "pure" bit (indicating re-entrant command) and attribute "S" for script bit (indicating
batch file). This includes the protection flags plus an optional comment field. These extensions were introduced by Angela Schmidt with the help of Andrew Young, the primary author of the Rock Ridge Interchange Protocol and System Use Sharing Protocol. The first publicly available software to master a CD-ROM with Amiga extensions was
MakeCD, an Amiga software which Angela Schmidt developed together with Patrick Ohly.
El Torito El Torito is an extension designed to allow
booting a computer from a CD-ROM. It was announced in November 1994 and first issued in January 1995 as a joint proposal by
IBM and BIOS manufacturer
Phoenix Technologies. According to legend, the El Torito CD/DVD extension to ISO 9660 got its name because its design originated in an
El Torito restaurant in
Irvine, California (). The initial two authors were Curtis Stevens, of Phoenix Technologies, and Stan Merkin, of IBM. El Torito can also be used to produce CDs which can boot up
Linux operating systems, by including the
GRUB bootloader on the CD and following the
Multiboot Specification. While the El Torito spec alludes to a "Mac" platform ID, PowerPC-based Apple Macintosh computers don't use it.
Joliet Joliet is an extension specified and endorsed by
Microsoft and has been supported by all versions of its
Windows operating system since
Windows 95 and
Windows NT 4.0. Its primary focus is the relaxation of the filename restrictions inherent with full ISO 9660 compliance. Joliet accomplishes this by supplying an additional set of filenames that are encoded in
UCS-2BE (
UTF-16BE in practice since Windows 2000). These filenames are stored in a special supplementary volume descriptor, that is safely ignored by ISO 9660-compliant software, thus preserving backward compatibility. Microsoft has documented it "can use up to 110 characters." The difference lies in whether CDXA extension space is used. •
macOS •
FreeBSD •
OpenSolaris •
Haiku •
AmigaOS •
RISC OS Romeo Romeo was developed by
Adaptec and allows the use of long filenames up to 128 characters, written directly into the primary volume descriptor using the current
code page. This format is built around the workings of Windows 9x and
Windows NT "CDFS" drivers. When a Windows installation of a different language opens a
Romeo disk, the lack of code page indication will cause non-ASCII characters in file names to become
Mojibake. For example, "ü" may become "³". A different OS may encounter a similar problem or refuse to recognize these noncompliant names outright. The same code page problem technically exists in standard ISO 9660, which allows open interpretation of the supplemental and enhanced volume descriptors to any character encoding subject to agreement. However, the primary volume descriptor is guaranteed to be a small subset of ASCII.
Apple extensions Apple Computer authored a set of extensions that add
ProDOS or
HFS/
HFS+ (the primary contemporary file systems for the
classic Mac OS) properties to the filesystem. Some of the additional metadata properties include: • Date of last backup • File type • Creator code • Flags and data for display • Reference to a
resource fork In order to allow non-Macintosh systems to access Macintosh files on CD-ROMs, Apple chose to use an extension of the standard ISO 9660 format. Most of the data, other than the Apple specific metadata, remains visible to
operating systems that are able to read ISO 9660.
Other extensions For operating systems which do not support any extensions, a name translation file TRANS.TBL must be used. The TRANS.TBL file is a plain
ASCII text file. Each line contains three fields, separated by an arbitrary amount of
whitespace: • The file type ("F" for file or "D" for directory); • The ISO 9660 filename (including the usually hidden ";1" for files); and • The extended filename, which may contain spaces. Most implementations that create TRANS.TBL files put a single space between the file type and ISO 9660 name and some arbitrary number of tabs between the ISO 9660 filename and the extended filename. Native support for using TRANS.TBL still exists in many ISO 9660 implementations, particularly those related to
Unix. However, it has long since been superseded by other extensions, and modern utilities that create ISO 9660 images either cannot create TRANS.TBL files at all, or no longer create them unless explicitly requested by the user. Since a TRANS.TBL file has no special identification other than its name, it can also be created separately and included in the directory before filesystem creation. The
ISO 13490 standard is an extension to the ISO 9660 format that adds support for multiple
sessions on a disc. Since ISO 9660 is by design a read-only, pre-mastered file system, all the data has to be written in one go or "session" to the medium. Once written, there is no provision for altering the stored content. ISO 13490 was created to allow adding more files to a writeable disc such as
CD-R in multiple sessions. The ISO 13346/ECMA-167 standard was designed in conjunction to the ISO 13490 standard. This new format addresses most of the shortcomings of ISO 9660, and a subset of it evolved into the
Universal Disk Format (UDF), which was adopted for
DVDs. The volume descriptor table retains the ISO9660 layout, but the identifier has been updated. == Disc images ==