dvd+rw-tools
Developer(s) | Andy Polyakov |
---|---|
Stable release | 7.1
/ March 5, 2008 |
Operating system | Cross-platform |
Type | DVD/Blu-ray writing |
License | GNU General Public License |
Website | fy |
dvd+rw-tools (also known as growisofs, its main part) is a collection of open-source DVD and Blu-ray Disc tools for Linux, OpenBSD, NetBSD, FreeBSD, Solaris, HP-UX, IRIX, Windows and OS X. dvd+rw-tools does not operate on CD media.[1]
The package itself requires another program which is used to create ISO 9660 images on the fly. This is provided by mkisofs (from the cdrtools package) or genisoimage (from the cdrkit package) or a symbolic link xorrisofs to xorriso (from the libisoburn or GNU xorriso package).[2]
Released under the GNU General Public License, dvd+rw-tools is free software.
Programs
[edit]- growisofs burns data to DVD or BD media.
- dvd+rw-mediainfo reports about drive and medium status.
- dvd+rw-format formats some types of media, blanks DVD-RW media.
- dvd-ram-control controls Defect Management and write protection of DVD-RAM media.
- dvd+rw-booktype sets the Book Type property of DVD media.
growisofs
[edit]growisofs is a SCSI/MMC driver in userspace for burning optical media, like cdrecord or libburn. Its original purpose is to coordinate burning with a run of mkisofs or genisoimage (depending on repository), so that ISO 9660 multisession writing becomes possible on DVD+RW media, making it possible to add new files to a partially written disc with existing files.[3][4]
Soon after, it supported all kinds of DVD media and later also BD (Blu-ray) media. Further it can burn preformatted data images onto the media, not needing any ISO 9660 formatter program for this task.
growisofs employs a Ring Buffer in userspace to smoothen the data transmission to the drive. The fill level of this buffer is reported during a burn run as "RBU", whereas the fill level of the drive's built-in buffer is reported as "UBU".
growisofs is able to create a UDF 1.02 file system that co-exists with the ISO9660 on the same disc or image, but it can not an create UDF-only disc or image. Additionally, multisessioning (adding new files to a disc with existing files) is only supported for ISO9660 file systems, not UDF.[5]
Some undocumented options in the program are prefixed with -use-the-force-luke=
, which is a Star Wars reference. Such options are not meant for regular use but for power users who "know what they're doing". For example, -use-the-force-luke=spare:none
doubles the writing speed on Blu-ray by deactivating the write verification process that ensures written data is readable right after it was written and repeats writing any data found to be unreadable. Deactivating it can be desirable to save time while mass-producing physical copies of data, given that errors are highly unlikely to occur on new blank media from a reputable brand. This option has no effect on DVD writing given that DVDs have no write verification feature.[6][7]
Note that "write verification" is not an official term for the feature, only a description for what it does.
Example usage:
growisofs -use-the-force-luke=notray -speed=6 -overburn -Z /dev/sr0 -r -udf -V "volume label (disc title)" "parent directory"
In this example, a file system is generated "on the fly", meaning in real time during the writing process. The -use-the-force-luke=notray
keeps the tray closed after the burning process to prevent it from collecting dust when the computer is not in use. -overburn
tells the drive to try burning beyond the available capacity of the disc. However, if the drive refuses to write beyond a certain point, the program can not overrule the drive. Without this option, growisofs will refuse to write data if it estimates the selected files exceed the size of the disc. -speed=6
sets a desired writing speed. If the speed is not supported by the drive or the disc type, the drive will usually write at a speed as close to the specified speed as possible.
The parameters Z /dev/sr0
are inherited from genisoimage and enable the Rock Ridge extension, create a UDF file tree for files that exceed 4 GiB, and specify a volume label to be shown in file managers. The commands inherited from genisoimage can not be specified intermittently with the ones specific to growisofs and have to come only after them, but can be in any order desired.
Like genisoimage, growisofs places the files and folders inside "parent directory" directly in the root directory of the disc, not inside a directory named "parent directory", like file archival utilities such as tar do.
growisofs -use-the-force-luke=notray -speed=4 -Z /dev/sr0=image.iso
Instead of generating a file system "on the fly", this command burns an existing image file to the disc. The commands inherited from genisoimage
or mkisofs
are not needed, since they are only necessary for creating a new file system.
References
[edit]- ^ Polyakov, Andy (27 November 2003). "Re: growisofs for cd-RW and DVD-RW?". cdwrite (Mailing list). Retrieved 28 October 2017.
No, growisofs does not work with nor is planned to work with CD-R[W]. My standpoint on the latter is [...]
- ^ Polyakov, Andy (March 2008). "Blu-ray Disc/DVD+RW/+R/-R[W] for Linux". Retrieved 12 October 2011.
Q. Do I still need cdrtools? A. Yes. [...]
- ^ growisofs(1) — growisofs — Debian bullseye — Debian Manpages
- ^ growisofs(1) — Arch manual pages
- ^ Blu-ray Disc notes for dvd+rw-tools - "[...] it is possible to burn bridge volume with large files with -udf option, but then multisessioning is out of picture."
- ^ Blu-ray Disc notes for dvd+rw-tools - "[…]most units will typically record at about 1/2 of the advertised media speed. This is because such units will spend every second revolution verifying the newly recorded data for defects.", "growisofs allows for SRM recordings without spare area through "undocumented" -use-the-force-luke=spare:none option, but it's not recommended[.]"
- ^ From the growisofs(1) manual: "There are several undocumented options commonly denoted with -use-the-force-luke prefix. Some of them serve debugging purposes. Some require certain knowledge about recording process or even OS kernel internals and as being such can induce confusing behaviour. Some are to be used in very specific situations better recognized by front-ends or automated scripts. Rationale behind leaving these options undocumented is that those few users who would actually need to use them directly can as well consult the source code or obtain specific instructions elsewhere."
External links
[edit]- Official website
- Source code of the lastest version of "growisofs" from March 2008, written in the C programming language.