This is a discussion on cdrecord multisession not working within the Linux General forums, part of the Linux Forums category; I'm trying to burn multisession CDs. It doesn't appear that gnomebaker supports it, so I'm trying to ...
|
|||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
|
|||
|
I'm trying to burn multisession CDs. It doesn't appear that gnomebaker
supports it, so I'm trying to do it using mkisofs and cdrecord. I started by using mkisofs to create an image: mkisofs -v -r -J -V MyLabel -o myimage.iso mydata I then burned it using: sudo cdrecord dev=ATAPI:0,0,0 -v speed=4 -data -eject -multi -tao myimage.iso This worked fine and I could view the data under Linux and Windows. For the next session I ran: sudo mkisofs -v -r -J -C 'cdrecord dev=ATAPI:0,0,0 -msinfo' -M ATAPI:0,0,0 -o mynewimage mynewdata I used sudo because cdrecord needed it. I forgot the .iso extension (but I don't think that matters). I tested the new image using: sudo mount -t iso9660 -o ro,loop mynewiso /mnt/iso Everythiing looked good. I new all files and listed and I was able to access the new file I just added. I ran: sudo cdrecord dev=ATAPI:0,0,0 -v speed=4 -data -eject -tao -multi mynewimage It looks like it ran fine, but when I mount the disk I only see the first session's files. It looks like cdrecord did not write the new TOC. I ran cdrecord 2 more times playing around with unmounting to see if I had a lock problem, but the same thing happened. cdrecord looks like it worked (it writes about 5MB which is the size of the new file I added), but I can't get access to it. I tried loading the CD on a Windows machine, only could see the original files. I ran: sudo cdrecord dev=ATAPI:0,0,0 -toc It shows 4 tracks (one for each of the sessions I wrote). I tried mounting the CD with -o session=4. But it still only shows the original files. I tired mounting using -o sector=xxx but mount would not work. The only thing I see is I get this message when running cdrecord: cdrecord: Warning: Running on Linux-2.6.10-5-386 cdrecord: There are unsettled issues with Linux-2.5 and newer. cdrecord: If you have unexpected problems, please try Linux-2.4 or Solaris. I'm running Ubuntu Hoary Hedgehog. Is this a known issue with the version of Linux I'm running? Does anyone have any ideas on what I'm doing wrong? Thanks, Steve |
|
|||
|
On Fri, 29 Jul 2005 11:35:03 -0400, Steven Feinstein staggered into the
Black Sun and said: > I'm trying to burn multisession CDs. It doesn't appear that gnomebaker > supports it k3b does. > mkisofs -v -r -J -V MyLabel -o myimage.iso mydata > cdrecord dev=ATAPI:0,0,0 -v speed=4 -multi -tao myimage.iso > This worked fine. > > For the next session I ran: > mkisofs -v -r -J -C 'cdrecord dev=ATAPI:0,0,0 -msinfo' -M > ATAPI:0,0,0 -o mynewimage mynewdata No. You used ''s when you needed ``s. When you put a command within ``s, your shell will execute that command and replace the part within ``s with the output of that command. If the font you're using doesn't make it easy to distinguish '' and ``, use a different font. Also, the -M option to mkisofs wants a real device name, not a cdrecord X,Y,Z triplet. Note that cdrecord can also take real device names instead of triplets, and that may be the best thing to use despite what Joerg thinks. > cdrecord dev=ATAPI:0,0,0 -v speed=4 -data -eject -tao -multi mynewimage > > It looks like it ran fine, but when I mount the disk I only see the > first session's files. It looks like cdrecord did not write the new > TOC. Yep, without the right stuff in -C and -M, bad things typically happen. > cdrecord dev=ATAPI:0,0,0 -toc > shows 4 tracks (one for each of the sessions I wrote). I tried > mounting the CD with -o session=4. But it still only shows the > original files. Get the -C right. You may want to split the commands up; it may be easier to understand this way: SESS=`cdrecord dev=/dev/hdc -msinfo` mkisofs -r -C $SESS -M /dev/hdc -o output.iso /path/to/stuff cdrecord dev=/dev/hdc speed=N -v output.iso > cdrecord: Warning: Running on Linux-2.6.10-5-386 > cdrecord: There are unsettled issues with Linux-2.5 and newer. Red herring. Joerg thinks that Linux's SCSI device handling is broken because it doesn't do things the way he thinks is best, so he put those messages in. Ignore them; they make no difference at all according to the many CDs I've burned with 2.6.10-vanilla. HTH, -- Matt G|There is no Darkness in Eternity/But only Light too dim for us to see Brainbench MVP for Linux Admin / mail: TRAP + SPAN don't belong http://www.brainbench.com / -----------------------------/ This space sort of for rent. |
|
|||
|
Dances With Crows wrote:
> On Fri, 29 Jul 2005 11:35:03 -0400, Steven Feinstein staggered into the > Black Sun and said: > >>I'm trying to burn multisession CDs. It doesn't appear that gnomebaker >>supports it > > > k3b does. I'm running Gnome and wanted to not have to download the KDE libs. I have used k3b before and liked it, but I did have trouble with multisessions if the multisession was created using a Windows App (I haven't tracked this down yet and for all I know I will have the same problem with cdrecord and mkisofs). > > >>mkisofs -v -r -J -V MyLabel -o myimage.iso mydata >>cdrecord dev=ATAPI:0,0,0 -v speed=4 -multi -tao myimage.iso >>This worked fine. >> >>For the next session I ran: >>mkisofs -v -r -J -C 'cdrecord dev=ATAPI:0,0,0 -msinfo' -M >>ATAPI:0,0,0 -o mynewimage mynewdata > > > No. You used ''s when you needed ``s. When you put a command within > ``s, your shell will execute that command and replace the part within > ``s with the output of that command. If the font you're using doesn't > make it easy to distinguish '' and ``, use a different font. Also, the > -M option to mkisofs wants a real device name, not a cdrecord X,Y,Z > triplet. Note that cdrecord can also take real device names instead of > triplets, and that may be the best thing to use despite what Joerg > thinks. > I originally used ``s, but for some reason it was not getting accepted so I switched to ''s. Because I could mount the image, I thought it had worked correctly. I tried what you suggested. I switched back to uising ``s and I used device names instead of the triplets. Everything worked great with one small exception, I can't mount the new image. I get back the error: mount: Not a directory used the command: sudo mount -t iso9660 -o ro,loop newimage.iso /mnt/iso But I burned the image with cdrecord anyway and it worked :) So it looks like I have a working solution (just not sure what the problem with mounting the image is - which I like to do for testing). Thanks, Steve |
|
|||
|
On Fri, 29 Jul 2005 12:44:52 -0400, Steven Feinstein staggered into the
Black Sun and said: > Dances With Crows wrote: >> On Fri, 29 Jul 2005 11:35:03 -0400, Steven Feinstein staggered into >> the Black Sun and said: >>>I'm trying to burn multisession CDs. >>>mkisofs -v -r -J -V MyLabel -o myimage.iso mydata >>>cdrecord dev=ATAPI:0,0,0 -v speed=4 -multi -tao myimage.iso >>> >>>mkisofs -v -r -J -C 'cdrecord dev=ATAPI:0,0,0 -msinfo' -M >>>ATAPI:0,0,0 -o mynewimage mynewdata >> No. You used ''s when you needed ``s. Also, the -M option to >> mkisofs wants a real device name, not a cdrecord X,Y,Z triplet. Note >> that cdrecord can also take real device names instead of triplets, > I originally used ``s, but for some reason it was not getting accepted > so I switched to ''s. Because I could mount the image, I thought it > had worked correctly. When you use both the -M and -C options to mkisofs, an ISO image that isn't a "full" ISO image is created. This image starts at the sector marked with -C , and is -Merged with the existing ISO on the device you specified to -M. Take a look at the output of mkisofs when you've used -M and -C; it'll consist of 0x00 up to the point where -C starts. > I switched back to uising ``s and I used device names instead of the > triplets. Everything worked great with one small exception, I can't > mount the new image. Nope. See first paragraph for why. You may be able to feed mount the session= and/or sbsector= options to get it working if you think you need to do that. The sbsector= parameter should be available from the -msinfo command you executed with cdrecord. > But I burned the image with cdrecord anyway and it worked :) So it > looks like I have a working solution (just not sure what the problem > with mounting the image is - which I like to do for testing). You shouldn't really need to mount the image with loopback. The whole multisession thing has been well-understood for a while, so the mkisofs output should be fine no matter what. Also, remember that multisession ISO9660 has overhead. You can burn at most about 40 sessions to a CD, so burning small chunks of data is not really optimal. -- Matt G|There is no Darkness in Eternity/But only Light too dim for us to see Brainbench MVP for Linux Admin / mail: TRAP + SPAN don't belong http://www.brainbench.com / -----------------------------/ This space sort of for rent. |
|
|||
|
Dances With Crows wrote:
> When you use both the -M and -C options to mkisofs, an ISO image that > isn't a "full" ISO image is created. This image starts at the sector > marked with -C , and is -Merged with the existing ISO on the device you > specified to -M. Take a look at the output of mkisofs when you've used > -M and -C; it'll consist of 0x00 up to the point where -C starts. > > > You shouldn't really need to mount the image with loopback. The whole > multisession thing has been well-understood for a while, so the mkisofs > output should be fine no matter what. > > Also, remember that multisession ISO9660 has overhead. You can burn at > most about 40 sessions to a CD, so burning small chunks of data is not > really optimal. > Not optimal, but sometimes needed. Thank you for for all of your help. I'm understanding how it works better. Steve |