Re: [Bashburn-info] Copy Data CD to CD Issues
Brought to you by:
bashburn
From: Steven W. O. <st...@sy...> - 2008-10-02 16:15:56
|
On Thursday, Oct 2nd 2008 at 05:27 -0000, quoth Nick Warne: =>On Thu, 2 Oct 2008 09:08:26 +0100 =>Nick Warne <ni...@li...> wrote: => =>> On Wed, 1 Oct 2008 15:41:41 -0400 (EDT) =>> "Steven W. Orr" <st...@sy...> wrote: =>> =>> =>> > =>No, I didn't analyse it at all. =>> > => =>> > =>1) Copy Data CD (CD to CD) =>> > => =>> > =>is where this issue is. I haven't looked at code at due to =>> > testing all =>the other stuff. =>> > =>> > I just looked at the code and it looks funny (not ha ha funny). What =>> > we're basically doing, I think, is this: =>> > =>> > mkisofs | cdrecord =>> > =>> > which is probably ok. But what's coded is this: =>> > =>> > mkisofs -o fn.iso | cdrecord fn.iso =>> > =>> > If cdrecord gets a filename arg on the commandline then it's not =>> > going to read from its pipe. Same for mkisofs: =>> > =>> > -o filename =>> > is the name of the file to which the iso9660 =>> > filesystem image should be written. This can be a disk file, a tape =>> > drive, or it can correspond directly to the device name of the =>> > optical disc writer. If not specified, stdout is used. Note that =>> > the output can also be a block special device for a regular disk =>> > drive, in which case the disk partition can be mounted and =>> > examined to ensure that the premastering was done correctly. =>> > =>> > The last person to put his dirty mitss on this module before I =>> > hacked on it was (drum roll please) Anders on rev 388. Anders, can =>> > you look at this one? What we currently have is this =>> > =>> > mkfifo BBCDCOPY =>> > ${BB_READCD} ${BB_READ_OPTS} -o ${BBBURNDIR}/BashBurn.iso \ =>> > ${BBCDMNT} | ${BB_CDBURNCMD} dev=${BBCDWRITER} =>> > ${BBDTAO} \ -v -data -eject ${BBBURNDIR}/BashBurn.iso =>> > echo $bb_dm_ch2_5 =>> > rm ${BBBURNDIR}/BashBurn.iso =>> > =>> > and I think it should be this =>> > =>> > ${BB_READCD} ${BB_READ_OPTS} \ =>> > ${BBCDMNT} | ${BB_CDBURNCMD} dev=${BBCDWRITER} =>> > ${BBDTAO} \ -v -data -eject =>> > echo $bb_dm_ch2_5 =>> > =>> > Also note that the mkfifo and the rm should be removed. =>> =>> OK, this isn't what I was talking about. =>> =>> This is what needs to happen. =>> =>> Test there is a data disc mounted/there is data in the mount point =>> (otherwise it carries on and tries to burn nothing). =>> =>> After the data has been burnt to disc, umount the disc before asking =>> user to insert a blank CD. => =>OK, I have attempted to fix that up. => =>It is a bit hairy, but I don't know what else to do. => =>I check if the device mount point $BBCDMNT is mounted =>Then later umount it, eject, before we get asked to put in a blank CD. => =>This, of course, will all fail if the device is wrong, or if it is =>mounted elsewhere. But its better than what we had. Nick, I took a poke at fixing up datafunc. It does need to be tested. Instead of mount | grep to see if the cd is mounted, just grep /etc/mtab. Also, I took out that mkisofs -o fn | cdrecord fn construct. It was the same as cat zzz | cat zzz only worse. The first cat (mkisofs) had a -o to specify an output filename. Then the second cat (cdrecord) had a filename on the commandline so it never read from the pipe. Now the data really is going through the pipe. -- steveo at syslang dot net TMMP1 http://frambors.syslang.net/ Do you have neighbors who are not frambors? Steven W. Orr |