First, download and install cdrtools. This will make your life much easier. This package includes 'mkisofs' (to make ISO images) and 'cdrecord' (for easy burning of various types of images). The 'hdiutil' in OSX works fine for single sessions, but I haven't been able to do multi-session with it. It is handy, though, for converting various image types.
Second, familiarize yourself with the following osx tools: hdid, disktool, and hdiutil.
Read the rest of the article for the steps required to create a single-volume multi-session CD-R...
Background - these steps won't work if OS X is currently "handling" the cd device. You must "detach" the device from the OS X system, but do so in a way so as not to eject the disk. This isn't difficult for the first session, since OS X allows you to dismiss the dialog that comes up when you insert a disc with no readable volumes. But for subsequent burns, there will be a readable volume on the disc, so no dialog is displayed. This is what 'disktool' is for. The various CD burning utilities on the net were written for Linux, pure BSD, or other systems with /dev entries for the CD-ROM (or Lun numbers for SCSI drives, etc). These won't help you for OSX. You must use the IOKit device name instead. This info was hard for me to find (if you're interested, ioreg -l will print out the registry for the IOKit entries on your computer).
If you have a standard CD-R, you will likely use "IOCompactDiscServices" as the device name. If you are using the combo drive, you will likely use "IODVDServices." If you have a true SCSI chain, you should find out your LUN numbers (if this applies to you, you'll probably know what this means - otherwise, try the net) and just follow the many helps on the net.
Steps
- Go to the directory containing the files or directories you wish to burn:
cd ~
- Create the first ISO image with Joliet and Rockridge extensions using 'mkisofs' (for long file names - necessary for multi, I think):
mkisofs -J -R -o image1.iso Pictures/*.JPG
- Burn the first image with 'cdrecord' (device name reflects that I have combo drive in iBook):
cdrecord -v -multi -data dev=IODVDServices image1.iso
- Use 'cdrecord' to find out where the remaining free space begins after this burn session:
cdrecord -msinfo dev=IODVDServices
This will return '0,123456' or something. This is the info you need.
- Create the second (or subsequent) ISO image as before but specifying device and beginning track data in step four:
mkisofs -J -R -o image2.iso -M IODVDServices -C 0,123456
(use the actual number from step 4)
- Burn the second (or subsequent) iso image as before:
cdrecord -v -multi -data dev=IODVDServices image2.iso
disktool -u disk1 0The above assumes your CD-R is disk1. Use 'df' to identify the CD.
To eject a disc at any time, you can use hdiutil eject disc1, replacing 'disc1' with the appropriate disc number from the 'df' command.
P.S. mkisofs will also make hybrid discs readable on both pcs and macs (ISO9660 and HFS). Look at the help for mkisofs for the syntax. Unfortunately, I don't think you can make multi-session discs in this format.
[Editor's note: I have not tried this process myself.]