Writing (or "Burning") DVDs is different from CDs. DVDs can contain much more data (I use 4.7GB single-layer discs), and the standard CD writing tools don't suffice anymore.
This howto only covers a very simple part for now: writing data onto DVDs using the command line.
Tools for the job
- You still need the standard CD writing tools known as cdrtools (which can be replaced by cdrkit).
- You also need the new DVD writing tools known as dvd+rw-tools, found in the extra repository.
Note 1: Do not install the package known as dvdrtools. It conflicts with cdrtools, and dvd+rw-tools is a better DVD writing package than dvdrtools.
Note 2: If you wish to use a graphical frontend, install k3b and you need to read no further.
Note 3: I used to use xcdroast for my CD writing needs, but I found it to have grown buggy and outdated. I also don't trust its method for writing DVDs. However, if you can reconcile my view on xcdroast, feel free.
Update 2006-07: I have found graveman to be an excellent replacement for xcdroast, so you can also use that instead.
Getting the job done
Your new friend to burning DVDs will be the command 'growisofs' from the DVD+RW-tools package. If you've ever written CDs from the command line before, you'll know the process of first creating an iso9660 file (mkisofs), and then burning it to CD (cdrecord). growisofs merges these steps for you, so you don't need extra storage space for the ISO file anymore. Another advantage is that multisession? writing has been simplified. I won't explain how it used to be done, but I will explain how it works with growisofs.
In basics, writing a new DVD goes like this:
growisofs -Z /dev/cdrw -r -J /path/to/files
Where /dev/cdrw is your DVD writer device.
To continue a DVD (write an additional session) you use:
growisofs -M /dev/cdrw -r -J /path/to/files
-Z: start at the beginning of the DVD using the following device,
-M: start after the last session on the disc using the following device,
-r: Rockridge support with sane permission settings (Recommended, extended UNIX info. Note that -r will choose a different permissions than the real ones, to use the exact permissions use -R instead, see the manual page of mkisofs for more information),
-J: Joliet support (Recommended, extended info for Win NT and Win95).
Burning DVDs from ISO Image Files
To burn a DVD from an ISO image use:
growisofs -Z /dev/cdrw=/path/to/iso
If you want to copy an existing DVD one way that works is to make an iso using readcd:
readcd -v dev=/dev/cdrw -f isoimage.iso
as per the CD burning tips in the CD burning howto in this wiki, then use the growisofs example above to burn the iso to a new blank disc.
Although the above might suffice for you, I myself needed some extra settings to successfully write my DVD (I hope I didn't scare you off yet).
The template that I use to start off my DVD writing:
growisofs -Z /dev/cdrw -v -l -dry-run -iso-level 3 -R -J -speed=2 -joliet-long -graft-points /Magazines/=/home/citral/books/mags/
Don't worry. I'll explain what everything does:
- -Z: As seen above, this tells to start off a new DVD. If I wanted to continue a multisession DVD, I'd use -M.
- -v: Increase verbosity level (more output).
- -l: Breaks DOS compatibility but allows for longer filenames.
- -dry-run: Important flag: Simulate writing. Remove this flag if you are sure that everything is set up correctly.
- -iso-level 3: Basically this flag just defines how strict you want to adhere to the iso9660 standard. -iso-level 1 is very strict; while -iso-level 4 is very loose. I use level 3 because I don't want to be limited (length of filenames for example), and so far I haven't ran into problems.
- -R/-J: see above.
- -speed=2: Just to be sure, I start burning at 2x speed.
- -joliet-long: Allows longer joliet filenames. The manual advices caution, but so far I had no problems.
The final part needs some more explanation:
This specifies that I don't want the files at the root of my DVD, but in the subdirectory 'Magazines'.
From the mkisofs manual:
- This is easiest to illustrate with a couple of examples. Let's start by assuming that a local file ../old.lis exists, and you wish to include it in the cdrom image.
- will include the file old.lis in the cdrom image at /foo/bar/old.lis, while
- will include the file old.lis in the cdrom image at /foo/bar/xxx. The same sort of syntax can be used with directories as well. mkisofs will create any directories required such that the graft points exist on the cdrom image - the directories do not need to appear in one of the paths.
As a last note: growisofs is basically just a frontend to mkisofs. That means that any option to mkisofs also works to growisofs. You can check the mkisofs manpage for options you want to add.
The process for burning rewritables is practically the same as normal DVDs. However, keep in mind that virgin DVD+RW media needs to be initially formatted ("blanked") prior to usage. Blanking can be done using the program dvd+rw-format, like this:
Where /dev/cdrw is your DVD writer device.
If you encounter the permmission denied error as show below:
:-( unable to open64("/dev/sr0",O_RDONLY): Permission denied
You have to put your user name into the group "optical" like this:
$ sudo usermod -aG optical username
Please, note that growisofs doesn't allow sudoed run.