Extricate

Extricate

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 .

Q: Where can I get the latest version?
A: Right here...

Extricate 0.2.0

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 $