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:

  1. The location of the directory to be used to hold all of the working files
  2. The location of the directory tree to be formatted (/usr/man)
  3. Translation filename, an ISO 9660 Level I compliant file name to be used for name translation tables
  4. The outdevice to which the formatted output should be directed. This can be any writable device or a file
  5. 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.


 

 

Copyright © 2000 - 2003. All Rights Reserved. ARTH International, Inc.



Site Designed by: DCK Web Designs