1819836 Members
2769 Online
109607 Solutions
New Discussion юеВ

Re: CDRECORD

 
Don Doyle
Occasional Contributor

CDRECORD

I think this is easy for somebody but I'm totally new to the OpenVMS world. I'm using OpenVMS 7.3.

I read up about CDRECORD and followed these steps:

1) Created a container file using the SETUP command using label=BURN and the default blocksize.

2) Copied data to the container file using the standard VMS Copy command.

3) Used the CDRECORD Write command to write to a blank CD. The write completed successfully using all the defaults.

Now here's where I get confused. When I try to use the CDRECORD Verify command, it wants to know the label name for the CD (which I thought would be copied from the container file)? Apparently not because I get an error saying "home block not found".

So how do you get to read this CD after you've written to it? Also, the VMS Mount command requires you to know the CD label name.

Thanks in advance.
10 REPLIES 10
Hoff
Honored Contributor

Re: CDRECORD

OpenVMS Alpha V7.3-1 and later include a version of cdrecord, and V8.3 and later include the COPY/RECORDABLE_MEDIA and related mechanisms. There are also third-party commercial packages in this area.

The default cdrecord UI is cryptic, albeit functional.

Please post the cdrecord version in use, and the commands you are using, and how you constructed the (I assume) LD recording partition. (I'm not familiar with using "the SETUP command", typically preparing the LD partition using standard OpenVMS tools, and then using cdrecord to record that to CD-R or CD-RW.)

I'd not expect the default cdrecord to be able to initialize an ODS-2 or ODS-5 volume structure; I'd explore just what structure that command creates.

Generic details on burning a CD or a DVD on OpenVMS are available in a (very) detailed document at:

http://64.223.189.234/node/28

Something like the following is typical:
cdrecord dev=x,x,x speed=2 file

The dev=x,y,z varies by the cdrecord port, and specifies the target CD-R/RW drive.

Stephen Hoffman
HoffmanLabs LLC
Steven Schweda
Honored Contributor

Re: CDRECORD

> I read up about CDRECORD [...]

Which one? There's a cdrecord program, which
is available on many systems (including VMS),
and there's a VMS-specific CDRECORD.COM
command procedure, which hides the real
cdrecord program. You seem to be dealing
with the VMS procedure. (I normally use the
bare program, and a newer version of it than
the ones which have been distributed with
VMS.)

> 1) [...]

So, you're trying to make a CD with a VMS
file system on it? (Which should be
possible.)

> [...] MOUNT [...] requires you to know the
> CD label name.

MOUNT /OVER = IDEN should let you mount the
CD without knowing its label.

I haven't written many CDs lately, but a
complaint like "home block not found" would
probably worry me.


As already suggested, actual commands used,
and actual output, would be easier to
diagnose than vague descriptions.
Don Doyle
Occasional Contributor

Re: CDRECORD

