Cdrtools : Java Glossary

I have left this tombstone entry for historical interest.

CDRtools is defunct. For a command line Linux CDR burner, see libburnia.
It took me many days and help from several people, including the program’s author, to successfully back up my first DVD (Digital Video Disc). I hope this essay will let you do it in under an hour. This is complicated tool.

Cdrtools is a free, open source suite of utilities for reading and writing CDs (Compact Discs) and DVD s. The current version is 3.00 Last revised/verified: 2011-11-17. They are written in C and the author distributes source. Users are expected to port/build them for various platforms. This approach means they are available for many platforms, including Windows under Cygwin. These are unusually complicated utilities, intended for those who need control over every detail. The suite has been around for 21 years and is well respected.

Creating a CD (Compact Disc) or DVD by writing to a one-time recordable disc, or an erasable re-writable disc. To do this from Java, you need software that makes the CD look like a hard disk, e.g. Roxio DirectCD. However, this creates CDs that can only be read with Roxio software. Cdrtools give you the option of quickly creating a DAO (Disc At Once) CD /DVD.

Acquiring Cdrtools

Acquiring Cdrtools
Tool Download Windows Executables Manual Purpose C Source Code For Other Platforms
Cygwin download32 manual Simulates Unix for Cdrtools under Windows download

Types of CD/DVD Filesystem Formats

You chose the file system for your burn based on the type of computer that will read the CD/DVD.

Types of CD/DVD File Systems
Type Max
Filename Length
In Bytes
Filename Encoding mkisofs
ISO-9660 180 8 upper case only -iso-level 4 The original Spartan format. Universally supported
Joliet 64 no limit Unicode -J Microsoft’s extension to ISO-9660. Do not use in combination with -iso-level
RockRidge 128 no limit Unicode -R Popular in Unix/Linux. Extension to ISO-9660. 255-bytes of UTF-8 and Unix file meta information such as permissions and extended timestamps.
HFS (Hierarchical File System) 31 no limit Mac OS Roman -hfs Was popular on Apple. No longer supported.
HFS+ (Hierarchical File System Plus) 255 no limit Unicode n/a Popular on Apple OS 8.1+, iPod.

Disc At Once Burning With Cdrtools

To create standard Joliet format CD s, DVD s, or Blu Rays, you need to create a *.iso file which is an exact image of what will go on the CD. You can create that with the free, open-source Cdrtools MkISOFS. Basically you give it a list of files, and it creates a giant *.iso file image. You can then zip that and email it or feed it to the venerable Cdrtools cdrecord CDRecord (cdrecord manual) to actually burn a CD on DVD DAO-style.

You first have to install Cygwin, to partially simulate Unix under Windows.

Installing Cdrtools is fairly tricky since in theory you must compile the C source yourself and deal with ATAPI (Advanced Technology Attachment Packet Interface) and ASPI (Advanced SCSI Programming Interface) drivers for the burner and use Cygwin Unix-like scripting. The author, Jörg Schilling, distributes only source. He figures everyone is a C programmer who would enjoy porting it to their platform. Happily there are C programmer volunteers who take his source and build it for various platforms and post the binaries and post it in random spots on the Internet.

Download the Cdrtools for Windows zip and extract the files including mkisofs.exe and cdrecord.exe to your cygwin/bin directory on the path. The utilities are designed to run as part of a BASH (Bourne Again Shell) script or in a BASH command processor. That gives them access to the cygwin.dll runtime. If all is well, clicking the Cygwin icon on the desktop will open a BASH command shell. Type mkisofs. You should get an error message telling you about its parameters. Ditto for cdrecord.

Now read the manuals for mkisofs and cdrecord and figure out what parameters you need to build the disc image and burn it to CD/ DVD. The catch is the mkisofs manual has 53 pages of options and cdrecordhas 54 pages. You only need to use a handful of them, but the docs, in typical Unix fashion, treat them all as equally important. You are best to start at the end looking at the examples. Once you get that working, write a *.bsh script containing your commands and link to it from you *.bat file with X:\cygwin\bash.exe bktozipwithcdrtools.bsh

The script (which must use Unix line separator conventions) would look something like this:

If you were using Unix/Linux/Ubuntu you would either create or find the Cdrtools binaries for your platform. You would not need Cygwin, but you know that.

The bottom line is, even after a day of fooling around all I could do is get the suite to prepare DVDs (Digital Video Discs) that Windows said were corrupt and unusable.

Andreas Leitgeb offers this tip: If you are having trouble making mkisofs and crdrecord work, you first have to figure out which utility is causing the problem. You can create quite pile of defective DVDs with your experiments. You can save blanks by creating an iso disc image containing a couple of small files (with international names). Then either find some software for Windows that lets you mount an iso-file as if it were a CDROM (Compact Disc Read Only Memory), or move it to a Linux machine and loopback-mount it there sudo mount -oloop file.iso /mnt If the iso is small enough and doesn’t contain private information, you could upload it to a server and ask others to examine it.

This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number