If hdiutil doesn't do it for you, you can do the following. This example uses the Macintosh Drivers disk that you burn in bootcamp, but this will apply to any cd, substituting the right name in place of "MacintoshDrivers." In Terminal:
You'll get a list that looks something like this:
/dev/disk0
#: type name size identifier
0: GUID_partition_scheme *111.8 GB disk0
1: EFI 200.0 MB disk0s1
2: Apple_HFS Macintosh HD 81.0 GB disk0s2
3: Microsoft Basic Data Untitled 30.5 GB disk0s3
/dev/disk1
#: type name size identifier
0: CD_partition_scheme *96.9 MB disk1
1: CD_ROM_Mode_1 MacintoshDrivers 84.4 MB disk1s0
Look over this list and find the name of the CD you want to make a copy of, in this case "MacintoshDrivers." Make not of the last column on the same line, in this case "disk1s0."
Unmount the disk without ejecting:
Code:
diskutil unmount /Volumes/MacintoshDrivers
Make the ISO using a block by block copy:
Code:
dd if=/dev/disk1s0 of=/Users/MyName/Desktop/MacintoshDrivers.iso
This will take some time, and dd diplays nothing while it's working. if you want to observe it's progress, you open up Activity Monitor to make sure it hasn't hung up, you can look at the Disk Activity page.
Standard unix filename principals are in play here, if you want spaces in the name you'll have to quote the iso name or add escapes. If you don't know what that means, it's probably best to just name it something really simple like cd.iso and rename it once its done.
As an unrelated side-note, dd is the perfect tool for recovering some data on a corrupt disk. You can use the "noerror" flag and it'll continue copying even if it encounters errors.
Edit: Or... you can use the tool that Parallels provided to do it for you... I hadn't even bothered to look for it