Why are CDROM filenames all UPPERCASE with ;1 attached?

Why are CDROM filenames all UPPERCASE with ;1 attached? Updated: 11/20/02

CD-ROMs are generally formatted using a filesystem called ISO-9660
(aka ECMA-119), which is an update of an earlier specification called
High Sierra. There are very minor differences between the two, and
HP-UX supports them both. The user doesn't have to know which is
which, although nobody's actually produced a High Sierra CD-ROM in
many years.

ISO-9660 "file identifiers" consist of a filename, a dot, an
extension, a semicolon, and a version number from 1 to 32767. The
standard specifies three levels of "interchange", the strictest of
which limits filenames to 8 characters, extensions to 3 characters,
and the characters can be only upper-case letters, digits and
underscores. The reason why the letters are all uppercase is because
most CD-ROMs are encoded to the strictest interchange level.

To get rid of the semicolon and version number, and to force the
filenames to lower case, mount the file system with the "cdcase"
option (see mount_cdfs(1M)).

There is a widely used extension of ISO-9660 called "Rock Ridge" which
adds enough file system metadata to support full POSIX file system
semantics. Rock Ridge filenames are formatted similarly to ISO-9660
file identifiers -- all UPPERCASE with ;1 version numbers. Currently,
11.0 supports Rock Ridge via a patch. Other versions of HP-UX do not
support Rock Ridge, except through PFS.

Rock Ridge support has recently been provided for 11.x via patches:

o 11.00: PHKL_21586
o 11.11: (patch recalled due to defect)

The Portable FileSystem (PFS) was originally developed by Young Minds,
Inc. It was originally only available as a demo package, but it was
eventually bundled with HP-UX, starting with release 10.10. PFS supports
the following CD-ROM formats: ISO-9660, Rock Ridge, and High Sierra. As
explained above, the HP-UX mount command currently only supports ISO-9660
and High Sierra.

You must have network loopback, and networking in general, configured
before running PFS on HP-UX. The command 'netstat -rn' shows the network
routing tables; the entry 'lo0' is for the loopback interface. To enable
network loopback (if it is not already enabled), add the line:


to the file /etc/rc.config.d/netconf.

PFS is RPC-based and offers the some features that NFS provides, which
means that a CD-ROM can be exported over your network without going
through NFS. However, PFS does require that the nfs.core and nfs.client
subsystems are both running. To start these, make sure NFS_CLIENT=1 in
/etc/rc.config.d/nfsconf then run:

# /sbin/init.d/nfs.core start
# /sbin/init.d/nfs.client start

Note, using these init scripts to start NFS will ensure that rpcbind,
which PFS relies on, is also started.

NOTE: On 10.20 or 11.00, you must install a patch prior to running PFS,
you might not be able to eject the CD-ROM after unmounting it. This
problem is fixed in 11i. The patches are:

o 10.20: PHCO_15453
o 11.00: PHCO_16438

All Oracle[R] installation CDROM's are RockRidge-formatted, and so must
mounted via PFS.

To use PFS to mount a RockRidge CDROM:

1) Make sure the directory containing the PFS utilities (/usr/sbin) is
in your PATH.

2) Edit (or create) the /etc/pfs_fstab file to contain a line like this:
<device> <mount_dir> pfs-rrip xlat=rrip 0 0
<device> is the path to your CD-ROM reader (e.g. /dev/dsk/c1t2d0)
<mount_dir> is the path to an *existing* directory where the CD-ROM
will be mounted (e.g. /rr_cdrom)

3) Run the following commands:

# nohup pfs_mountd &
# nohup pfsd 4 &

Alternatively, these daemons can be started from an rc script; see
question 5.3.9.

4) Mount the drive with the command:
pfs_mount <device> | <mount_dir>
Or unmount it with:
pfs_umount <device> | <mount_dir>
Where <device> and <mount_dir> are the same as in 2).

The CD-ROM should be now readable with long and mixed-case filenames.

For HP-UX 10.01 and earlier, you can install a patch:

o 10.01 s700: PHKL_23512
o 10.01 s800: PHKL_23513
o 10.00 s700: PHKL_6076
o 10.00 s800: PHKL_6077

These add a modification to the CDFS code which can translate all mounted
CDROMs (not selectively) to accomplish the same task. This patch adds no
additional filesystem support, such as POSIX or the RockRidge Extensions.

On 10.20 and later systems, for ISO-9660 CDs that contain all-uppercase
8.3 filenames (ie - MS-Windows CDs), it is not necessary to use PFS.
Instead use the mount command's "-o cdcase" option. See mount_cdfs(1M)
for more information.

HP-UX cannot read Joliet, video, or audio discs without the use of
3rd-party software.