Rock Ridge cannot handle device special files or sockets, and probably cannot boot most machines. (For example, you might be able to write a Sun ufs CD that would be bootable. That would mean using a ufs filesystem, not Rock Ridge.)
The easiest basic process is to create a CD "image" file (a raw ~650MB file) on the Unix machine containing the source files, transfer that image to a Mac, and use Toast to burn it directly onto a CD using the Disc Image command. (Toast can even Mount the image on the MacOS desktop, so you can see how the disc would look if inserted into a Mac. The Mac I tried only understood ISO9660, so it was ugly.)
To create the CD image file, use the mkisofs command. mkisofs is a simple, portable program that traverses a Unix directory and writes out a Rock Ridge image file. I'll try to remember to install it in /usr/contrib/bin, but if I forgot or you're on a machine that's not part of the department NFS group, you can grab it from:
ftp://ftp.cdrom.com/pub/linux/tsx-11/packages/mkisofs/mkisofs-1.11.1.tar.gzIt should compile right out of the box. If all you need to do is copy a directoryfull onto a CD, use one of these two command formats:
mkisofs -a -R -T -v -o /usr/zealand2/jonh/cd.image . mkisofs -a -r -T -v -o /usr/zealand2/jonh/cd.image .The options are as follows:
-a Include all files, even those containing ~ or # in the filename.
-R Use Rock Ridge extensions to ISO9660 to record more of the Unix file information. This preserves all file permissions and owner information, which makes sense for an archival disc that you expect to be using yourself.
-r Use Rock Ridge extensions, but make all file owners 0 and use canonical file permissions. This makes a disc that can be read once mounted by any user on a system, and makes more sense for discs that you'll distribute or give to others.
-T Generate a file TRANS.TBL in each directory that describes how long filenames are mapped to ISO9660 8.3 filenames. Use this if you think the disc might be read on an ISO9660-only system, so you can figure out what files started out as. Omit it if you know the disc will be used only on Rock Ridge machines and you want to avoid cluttering the directories.
-v Be verbose.
-o filename Where to write the output CD image. This should probably not be in the same directory as the source files, or you might get a little recursion going. Make sure the destination directory has enough space for the image. You can see how much space a source directory will consume, in K, with
du -s -k .You can see how much space a destination directory has free with
df -k /destination/dir
. This is the directory you're archiving. If .mkisofsrc (see below) is at the top of the source tree, you should cd there and use . as the source directory name, so mkisofs sees the .mkisofsrc file.
You might also put a .mkisofsrc file in the top directory of your source tree, with something like this in it:
APPI=Partial backup of jonh's home directory, disc 1/2 COPY=Copyright 1997 Jon Howell PREP=Jon Howell P.O. Box 412 Meriden, NH 03770-0412 603-HOWELL-6 6211 Sudikoff Lab Hanover NH 03755-3510 603-646-3297 VOLI=jonh2of2Maybe the most interesting line is "VOLI", which is the volume name the disc shows when mounted on a Mac (and probably other machines).
There are lots of other options to mkisofs, and other things you can put in .mkisofsrc. Read the manual page if you want to do more than the basics described above.
When you've created the CD image file with mkisofs, Fetch (FTP) it to the Jaz drive on a Mac. (At 100k/s, this can be the slowest part of the operation.) Make sure you use binary mode. Open Toast, select Disc Image from the Format menu, click the Data... button to select the disc image from the Jaz drive. [Click Mount now if you want to make sure the disc image looks "right".] When you're ready, click Write CD..., and off you go. I recommend letting Toast verify the CD when it's done.
If you need just one or two CD-Rs, ask me (jonh), I might have a couple floating around that I'll sell.
mount /dev/sdc4 /mnt/macos
./cdrecord -scanbus
./cdrecord speed=2 -v -dummy -eject -dev=4,0 /mnt/macos/cd2.imageIn my experience, the fifo can get all the way to 0% and you can get multiple "fifo empty" conditions with no problem, as long as you don't get an underrun error. I don't know why it doesn't keep the fifo fuller, but it didn't seem to hurt my CD. Also, the -eject after the dummy record is necessary; apparently our brand of CD writer gets confused if you don't. I also noticed that if you interrupt the dummy write, you'll have to power cycle the whole contraption before the CD writer will respond again.
./cdrecord speed=2 -v -eject -dev=4,0 /mnt/macos/cd2.image
dd if=/dev/scd1 bs=512 | cmp - /mnt/macos/cd2.imageYou'll get an I/O error at the end of the dd read, but I think that's okay. Note I used /dev/scd1 above; that's because my system already had another CD-ROM drive allocated to /dev/scd0.
mount /dev/scd1 /mnt/cdrom cd /mnt/cdrom find . > /tmp/cd2.catalog