Burning audio and Data Cd's in Linux

May 15, 2005
Linux started its debut as a hackers operating system. So most of the things including burning CDs were (and still are) accomplished using command line tools. Though now there are excellent GUI wrappers available which shield the user by giving a nice front-end to these tools. Before I talk about the GUI available,I would like to dwell a bit on the set of command line tools which do the grunt work of burning CDs and DVDs. In Linux we have an excellent set of command line tools for burning CDs and DVDs. These are as follows:
  • cdrecord,dvdrecord : These are the tools that actually burn the data or audio tracks on to your CDs and DVDs.
  • mkisofs : Prior to using cdrecord, you have to create an ISO image of the files you want to burn on to the CD. This tool helps you accomplish that.
  • growisofs : This is a front-end to mkisofs which can be used to create amoung other things multi-session CD/DVDs.
  • cdrdao : This is just like cdrecord but can be used to create mixed CDs. That is CDs containing both data and audio tracks.
Here I will give an example each of creating an ISO image using mkisofs as well as burning the ISO image using cdrecord.
Creating an ISO image using mkisofs
syntax 1:

$ mkisofs -R -J -iso-level 2 -o output_filename.iso input_filename/directory
{-J = Jouliet} {ISO Level 1 to 3} {-R = Rockwell}

syntax 2:

$ mkisofs -J -o target_file.iso -path-list your_listof_filenames.txt -graft-points

This syntax of mkisofs is used for creating a ISO image from a file containing a list of all the files that should be included in the CD ISO image. The filenames are included one per line.
syntax 3: Creating an image of an already bootable CD
$ dd if=/dev/cdrom of=/path/to/iso/image.iso bs=8M
Burning images on to the CD using cdrecord
This is a two step process.
step 1: Find out the value of the dev option using the command
$ cdrecord --scanbus
step 2: Now burn the image on to the CD using the cdrecord command:
$ cdrecord -v speed=4 -data -eject dev=[the value you got in the previous step] -dao -mode1[2] /path/to/file.iso
These tools are 100% reliable and are enough to get the job of burning CDs and DVDs. But as you can see, there are a whole lot of options used and, sometimes there is the risk of mistakes happening due to passing wrong options to the commands.
Earlier I used to burn CDs using these tools for lack of a reliable and easy to use front-end. But now there are a plethora of GUI front-ends that use these tools in the background and assist the user to burn CDs/DVDs with ease.
One of these GUI's I really liked is K3b the CD creator. This package is included in all major Linux distributions including Fedora. When you start K3b, you are provided a clean and simple interface which shows in easy to understand language and icons, the things a user can accomplish. The tasks are divided into four projects that is :
  1. New Audio CD project
  2. New Data CD project
  3. New Data DVD project and
  4. CD to CD copying dialog
Other than those stated above, you can also create mixed CDs containing both audio and data tracks as well as video CDs and DVDs by accessing the [File > New Project] menu. When you give the burn command, you are provided a nice dialog box where you can select to create single session or multi-session CDs.Whether to generate RockRidge, Joliet or UDF extentions for your filesystem and many advanced options like support for ISO level 1,2,or 3 and so on. And erasing and rewriting your RW CD is a clinch.
Infact after using this excellent software, I am of the opinion that K3b can be put in the same league as its windows counterpart Nero Burning ROM. Writing CDs/DVDs in linux had never been this easy. Here are a few screenshots of the K3b CD creator user interface.

K3b CD Kreator

Data Project Dialog

Finished Writing the CD