MakeDisc
- A 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-ROM 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
- Back to List -
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
-
Back to List -
Because MakeDisc
was created with the user in mind it allows users to tailor
the program to thier 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
- Back to List -
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
- Back to List -
The tapes created in the example (or another
run of MakeDisc can now be sent to your friendly CD-ROM mastering facility (assuming
they are equipped to handle that particular tape media).
Most facilities accept 1600 BPI or 6250 BPI half-inch
tapes, and many now accept Exabyte (8mm) tapes; however,
since the CD-ROM industry has grown primarily on the strength
of the MS-DOSTM market, it is not clear how many facilities
can handle QIC tapes (unfortunately the most common type
of tape used on workstations).
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
- Back to List -
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
- Back to List -
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
- Back to List -
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
- Back to List -
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
- Back to List -
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
- Back to List -
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 disable 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
- Back to List -
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
- Back to List -
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
- Back to List -
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
- Back to List -
MakeDisc
handles symbolic links and other 'special files. Version
1.1 now properly deals with such cases, 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.