📄 index.html
字号:
<P ALIGN="JUSTIFY">Otherwise <I>everything</I> that applies to[multisession] mastering with mkisofs applies to growisofs as well. Forexample just like with mkisofs you should make a note on which optionsyou used to master the initial "session" with and stick tothem, e.g.:<P><BLOCKQUOTE><PRE>growisofs -Z /dev/scd0 <FONT COLOR="red">-R -J</FONT> /some/filesgrowisofs -M /dev/scd0 <FONT COLOR="red">-R -J</FONT> /more/files</PRE></BLOCKQUOTE><P ALIGN="JUSTIFY">Oh! Do make sure you have at least mkisofs <FONTCOLOR="red">1.14</FONT> on your $PATH (mkisofs 1.14 is part of cdrtools1.10). If you consider passing <TT>/same/files</TT> as argument, or inother words consider deploying growisofs for <I>incremental</I>multisession backups, then you shall find <AHREF="mkisofs-2.01a16-root.diff">this '-old-root' extension</A> tomkisofs <FONT COLOR="red">2<AHREF="mkisofs-2.0-root.diff">.</A>0-2.01</FONT> simply indispensable.The idea and implementation by <AHREF="http://home.pages.de/~ohly/#mkisofs-root">Patrick Ohly</A> is to"graft" recording sessions as separate directories. Eachbackup increment/directory is ment to contain both updated files and<I>references</I> to previously backed up ones, which facilitatescomparison between increments as well as fine-graded restore.<P ALIGN="justify">Number of users asked about opposite tomultisessioning: multivolume support. Being essentially a recordingprogram growisofs does not support multiple volumes by itself. There'recouple of front-ends I can recommend that arrange for this: <AHREF="http://scdbackup.sourceforge.net/main_eng.html">scdbackup</A> and<A HREF="http://www.serice.net/shunt/">shunt</A>. But back togrowisofs...<P ALIGN="JUSTIFY"><B>In addition to intuitive -Z interpretation,</B>growisofs [version 3.3 and later] recognizes special form of -Z commandline option which permits burning of arbitrary pre-mastered images. The"magic" command is:<P><BLOCKQUOTE><PRE>growisofs -Z /dev/scd0<FONT COLOR="red">=</FONT>image.iso</PRE></BLOCKQUOTE><P ALIGN="JUSTIFY">where <TT>image.iso</TT> represents an <I>arbitraryobject</I> in the file system, such as file, named pipe or deviceentry. No, nothing is "growing" here and command name iscounter-intuitive in this particular context. And here is even lessintuitive<TT>:-)</TT> If you wish to burn down output generated by anarbitrary program, you can use:<P><BLOCKQUOTE><PRE>dumpsomething | growisofs -Z /dev/scd0=<FONT COLOR="red">/dev/fd/0</FONT></PRE></BLOCKQUOTE><P ALIGN="JUSTIFY">Burning BD-R/DVD±R implies extra limitations:<P><UL><LI>Needless to say that you have only one shot with -Zoption<TT>:-)</TT><!---<LI>Apparently media needs to be manually reloaded [ejected and pushedback again] after every burning session (well, if you haven't patchedthe kernel that is<TT>:-)</TT>---><LI>Unlike DVD+RW, DVD±R media does have notion of multiplesessions. <I>However!</I> Not all legacy units can "see"beyond the first one. Few DVD-ROM units are capable of DVD-Rmultiborder playback, even fewer support DVD+R multisessioning. Inother words your DVD burner might be the only unit in your vicinitycapable to access data added at different occasions.<LI>Even if your DVD unit does "sense" multiple sessions,Linux kernel [2.4] sometimes fails to pull that information from thedrive<TT>:-(</TT> Till the problem is looked into and resolved you canwork it around by reloading corresponding driver, most likely'<TT>rmmod sr_mod</TT>'.<LI>Linux kernel 2.6<<AHREF="http://marc.theaimsgroup.com/?l=linux-kernel&m=110330852622064&w=2">10</A>users might experience <AHREF="http://marc.theaimsgroup.com/?l=linux-kernel&m=108827602322464&w=2">problemsmounting multisession media</A> with last session starting beyond2.2GB boundary. As fast-acting remedy I can suggest to route your unitthrough ide-scsi, the way it was under 2.4. Even though it's declaredunsupported it actually still works in 2.6 (I for one still use it).<LI>If you go for BD-R/DVD±R multisessioning, you have to usemkisofs from <A HREF="ftp://ftp.berlios.de/pub/cdrecord/">cdrtools-2.0or later</A> or apply <A HREF="multi.diff">this patch</A>.<LI>And when it comes to <B>DVD+R Double Layer and <NOBR>DVD-R</NOBR>Dual Layer recordings,</B> growisofs applies yet another limitation,purely artificial. Taking into consideration Double Layer media pricesgrowisofs is programmed to <B>refuse to perform <I>unappendable</I>recordings which are less than 1/2 of blank capacity</B> and to adviceto use single layer media instead.<LI>DVD-R Dual Layer multisessioning is not supported for a reasondiscussed on the <A HREF="-RW/#nomultisess">-RW companion page</A>. Onceagain, as of the moment of this writing <NOBR>DVD-R</NOBR> Dual Layerrecordings come out unappendable and can not be grown.</UL><P ALIGN="justify">And once again, do keep in mind that 4.7GB aresalesman's GB, i.e. 1000<SUP>3</SUP> and not 1024<SUP>3</SUP>. Iftranslated to "real" GB, single layer<NOBR>DVD±R[W]</NOBR> capacity is not larger than 4.4GiB, and BD- not larger than 23.3GiB! It should also be noted that earliergrowisofs versions did not check if there is enough space on media toaccommodate the data set to be burned, meaning that it was your soleresponsibility to make sure "overburn" condition is notraised. As of version 5.2 growisofs performs the necessary checksfor you and refuses to start recording if "overburn"condition appears to be unavoidable. This behaviour can be overriddenwith <TT>-overburn</TT> command-line option.<P><LI><P ALIGN="justify">If you're satisfied with growisofs, then youshould <B>just proceed to <A HREF="#compat">the next chapter</A></B>and abstain from applying the <B>optional 2.4.x kernel patch.</B> Ifyou haven't stopped reading beyond this line, <AHREF="linux-2.4.patch">download</A> the patch, apply it, rebuild thekernel or modules and re-install (kernel or cdrom.o and sr_mod.omodules, whichever appropriate), but don't ask <I>me</I> <AHREF="http://www.linuxhq.com/patch-howto.html">how</A>. As you couldhave noticed, patch targets SCSI CD-ROM module. This means that you<I>have to</I> "route" your IDE unit through ide-scsi to get this oneworking. To see it in action, insert formatted DVD+RW media and try toaccess it, '<TT>dd if=/dev/scd<FONT COLOR="red">N</FONT> count=0</TT>'would do. Then verify that kernel logs "<TT>sr<FONTCOLOR="red">N</FONT>: mmc-3 profile: 1Ah</TT>". You should now beable to '<TT>mkisofs -pad . | dd of=/dev/scd<FONT COLOR="red">N</FONT>obs=32k</TT>' or even '<TT>mke2fs -b 2048 /dev/scd<FONTCOLOR="red">N</FONT></TT>' and observe kernel logging "<TT>sr<FONTCOLOR="red">N</FONT>: dirty DVD+RW media</TT>."<!--<P ALIGN="justify">If you have previous patch version applied, then youhave to back it out first. The simplest way is probably to restore<TT>drivers/scsi/sr*.[ch]</TT> and <TT>drivers/cdrom/cdrom.c</TT> fromyour original Linux source code ditribution.--> <P ALIGN="JUSTIFY"><B>Linux 2.6</B> DVD+RW kernel support is planned inline with DVD+MRW kernel support. This [unfortunately] means thatindustry has to deliver a DVD+MRW capable unit first. Yes, the lastsentence means that despite all the promises, there are no such unitsavailable on the market yet. As of the 1st of August 2003, Ricoh MP5240A,Philips DVDRW416K or BenQ DW400A do <B>not</B> actually implementMt.Rainier/EasyWrite support. It remains to be seen if they will offerit in form of firmware upgrade. In either case, the [original] projectgoal is not only read-write support for DVD+[M]RW capable unitsthemselves, but even playback of DVD+MRW formatted media in legacyDVD-ROM units (when defect list will be read and interpreted by OSsoftware in opposite to Mt.Rainier firmware).<A NAME="udf"><P><LI></A><P ALIGN="justify">Even though kernel nowpermits to build and mount arbitrary file system, there is one thing you<I>must</I> keep in mind before you just proceed, no matter howtempting it might appear.<P ALIGN="justify">As you might know DVD+RW media can sustain onlyaround 1000 overwrites. The thing about fully fledged file systemsis that every read [or tight bunch of 'em] is accompanied bycorresponding i-node update or in other words a write! Now, let's sayyou lookup the mount point (e.g. ls /mnt/dvd) ten times a day. Thisgives you a 100 days lifetime on your mountpoint and therefore media.Not really much, huh? So do use <TT>noatime</TT> mount option withDVD+RW media or have it mounted read-only most of the time. However!Every read-write mount "costs" a super-block update. So thatif you remount the media say 3 times a day, it would last for about ayear [<AHREF="http://people.mandrakesoft.com/~quintela/supermount/">supermount</A>would exhaust the "budget" way sooner]... Defect management[in firmware, a.k.a. <AHREF="http://www.licensing.philips.com/information/mtr/">Mt.Rainier</A>,or at file system level] would improve the situation, but ideallyfile system driver should definitely refrain from modifying thesuper-block [marking it dirty] if nothing was actually written sincelast mount. Given the development status of <AHREF="http://sourceforge.net/projects/linux-udf/">Linux UDF</A> thechances for seeing the latter implemented [for UDF] are more than justconceivable. The request is already filed and even possible solution isbeing discussed. But why not give UDF a shot already then? By defaultUDF write support is unfortunately disabled and you might have toreconfigure the kernel and rebuild modules. Alternatively [my preferredoption actually] fetch the code at <AHREF="http://sourceforge.net/projects/linux-udf/">SourceForge</A> andbuild the module separately. Of course you will have to fetch and buildudftools as well. But once it's done just type:<P><BLOCKQUOTE><PRE>mkudffs --spartable=2 --media-type=cdrw /dev/scd<FONT COLOR="red">N</FONT>mount -o rw,noatime /dev/scd<FONT COLOR="red">N</FONT> /mnt/cdrom</PRE></BLOCKQUOTE><P ALIGN="JUSTIFY"><TT>mkudffs</TT> command line options were suggestedby UDF maintainer, Ben Fennema.<P><LI><P ALIGN="JUSTIFY">Performance optimization. This paragraphapplies only if you've patched the kernel. As some of you mightremember the original recommendation was "do use <TT>obs=32k</TT>for optimal performance." Well, it was rather naive of me to sayso, as common block device layer <I>completely</I> reorganizes thestream so that '<TT>>/dev/scd0</TT>' is as good as '<TT>|ddof=/dev/scd0 obs=32k</TT>'. It should also be noted that dumping to/dev/scd0 puts quite a pressure on VM subsystem, as the data passesthrough block buffer cache. To minimize the pressure and improveoverall system performance bind the cdrom device to a raw device, e.g.'<TT>raw /dev/raw/raw1 /dev/scd0</TT>', growisofs will locate and useit automatically. obs=32k makes perfect sense with /dev/raw devices,but dd (as well as most other programs, e.g. tar) won't work as/dev/raw expects specifically aligned buffer... As <I>temporary</I>workaround, just to get you going so that you can start figuring thingsout, consider <AHREF="http://fy.chalmers.se/~appro/LD_*-gallery/index.html?aligned_io#aligned_io">this"hacklet"</A>...</UL><A NAME="compat"><P><HR></A><H3>Compatibility: caveat lector</H3><P><HR WIDTH="50%" ALIGN="LEFT"><P ALIGN="JUSTIFY">This paragraph discusses "DVD-ROMcompatibility," or playability of already recorded media in legacyunits. Blank media compatibility issues, or cases such as failure tostart or fulfill recording because of poor media support by burnerfirmware, are beyond the current scope. Turn to your vendor for list ofsupported media and/or to the <AHREF="mailto:cdwrite@other.debian.org">public</A> to share yourexperience.<P ALIGN="JUSTIFY">In order to optimize seek times DVD[-ROM] playerscalibrate their mechanics every time the media is loaded by slidingthe optical head some place, picking up the signal and noting thephysical block address underneath the lens. In order for this procedureto work with re-writable/recordable media, that particular spot has tobe written to [or de-iced in DVD+RW terms]. Some units slide the head to30mm [radial] to calibrate, some to 35mm. In order to keep such players"happy," make sure that at least 1GB is written [before youattempt to mount it in <NOBR>DVD-ROM</NOBR> unit].<P ALIGN="JUSTIFY">Other units attempt to seek to lead-out [or vicinityof it] for calibration purposes. Now the catch is that it's perfectlypossible to produce a DVD+RW disc without lead-out. Most notably mediainitially formatted with <NOBR>dvd+rw-format</NOBR> [apparently]doesn't have any lead-out, not to mention that practically wholesurface remains virgin. If you fail to mount/play DVD+RW media, attemptto<BLOCKQUOTE><PRE>dvd+rw-format -lead-out /dev/scd<FONTCOLOR="red">N</FONT></PRE></BLOCKQUOTE><P ALIGN="JUSTIFY">which relocates the lead-out next to outermostwritten sector as well as makes sure there is no virgin surface beforeit. Previously written data is <B>not</B> affected by this operation.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -