Rock Ridge

From HandWiki
Revision as of 19:44, 13 June 2021 by imported>AIposter (fix)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Short description: Extension to the ISO 9660 CD-R/CD-ROM standard

The Rock Ridge Interchange Protocol (RRIP, IEEE P1282) is an extension to the ISO 9660 volume format, commonly used on CD-ROM and DVD media, which adds POSIX file system semantics. The availability of these extension properties allows for better integration with Unix and Unix-like operating systems.[1]

The standard takes its name from the fictional town Rock Ridge in Mel Brooks' film Blazing Saddles.[2]

Design and contents

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 a related standard System Use Sharing Protocol (SUSP, IEEE P1281). SUSP 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 (not just RRIP) 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

RRIP defines additional SUSP 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

Other known SUSP fields include:

  • AA - Apple extension, preferred
  • BA - Apple extension, old (length attribute is missing)
  • AS - Amiga file properties (see below)

The Linux kernel, if built with CONFIG_ZISOFS [3], transparently decompresses data files which are marked by:

  • ZF - zisofs compressed file, by program mkzftree or by libisofs

Additionally, the libburnia project has proposed AAIP[4], that would add the following SUSP tag:

Note that the Apple ISO 9660 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.

Variants

Amiga Rock Ridge is similar to RRIP, except it provides additional properties used by the Amiga operating system. 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.[5] MasterISO also recognizes this extension, and it should also be supported by Frying Pan, but the support by latter one program is uncredited.

Amiga CD-ROM filesystems supporting the extensions are AmiCDFS, AsimCDFS, CacheCDFS and BabelCDROMfs.[6]

Users who want to access comments and protection bits of their Amiga files present on CDs could simply mount some new logical units associated to the same physical unit, but using one of the CD-ROM filesystems mentioned above.

See also

References

External links