Actually, I think my problem may be the fact that the CD (I'm using) doesn't have a label.

So my question is:

How do you create a label on a CD?

I see the INITIALIZE command doesn't do it.

Steven Schweda
Honored Contributor

Re: CDRECORD

> How do you create a label on a CD?

If you're making an LD container for a VMS
file system, and then writing that disk image
onto a CD, then I'd expect the CD to have
the same label as the LD logical disk had.

Note, however, that I normally make CDs with
ISO 9660 file systems instead of VMS file
systems, because I normally want to read them
on non-VMS systems, and in that case, the
volume label is set by the program which is
used to create the ISO 9660 file system
image. If you want to make a CD for use on
VMS only, then the LD scheme is probably the
best thing to use.

> I see the INITIALIZE command doesn't do it.

The only thing you use which actually writes
anything to the CD is the cdrecord program.
INITIALIZE is not used with a CD. INITIALIZE
_is_ used with the LD logical disk, and
that's how _it_ gets its label. Putting the
LD image file onto a CD should give the CD
that label. (I believe. Remember: I don't
do this much, and usually differently.)
John Travell
Valued Contributor

Re: CDRECORD

It's all been said before, but perhaps not in a sequence clearly identifiable to a VMS novice.
Presuming that you want to create an ODS2 or ODS5 CD...
1. Create an LD container file. This is an EMPTY file with NO internal structure.
2. Init that container file. This creates an internal structure in the file that is the same as the volume structure of a disk.
3. Mount the newly initialized virtual disk. This makes it available to VMS so that following stages can work.
4. Copy your files to the virtual disk.
5. Use CDrecord (or COPY/RECORDABLE if on V8.3) to copy the virtual disk to blank media.
6. Mount your newly created CD and examine the files you put there.
Job Complete (except for anything I may have forgotten...).
JT:
Don Doyle
Occasional Contributor

Re: CDRECORD

Thanks for all your replies.

Steve, your thread was really close to the steps I followed with these exceptions:

Steps 1-3 were done by me using the CDRECORD SETUP command:

@SYS$MANAGER:CDRECORD SETUP test.file lda3 fred

After this command is entered, I validate the logical disk was created and online with a volume label.

Step 4 copy data

Step 5 I had to use CDRECORD Write command because were at VMS 7.3-2:

@SYS$MANAGER:CDRECORD WRITE test.file lda3 dqa0

I can see the write happening and the light blinking on the CDROM Drive. Also, the CDRECORD program tells me the number of blocks written.

Step 6 here's where I have trouble because I can't validate the write (by either CDRECORD verify or trying to mount it and read it. It wants the volume label and apparently there is none.

These are the messages I get when try the CDRECORD Verify command and the $MOUNT /MEDIA=CDROM command:

Home Block not found when doing mount

This is the error I get when trying the $MOUNT /OVER=IDEN command:

No CDROM descriptor found

What a great time I'm having.

Volker Halle
Honored Contributor

Re: CDRECORD

Don,

when giving error messages, please include the full command used and the full error message (best copied with cut & paste).

Volker.
Steven Schweda
Honored Contributor

Re: CDRECORD

> when giving error messages, please include
> the full command used and the full error
> message (best copied with cut & paste).

You're more generous than I. After a couple
such requests are ignored, I just figure that
the questioner really doesn't want any
answers.
Hoff
Honored Contributor

Re: CDRECORD

cdrecord is a block-copy tool. It copies the blocks of the LDcu: device or the LD backing storage file -- block by block -- to the target CD-R/RW device. cdrecord does not provide disk labels, nor anything else. It's a block copy tool specific to the I/O commands required by the target recording device.

Please read the OpenVMS CD and DVD recording document at http://64.223.189.234/node/28

That document contains details of the whole process, including how to build bootable disks. And if you don't understand something there or should you find a problem, please let me know.

Do ensure you have initialized the LDcu: device with a cluster factor of four, or a multiple of four. This INITIALIZE command is where you get the disk label from.

There are directly relevant bugs in ld within this range. Check for available HP ECOs, or get Jur's current version of ld (now at V9)... http://www.digiater.nl/lddriver.html
and http://64.223.189.234/node/287

I punted on cdrecord.com eons ago, and use a side-built version of cdrecord directly, or I use the in-built version directly.

Once you have the -dev=x,y,z figured out (peek into cdrecord.com for that detail, as it can vary by OpenVMS version), it's far easier to go after the recording process directly.

Stephen Hoffman
HoffmanLabs LLC


Steven Schweda
Honored Contributor

Re: CDRECORD

> Once you have the -dev=x,y,z figured out [...]

Or, try one of my more recent adaptations,
where you can say things like "dev=DKB500" or
"dev=cdr" (if you have a logical name "cdr"
defined). That "dev=i,j,k" stuff drives me
bats.

http://antinode.org/ftp/cdrtools/cdrtools-2_01_01a25/