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:
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".
$ INITIALIZE/INDEX=BEGIN FREE$DISK: |
This will insure that the disk is initialized such that the maximum amount of contiguous free space is available.
$ @SYS$STARTUP:LD$STARTUP |
$ LD CREATE /SIZE=1269528 FREE$DISK:[000000]STAGING.DSK |
$ CREATE/DIRECTORY FREE$DISK:[ISO9660] |
$ SET DEFAULT FREE$DISK:[000000] $ MKISOFS -O ISO9660.DSK FREE$DISK:[ISO9660] |
$ DIRECTORY/SIZE=ALL FREE$DISK:[000000]ISO9660.DSK |
$ ISO9660_SIZE = ({allocation size of ISO9660.DSK}/4+1)*4 $ SHOW SYMBOL ISO9660_SIZE |
$ SET FILE/ATTRIBUTES=(LRL:512) FREE$DISK:[000000]ISO9660.DSK |
$ COPY/OVERLAY FREE$DISK:[000000]ISO9660.DSK - FREE$DISK:[000000]STAGING.DSK $ SET FILE/END FREE$DISK:[000000]STAGING.DSK |
$ LD CONNECT FREE$DISK:[000000]STAGING.DSK LDA1: |
$ 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 |
$ 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. |