Extricate quick and dirty way to extract an ISO from a CD-EXTRA or or multisession CD. Extricate is free software licensed under the GPL.
Q: What is extricate?
A: I wanted to extract the data tracks from a CD-Extra as an ISO and couldn't
find anything that would let me. So I wrote extricate.
Q: Ah, to get an ISO, you can just use "dd if=[cdrom device] of=[ISO file]".
A: Actually, that won't work to get the data track on a mixed mode CD like
a CD-Extra.
Q: How does it work?
A: By the power of unicorns.
Q: No, I mean, how do I use it?
A: Run it with no options to get usage instructions.
Q: I don't see an executable...
A: Just untar the archive and run "make". Geeze.
Q: I don't think you're doing it right, I can't mount the ISO using the
loopback device.
A: That's because the path table and directory structure of the ISO file refer
to the absolute positions of the data on the CD. Some programs have a switch
to compensate for that (e.g. the -N switch for isoinfo). I don't think mount
or losetup has a switch that quite does the trick (but I could be wrong.)
Q: So what the heck is it good for then?
A: If you burn the same audio data back to the CD, and then burn this ISO as a
second session, it should reproduce both the audio and data features of the
original CD. In theory. In fact, I haven't tried that yet, I don't have any
blanks on me. The whole purpose is for making backups of my CDs in some
useful format like FLAC and have ISOs of the data tracks of those CDs that
have them. I've had a number of CDs over the years that have been destroyed
by scratches and the like, and it's not cool. It's also super convenient to
have your whole CD collection on your hard drive so you can easily encode them
for your portable.
Q: I looked at your code, and it kinda sux, and it's hard to use.
A: Quick and dirty, baby. It's entirely possible that I'm misusing the ioctls
for reading from a CD, or that I'm using features that aren't supported on
some drives. The docs aren't completely transparent.
Q: I have a bugfix, patch, improvement, complaint, fanmail, marriage
proposal, attaboy, beer and/or money to send - where should it be
directed?
A: I live at <phong@phong.org>.
Q: Where can I get the latest version?
A: Right here...
Screenshot:
phong@poecilotheria:phong/rips $ extricate /dev/cdroms/cdrom1 'Clutch - The Elephant Riders.iso' Drive ready... Mixed type CD detected... Start track: 1 End Track: 11 Track 1 (audio): 00:02:00 (0) Track 2 (audio): 03:52:24 (17274) Track 3 (audio): 08:14:65 (36965) Track 4 (audio): 12:35:74 (56549) Track 5 (audio): 15:33:43 (69868) Track 6 (audio): 20:33:15 (92340) Track 7 (audio): 26:18:06 (118206) Track 8 (audio): 30:11:07 (135682) Track 9 (audio): 33:54:47 (152447) Track 10 (audio): 39:04:67 (175717) Track 11 (data) : 51:53:14 (233339) Leadout (data) : 66:06:29 (297329) Copying track 11 to 'Clutch - The Elephant Riders.iso'... 100% (66:06:28) Done. Remember, the path table and directory structure of the iso reflect the fact that the ISO filesystem starts on sector 233339 (51:53:14) of the CD. If it is burned to another CD at a different position, it won't work. Likewise, any program that reads the iso will need to be able to compensate for the offset. Try, for example: isoinfo -N 233339 -d -i 'Clutch - The Elephant Riders.iso' phong@poecilotheria:phong/rips $ isoinfo -N 233339 -d -i 'Clutch - The Elephant Riders.iso' CD-ROM is in ISO 9660 format System id: APPLE COMPUTER, INC., TYPE: 0002 Volume id: CLUTCH Volume set id: Publisher id: Data preparer id: Application id: TOAST ISO 9660 BUILDER COPYRIGHT (C) 1993-1996 MILES SOFTWARE GMBH - HAVE A NICE DAY Copyright File id: Abstract File id: Bibliographic File id: Volume set size is: 1 Volume set sequence number is: 1 Logical block size is: 2048 Volume size is: 297029 NO Joliet present NO Rock Ridge present phong@poecilotheria:phong/rips $