MakeDisc
Functional Overview
MakeDisc is the only commercially available software that delivers
Rock Ridge protocols while also providing compliance with ISO 9660
and X/Open XCDR standards and allows the creator of a CD or DVD
to utilize all of the capabilities of the POSIX file system. This
document can be read in full or you can skip to any section. The
sections are as follows:
The Rock Ridge Protocols
The Rock Ridge Protocols consist of two parts: the Rock Ridge Interchange
Protocol, and the System Use Sharing Protocol. The Rock Ridge Interchange
Protocol specifies an extension to the ISO 9660 format to allow
for recording of POSIX (UNIX®) Style File System information
on CD-ROM. POSIX information allowable under Rock Ridge includes:
- User and group id's and permissions
- File mode bits, file types, setuid, setgid, and sticky bits
- File links
- Device nodes
- Symbolic links
- POSIX style filenames
- Deep directories
- Time stamps
The System Use Sharing protocol details how system use areas can
be utilized for storing Rock Ridge/POSIX information. Under the
ISO 9660 standard, some system use fields were set aside in order
to allow for future extensions to the proposed standard. The Rock
Ridge extensions to the ISO 9660 standard still fall within the
original specifications of the standard, allowing for UNIX®
extensions while still conforming to the existing CD-ROM standard.
Advantages of MakeDisc
Because MakeDisc was created with the user in mind, it allows
users to tailor the program to their needs. The program has many
advantages:
- MakeDisc is flexible and easy to use. For the
novice MakeDisc provides easy-to-use one command formatting
and transparent file manipulation. Our graphical user interface(Open
Windows or Motif) allows a supervisor to customize and save MakeDisc
configurations. Users having no prior experience with MakeDisc
can confidently premaster datasets at the push of a button. The
GUI supports the same features as the command-line version and
incorporates an online Help system to assist users with the many
options and features available. For experienced users MakeDisc
allows for low-level data manipulation as well as handling many
different data types.
- MakeDisc is efficient. We have premastered large
datasets in minutes. MakeDisc is capable of making multiple
images without having to premaster each image.
- MakeDisc minimizes the need for dedicated hardware.
A typical directory requires less than five percent free work
space to format (5Mb for a 100Mb image) and can be dumped to a
hard disk partition for testing or straight to tape for delivery
to a mastering facility.
- MakeDisc has excellent documentation. The package
has an example file and a description file to make filling out
user information friendly and quick. When creating a CD-ROM it
is important to include specific user information on the disc.
Normally that requires filling out some not-so-friendly forms
and hoping that you get it right. MakeDisc provides a simple-to-use
interface and comes packaged with an example file and a description
file to make filling out user information easy.
Quick Use, An Example
Suppose you wanted to make a CD-ROM image of the on-line man pages
located as follows:
On BSD derivative machines: /usr/man
On System V derivative machines: /usr/catman
After loading the YMi formatting software and moving to a working
directory called project you could generate an example image
by filling in the appropriate fields in the MakeDisc windows
or by typing from the command line:
makedisc project /usr/man YMTRANS.TBL /dev/rst8 60
Only the translation table name must be ISO 9660 compliant. YMi's
ONR (Original Name RecoveryTM) software will use the
translation tables to recreate the original file and directory names
on UNIX® systems without Rock Ridge Support.
As the formatting proceeds, screen messages will identify each
component program as it begins, the progress being made and errors
and warnings, should they occur. These are also appended, with time
stamps, to the error file in the project directory. This not only
frees the user from having to monitor the process, it also allows
for quick identification of problem areas, should there be any.
After preparation is complete, the program will prompt the user
to output to a designated output device, by pressing the <return>
key. When the specified amount of data (60MB in the example given)
is transferred, the program will display the number of blocks output
on the current tape, the starting and ending block numbers output
on the current tape, and if necessary, prompt you for another tape.
When the entire image has been output, and the tape(s) have been
(manually) labeled, preferably with the size and sequence information
provided, the process is complete. It's that easy.
Mastering and Replication
The tapes created in the example (or another run of MakeDisc can
now be sent to a CD-ROM mastering facility.
You should verify that the facility you wish to work with can handle
the media you will be using before committing substantial energy
to generating production tapes. Calling and requesting their tape
format specifications can help in this process, but nothing beats
direct testing.
This can easily be accomplished by running a small example, such
as the one given above. Sending the tape with a brief description
of the contents to the mastering facility of your choice and request
that they verify they can handle tapes of the provided format. If
they think you might use them for your production work, they will
usually be cooperative. (If not, this might be an indication of
future levels of customer support.) For convenience and cost-effectiveness,
we recommend Exabyte tapes for delivery of CD-ROM image data to
the production facility. For assistance in selecting or working
with a CD-ROM mastering facility, please contact YMi
NOTE: The following section applies only to Sun-3, Sun-4, and
Sun SPARC users; for information regarding hard disk testing on
other platforms, please contact YMi.
Hard Disk Images
A directory provided by YMi contains the files required to install
the optional CD-ROM file system driver for the appropriate Sun platform.
The installation of this driver is only required for systems running
versions of SunOS 4.0.x. This driver, standard on later versions
of Sun OS, is necessary for reading CD-ROM discs or mounting a CD-ROM
disc image on a hard disk.
Disc Identification
Each disc formatting project has associated files which hold information
about the disc and how it is to be constructed. Other than the actual
file set to be formatted, only one file must be provided by the
user: VOLUME.INF. This file provides the program with identifying
information required by the ISO 9660 format. Fortunately, most of
the information is not significant to the actual formatting process
and can be ignored. In most current implementations this information
is not even available to the user.
Examples of this user provided file can be found in the application's
project directory. The file used by the example given above is stored
with another file, which more completely describes the general form
of data input.
Data Organization
In order to create a CD-ROM disc image users must first identify
and organize the file set to be formatted. Many users will already
have their file set organized as they want it to appear. This is
usually the case for software distributions and other directory-structured
data.
Any standard UNIX® file set, of roughly 600MB or less, can
be duplicated on a CD-ROM; but will usually require some modification
in order to be ISO 9660 compliant. The two general areas of concern
are file/directory names (restricted in length, format and character
set) and directory depth (restricted to eight levels).
File and Directory Naming
Should the user wish to avoid renaming hassles, YMi's CD-ROM Publishing
Software automatically converts all the file and directory names
into ISO 9660 Level 1, 2 or 3 compliant names, while still allowing
the original names to be recovered, either through the Rock Ridge
extensions or with a special utilities provided to reconstruct the
original UNIX® names. These utilities are provided in source
form and can be modified to suit a particular user's needs. These
utilities carry no distribution restrictions if used in conjunction
with MakeDisc.
Directory Depth
As opposed to the entirely automatic handling of file name compliance,
the depth of the directories must be controlled by the specific
organization of the file set to be duplicated. Though the ISO 9660
standard only allows eight levels in the formatted directory structure,
the original file set might have more. In order to be ISO 9660 compliant,
the file set must be reorganized such that the directory depth does
not exceed eight levels.For systems with Rock Ridge support, MakeDisc
can automatically remap directories, using symbolic links and the
Rock Ridge extensions to reconstruct the original tree.
If illegal or inappropriate parameters are specified, one or more
of the usage lines for the individual programs may be generated.
Contact YMi, for more information.
During preprocessing of the file set, if a directory is found which
would appear at level eight in the directory structure of the image,
an error message will be generated. The program will continue to
scan for other possible depth violations before terminating without
generating an image.
During the process of dumping the files to tape, the premastering
software will check to determine if the file size has changed, or
if the file has become inaccessible since the formatting process
began. As with the directory depth detection, the file modification
detection can be overridden.
Multiple output images can be created from the same set of intermediate
files (without re-running MakeDisc by executing a subprogram, where
each of the parameters are defined as with MakeDisc. This allows
you to create duplicate copies of an image to submit to a production
facility. It can also be used to create a tape image of a file set
which has already been formatted onto a hard disk partition for
testing. This feature allows you to create tape images identical
to the original without requiring a large amount of empty disk space
or re-running the entire formatting process.
Operation
Once provided with the location of the base of the tree to be duplicated,
the program will reproduce each file and directory encountered.
Any branch of a directory tree can be specified. This branch may
contain mount points for other file systems, as supported by the
local system. Files and directories in these file systems are not
treated as symbolic links, but are copied to the tape or disk image
in the same manner as "local" files.
NOTE: No modifications are made to the original file set in
this process
By mounting additional files systems (accessible either locally
or over a network) at mount points within the source directory tree,
many small, distributed data sets can be included in a single source
data set. As demonstrated in the example:
makedisc project /usr/man YMTRANS.TBL /dev/rst8 60
The formatting process is invoked by executing the MakeDisc program
and providing information about:
- The location of the directory to be used to hold all of the
working files
- The location of the directory tree to be formatted (/usr/man)
- Translation filename, an ISO 9660 Level I compliant file name
to be used for name translation tables
- The outdevice to which the formatted output should be directed.
This can be any writable device or a file
- The outdevice size, the volume of information that one medium
on the specific output device can handle.
NOTE: The outdevice can reference a device on another machine
on a network
MakeDisc, when executed, details the premastering process by displaying
messages about the work in progress, errors, warnings or prompts
as they occur.
These messages are also appended to a work directory. If there
are problems during the formatting or output process, warning and/or
error messages will be displayed in order to give you sufficient
direction to address these problems.
If illegal or inappropriate parameters are specified, one or more
of the usage lines for the individual programs may be generated.
Contact YMi for more information.
During preprocessing of the file set, if a directory is found which
would appear at level eight in the directory structure of the image,
an error message will be generated. The program will continue to
scan for other possible depth violations before terminating without
generating an image. This feature can be disabled AT THE USER'S
RISK.
During the process of dumping the files to tape the premastering
software will check to determine if the file size has changed, or
if the file has become inaccessible, since the formatting process
began. As with the directory depth detection, the file modification
detection can be overridden. Although this may create an image with
corrupted data it WILL NOT create an image which violates the ISO
9660 standard.
Multiple output images can be created from the same set of intermediate
files (without re-running MakeDisc) by executing a subprogram, where
each of the parameters are defined as with MakeDisc. This allows
you to create duplicate copies of any image to submit to a production
facility. It can also be used to create a tape image of a file set
which has already been formatted onto a hard disk partition for
testing. This feature allows you to create tape images identical
to the original without require a large amount of empty disc space
or rerunning the entire formatting process,
ONR Original Name Recovery
Through ONRTM, reconstruction of an original a file
set, using utilities provided by YMi, is a simple process. Simply
invoke the utility, specifying the (base of the branch of the) CD-ROM
directory (tree) to which links are to be created. One option instructs
the program to descend down the tree from the specified base, constructing
links to every file and directory encountered. Without this option
the utility creates links only to the files in the specified base
directory. This utility works both with and without Rock Ridge support.
Another utility provided can copy CD-ROM files to hard disk, restoring
the original names on the fly; Source code for these utilities is
provided in the software directory from the distribution tape. The
user may include the source code, compiled binaries and man pages,
in a distribution.
Contents
YMi's CD-ROM Publishing Software package contains the following
files:
- The MakeDisc program
- A preprocessor called by MakeDisc
- An ISO 9660 format generator
- An output program
- A program for leveling deep directory trees
- Intermediate file descriptions
- A directory to hold working files
- A sample disc volume description
- An additional description if you wish to modify the first volume
description file.
- A file describing each line of the volume description file.
- A directory containing a file system reconstruction utilities
- The graphical user interface version of MakeDisc
Sun users will also find a directory containing the CD-ROM file
system driver for Sun workstations.
Command Line Options
MakeDisc provides a number of command line options to handle
special UNIX® constructs, including options to:
- Add the Rock Ridge extensions
- Copy all or a specific set of files and directories pointed
to by symbolic links to the ISO image. (The default is not
to copy any files or directories referenced by symbolic links.)
- Disable the directory depth checking mechanism. This
will allow a user to premaster a CD-ROM image with a directory
depth exceeding eight levels. The resulting image, however, will
NOT be ISO compliant. Without this option, if the program encounters
a directory depth exceeding eight, it will generate an error message
and terminate.
- Disable the file checking mechanism. This will allow
a user to modify an intermediate file set. Without this option,
the program will generate an error message and terminate.
- Do not print unnecessary messages. (They will still
be recorded in the errorlog file.)
- Record original system file/directory names. This option
is intended to allow authors to record the original file names
directly into the CD-ROM image without translation. It will also
cause the program to generate a table listing statistics relating
to the number and types of file names that are NOT ISO 9660 compliant.
- Do not mark translation table entries as sym-links when
copied. This allows authors whose source data contains files
and directories that are pointed to by symbolic links, but which
are being copied (through one of the flags), to have the source
files NOT be listed as symbolic links in the translation files.
Thus, this new option allows authors to hide this originating-system-specific
information from the final users of the discs.
- Do not encode translation tables in the disc image.
This is a useful option if your file is already ISO compliant
or your end users do not require translation.
- Start writing at offset N bytes (default = 0). This
option is only intended for use with random access media.
- Write output in blocks of N 2048-byte sectors. This
allows authors to create tapes with blocking factors other than
2048 bytes. This option does not effect the CD-ROM image itself,
only how it is written out and whether or not any trailing zero-byte
blocks will need to be written to pad the image out to an N times
2K-byte boundary.
Symbolic Links
MakeDisc handles symbolic links and other 'special files,
including the following situations:
- If a symbolic link points to an inaccessible object (or a non-existent
object), a warning is printed and a zero length file is created
in the ISO 9660 image. Further, if translation tables are being
generated, such symbolic links will ALWAYS be listed as symbolic
links.
- If a device, pipe, or socket file is encountered a warning is
printed and a zero length file is created in the ISO 9660 image.
Furthermore, if translation tables are being generated, such files
will be listed in the translation table.
- In order to support the introduction of the Rock Ridge extensions
to the ISO 9660 format, symbolic links will generate zero length
files in the ISO 9660 image, as well as translation table entries
for these files that are listed as symbolic links. For further
information on the Rock Ridge Protocol, contact YMi.
|