| Sign In Sign-Up

Welcome!
Close
Would you like to make this site your homepage? It's fast and easy...
Yes, Please make this my home page!
No Thanks
Don't show this to me again.
Close

# Instructions for creation of a dual format CDrom
(ODS-2/ISO-9660)

Detailed here are instuctions for the creation of a dual format CDrom which can be mounted on VMS systems as a native ODS-2 file system and on machines which recognize and mount ISO-9660 CDs -- This includes VMS!

These instructions assume the use of the following software components:

- LD062[1] (available on the OpenVMS Freeware Cdrom V4.0)
- MKISOFS[2] (available via an internet accessible web site)

This also assumes that a VAX or an Alpha machine will be used. The machine *must* have enough free disk space to accomodate a container file of the capacity needed to house your proposed CD's contents.

Using the software and hardware assumptions listed above, the CD containter file which is created can be checked prior to writing the final CD. Therefore, the integrity can be checked prior to creating a "coaster".

1. Initialize the 'free disk' (heretofore known as FREE$DISK:) using the command:

           $ INITIALIZE/INDEX=BEGIN FREE$DISK:

This will insure that the disk is initialized such that the maximum amount of contiguous free space is available.

2. Start LD V6.2 if it has not already been started.

           $ @SYS$STARTUP:LD$STARTUP

3. Create the CD container file. The 'size' in the following command can be used to create the maximum 650MB CDrom. A smaller size can be used but it is not recommended by the author of this procedure.

           $ LD CREATE /SIZE=1269528 FREE$DISK:[000000]STAGING.DSK

4. Create a directory to house the ISO-9660 directory tree and files.

           $ CREATE/DIRECTORY  FREE$DISK:[ISO9660]

5. Populate FREE$DISK:[ISO9660] with sub-directories and files.

6. Place .MKISOFSRC file in FREE$DISK:[000000] and edit its content to reflect the information you wish to have known about this ISO-9600 file system.

7. Create the ISO-9660 file system container file.

           $ SET DEFAULT FREE$DISK:[000000]
           $ MKISOFS -O ISO9660.DSK FREE$DISK:[ISO9660]

8. Obtain the size of the ISO9660.DSK file.

           $ DIRECTORY/SIZE=ALL FREE$DISK:[000000]ISO9660.DSK

9. Compute ISO9660.DSK file size in 2048 block sectors.

           $ ISO9660_SIZE = ({allocation size of ISO9660.DSK}/4+1)*4
           $ SHOW SYMBOL ISO9660_SIZE

10. Modify the attributes of ISO9660.DSK to have 512 byte records so that it may be copied.
    (See step #11)

            $ SET FILE/ATTRIBUTES=(LRL:512) FREE$DISK:[000000]ISO9660.DSK

11. Copy the ISO9660.DSK file to the STAGING.DSK file, overlaying its contents!

            $ COPY/OVERLAY FREE$DISK:[000000]ISO9660.DSK -
                           FREE$DISK:[000000]STAGING.DSK
            $ SET FILE/END FREE$DISK:[000000]STAGING.DSK

12. Connect an LD device to the staging disk container file.

            $ LD CONNECT FREE$DISK:[000000]STAGING.DSK LDA1:

13. Initialize the LD device. Initialization qualifiers are used to keep the INDEXF.SYS and associated volume files from over-writing the overlayed ISO-9660 file system.

            $ INITIALIZE /INDEX=END [/HOMEBLOCKS=CONTIGUOUS] LDA1 "{ODS-2 label}" -
                        /BADBLOCKS=(64:{ISO9660-size}) /MAXIMUM_FILES=128000

            Note: /HOMEBLOCKS=CONTIGUOUS is only available on recent versions.

              ISO9660-size= (({allocation size of ISO9660.DSK}/4+1)*4) - 64

The device is now setup for dual format mounting. Check the ISO-9660 file system with the following commands:

        $ LD CONNECT STAGING.DSK LDA1:
        $ MOUNT/MEDIA_FORMAT=CDROM LDA1: "{iso9660 volume label}"
        $ DIRECTORY LDA1:[000000...]

You may now populate the volume with the files such that the device can be mounted as an ODS-2 file system.

        $ DISMOUNT LDA1
        $ MOUNT/SYSTEM LDA1: "{ODS-2 volume label}"

Copy or backup your files to LDA1:

When you have completed the population of the staging device, dismount it.

The STAGING.DSK file can now be written to the CD/R or CD/RW.
The author of this page uses CDRECORD[2]. This is a fine package and is known to work with a wide variety of CD-R and CD-RW burners from many manufacturers. The best list of known-to-work burners can be found by following the link in footnote [2] below.
An already built VAX executable of CDRECORD (built against V6.0 of OpenVMS and should work with all later versions) is available here.

NOTE: You must use the OpenVMS GKDRIVER on MicroVAX/VAXstation 3100 series machines. The DKDRIVER/PKNDRIVER combination on MicroVAX/VAXstation 3100 series machines will not properly handle the SCSI commands sent via IO$_DIAGNOSE $QIOs in CDRECORD. MicroVAX/VAXstation 4000 series machines do not have this limitation and CDRECORD can be used there with the device configured with the DKDRIVER.

An already built Alpha executable of CDRECORD (built against V7.2 of OpenVMS and should work with all later versions) is available here.

Footnotes:
[1] While these instructions use the LD062 virtual disk package available on the OpenVMS Freeware V4.0 CD, there is nothing to restrict you to this virtual disk package. Glenn Everhart has written several virtual device driver packages which can also be used. Glenn's efforts have appeared on the OpenVMS Freeware CDs and can also be found in the DECUS library and in freeware repositories around the internet.
[2] Joerg Shilling is the author of CDRECORD.

This page has been accessed 1,670 times.
Copyright © 1998-2000 | TMESIS SOFTWARE
TMESIS SOFTWARE | 14 Rutgers Road
All Rights Reserved | Jackson, New Jersey
| page design, graphics and layout by
Last updated on Monday, May 22, 2000 at 07:57:21 AM