2

I am trying to read a Multi-Session CD (produced on a MS Windows system) on Linux. I want to access the individual sessions.

I have found that I can write:

mount -t iso9660 -oro,session=2 /dev/dvd /mnt/dir

This works as far as it goes. I have three remaining problems:

  1. How do I enumerate the existing sessions?
    Edit: It seems I can get a partial listing via wodim dev=/dev/sr0 -toc This shows the tracks, but not English readable track details.

  2. How do I mount more than one session at a time? (Currently, when I attempt to mount a second session, it just links the existing mount to the new mount point.)

  3. How do I get it to fail for a non-existing session? (Currently, it just opens the last session. Apparently there are printk message I could read.)

Formerly, I would have used CDfs, and (I think) had no problems with any of these issues. Unfortunately, it isn't supported any more.

0

1 Answer 1

-2

The program wodim has been created by a group of OSS-hostile people in May 2004 with the intention to fool users. wodim did not get fixes since August 2004 even though there are plenty of bug-reports against that specific variant of the software, so do not use it.

You better use the original software cdrtools and the program cdrecord and you should know that is is unwise to call cdrecord with arguments like dev=/dev/sr0 in special when you are on Linux since Linux implements several competing drivers of different quality for the same hardware that are available at the same time and dev=/dev/sr0 typically enforces to use the worst of the existing drivers. If you use the officially documented syntax for dev=, cdrecord is able to automatically select the best driver available instead and if you only have one optical drive in your machine, cdrecord even automatically discovers the right interface by it's own if you ommit dev= completely.

For your wishes, the best way to go is to call:

cdrecord -minfo

as this lists all tracks and all related sessions and their numbers. You may need to experiment in order to find out whether your OS has an offset-by-one problem with the session number with the mount option.

Note that the option -minfo has been added in November 2006, so you need a cdrecord version that is recent enough... Some unfriendly Linux distros may not have updated their software since then. Gentoo, Arch, Suse, ... are some friendly Linux distros with up-to-date software.

It may be of interest that the original software more than doubled it's source code and it's feature set since 2004, when the OSS hostile people created the fork you are using.

If your distro is one of the unfriendly distros, get the recent source in schilytools from http://sourceforge.net/projects/schilytools/files/ and compile it by just calling make.

Let me add parts from a typical output from a mult-session CD as seen in the net as a result from a cdrecord -minfo -v call:

  ATIP start of lead out: 359847 (79:59/72)
...

Track  Sess Type   Start Addr End Addr   Size
==============================================
    1     1 Data   0          299        300         -1
    2     2 Data   11702      21333      9632     11402
    3     3 Data   28236      78091      49856     6902
    4     4 Blank  84994      359844     274851    6902

Last session start address:         28236
Last session leadout start address: 78092
Next writable address:              84994
Remaining writable size:            274851

BTW: the last colum without header is the size of the lead out area after the recorded data. The first lead out size is 11402 sectors, the size of the other lead out areas is of the reduced size 6902 sectors.

In this case, there are 3 written session on the disk. The 4th session mentioned in the list is the remaining free space on the medium.

Finally, let me add a comment on the baseless claims frequently seen against the original cdrtools, where people assert that cdrtools allegdly have a license problem. The legal department fom Sun Microsystems, Oracle and SUSE as well as Eben Moglen all made an in depth analysis and confirmed that there never has been any license problem with the original cdrtools.

2
  • I tried cdrtools-3.01.tar.bz2 from sourceforge.net/projects/cdrtools/files It doesn't like argument dev=/dev/sr0 (though it works). -minfo does report the type as "data", and reports the end of the tracks (which -toc doesn't). I fear I see little benefit in using cdrecord, and that fact that it requires more rights tips the scales against it. (And I'm not going to try "schilytools" -- it seems to be a mishmash of unrelated stuff.)
    – David G.
    Commented Aug 24, 2020 at 15:20
  • You may add -v to cdrecord to get more information from -minfo, see man page: schilytools.sourceforge.net/man/man1/cdrecord.1.html If you do not get the information you like, please post the results to your edited answer. I currently do nothave access to a CD drive and a multi-session CD to test myself.
    – schily
    Commented Aug 24, 2020 at 15:59

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .