Difference between revisions of "CD Burning"

From ArchWiki
Jump to: navigation, search
m (<tt>text</tt> -> {{Codeline|text}})
(rm overly broad utilities category)
Line 1: Line 1:
[[Category:Utilities (English)]]
[[Category:Optical (English)]]
[[Category:Optical (English)]]
{{i18n|CD Burning}}
{{i18n|CD Burning}}

Revision as of 16:54, 7 September 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

Command-line CD-burning

Install CD-burning utilities

From http://www.cdrkit.org/:

Template:Codeline is a suite of programs for recording CDs and DVDs, blanking CD-RW media, creating ISO-9660 filesystem images, extracting audio CD data, and more. The programs included in the Template:Codeline package were originally derived from several sources, most notably Template:Codeline by Eric Youngdale and others, Template:Codeline by Heiko Eissfeldt, and Template:Codeline by Jörg Schilling. However, Template:Codeline is not affiliated with any of these authors; it is now an independent project.

The Template:Package Official package is available in [extra]:

# pacman -S cdrkit

If you intend to use Template:Package Official (for writing Template:Filename/Template:Filename files to CD)

# pacman -S cdrdao
Note: If you face any issues with Template:Codeline, it is recommended to install Template:Package AUR from the AUR (Template:Codeline is a fork of Template:Codeline). Template:Codeline is being actively developed and supports CD, DVD and BluRay burning along with complete CDRWIN Template:Filename/Template:Filename support. Template:Codeline does not depend on Template:Codeline.
Note: Make sure that you build a package using makepkg and install with pacman. Pacman wrappers may resolve to cdrkit instead.

Setting permissions

Users that should be able to use CD/DVD burning devices must have permissions to access the devices. If you are using udev (which is default in Arch Linux kernels), you only need to add the user(s) to the optical group:

# gpasswd -a <username> optical

Log out and back in for the changes to take effect.

Modifying the CD-RW

For the remainder of this section the name of your recording device is assumed to be Template:Filename. If that is not the case, modify the commands accordingly. In order to write to the CD it needs to be unmounted. If it is not, Template:Codeline will give you an error message.

You can try to let wodim locate your burning device with this command:

 $ wodim -checkdrive

Erasing CD-RW

CD-RW media usually need to be erased before you can write new data on it. To blank CD-RW medium use this command:

$ wodim -v dev=/dev/cdrw -blank=fast

As you might have guessed, this blanks your medium really fast, but you can also use some other options, just replace the word fast with one of the following:

blank the entire disk
blank the entire disk
blank the entire disk
minimally blank the entire disk (PMA, TOC, pregap)
minimally blank the entire disk (PMA, TOC, pregap)
blank a track
unreserve a track
blank a track tail
unclose last session
blank last session

Burning an iso image

To burn an iso-image run:

$ wodim -v dev=/dev/cdrw isoimage.iso

Burning an audio CD

  1. Create your audio tracks and store them as uncompressed, 16-bit stereo Template:Filename files.
$ Tip: to convert mp3 to wav ensure LAME is installed, cd to the directoy with your MP3 files and run:
$ for i in *.mp3; do lame --decode "$i" "`basename "$i" .mp3`".wav; done
  1. Name the audio files in a manner that will cause them to be listed in the desired track order when listed alphabetically, such as Template:Filename, Template:Filename, Template:Filename, etc.
  2. Use the following command to burn the wav files as an audio CD:
$ wodim -v -pad speed=1 dev=/dev/cdrw -dao -swab *.wav

To test the new audio cd, use mplayer:

$ mplayer cdda://

Burning a bin/cue

To burn a bin/cue image run:

$ cdrdao write --device /dev/cdrw image.cue

Making an iso image from an existing CD

To copy an existing CD just type:

$ dd if=/dev/cdrw of=/home/user/isoimage.iso

or even simpler:

$ cat /dev/cdrw > isoimage.iso

Or use the Template:Codeline program, also in the Template:Codeline package

$ readcd -v dev=/dev/cdrw -f isoimage.iso

If the original CD was bootable it will be a bootable image.

TOC/CUE/BIN for mixed-mode disks

ISO images only store a single data track. If you want to create an image of a mixed-mode disk (data track with multiple audio tracks) then you need to make a TOC/BIN pair:

$ cdrdao read-cd --read-raw --datafile IMAGE.bin --driver generic-mmc:0x20000 --device /dev/cdrom IMAGE.toc

Some software only likes CUE/BIN pair, you can make a CUE sheet with Template:Codeline (part of Template:Codeline):

$ toc2cue IMAGE.toc IMAGE.cue

Making an iso image from existing files on harddisk

To make an iso image just copy the needed files to one folder, then do:

$ mkisofs -V volume_name -J -r -o isoimage.iso ~/folder

Mounting an iso image

To test if the iso image is proper, you can mount it (as root):

# mount -t iso9660 -o ro,loop=/dev/loop0 cd_image /cdrom

You have to first load the loop module:

# modprobe loop

Converting to iso image

To convert an Template:Filename/Template:Filename image, you can use Template:Codeline:

# pacman -S ccd2iso
$ ccd2iso ~/image.img ~/image.iso

Burning CDs with a GUI

There are several applications available to burn CDs in a graphical environment. The use of these programs are self-explanatory.

Nero Linux

NERO LINUX is Commercial burning suite from makers of nero for windows - Nero AG. the biggest advantage of nero linux is its interface which similar to window version. Hence, users migrating from windows might find it easy to operate. The Linux version now includes Nero Express, a wizard which takes users through the process of burning CDs and DVDs step-by-step, which users will be familiar with from the Windows version. Also new in version 4 is Blu-ray Disc defect management, integration of Isolinux for creating bootable media and support for Musepack and AIFF audio formats...


  • Easy, wizard-style user interface for guided burning with Nero Linux Express 4
  • Full Blu-ray Burning Support
  • Supports Burning of Audio CD (CD-DA),ISO 9660 (Joliet support),CD-Text,ISOLINUX Bootable ,Multisession Discs,DVD-Video and miniDVD,DVD double layer support.
  • Advanced burning with Nero Burning ROM and command line client


Nero Linux 4 retails at £17.99 with a free trial version also available.


According to [http://k3b.plainblack.com/, k3b is "The CD/DVD Kreator for Linux - optimized for KDE". K3b uses the Qt toolkit.

The Template:Package Official package is available in [extra]:

# pacman -S k3b

Run Template:Codeline to set up your preferences, permissions, etc.; run Template:Codeline to execute the main program.

About Locale

When running K3B, if the following message appears

System locale charset is ANSI_X3.4-1968
Your system's locale charset (i.e. the charset used to encode filenames) is 
set to ANSI_X3.4-1968. It is highly unlikely that this has been done intentionally.
Most likely the locale is not set at all. An invalid setting will result in
problems when creating data projects.Solution: To properly set the locale 
charset make sure the LC_* environment variables are set. Normally the distribution 
setup tools take care of this.

It means that your locale is not set well.

To fix it,

  • Remove /etc/locale.gen
# rm /etc/locale.gen
  • Re-install glibc
# pacman -S glibc
  • Edit /etc/locale.gen, uncommenting all lines lines that corresponds to your language AND the en_US options, for compatibility.
# nano /etc/locale.gen
en_US.UTF-8 UTF-8
en_US ISO-8859-1
  • Re-generate the profiles with locale-gen
# locale-gen
Generating locales...
en_US.UTF-8... done
en_US.ISO-8859-1... done
pt_BR.UTF-8... done
pt_BR.ISO-8859-1... done
Generation complete.

More info here

K3B says that there are no Burning Devices

A common cause of this is the current user have no privileges for that. You can try to:

  • Add the user to the group optical (remember to re-login after this)
# gpasswd -a <user> optical
  • Set permissions to devices (can also be done with 'k3bsetup')
# chmod 777 /dev/dvd*
# chmod 777 /dev/cd*
  • Make sure dbus is running:
# /etc/rc.d/dbus start

You should add a dbus entry in your /etc/rc.conf so that it automatically loads upon boot.


Brasero is another solution to CD burning if you are using Gnome.

  • Install brasero with pacman.
# pacman -S brasero
  • Run brasero to run the main program.

Brasero fails to find blank discs

Brasero uses gvfs to manage CD/DVD burning devices.

  • Install gvfs with pacman.
# pacman -S gvfs
  • Edit your .xinitrc by adding "dbus-launch" before your window manager name, eg.:
# exec dbus-launch openbox-session
  • You do not need to edit .xinitrc if you are using login manager like GDM or KDM


Graveman is a simple and almost dependency-free application for burning CDs.

  • Graveman is not packed for arch but you can install it from the AUR: [1].
  • Run graveman as a regular user to create the configuration file in ~/.config/graveman/graveman.conf (if you run graveman as root first, the permissions for this file will be wrong).
  • Now, in graveman, go to menu File > Preferences... > Devices and add your CD burners (If necessary, run graveman as root). Devices may already be set up correctly.
  • Note that you may have to manually add your own device in Graveman's preferences and point it at /dev/cdrom instead of /dev/hdc
  • If graveman's autodetection points to 1,0,0 or something like that, and you get the "Currently: no media" error you may point it to /dev/sr0 or /dev/cdrom as noted above


Alternatively theres also Bashburn in Extra Repository as a semi-gui solution. BashBurn is the new name for the cd burning shell script Magma. It is not the best looking CD-burning application out there, but it does what you want it to do.

  • Install Bashburn with pacman.
# pacman -S bashburn


Xfburn is a simple CD/DVD burning tool based on libburnia libraries. It can blank CD-RWs, burn and create iso images, as well as burn personal compositions of data to either CD or DVD.

It can be found in the Extra Repository.

  • Install Xfburn with pacman.
# pacman -S xfburn


Recorder is a graphical frontend of cdrkit/cdrtools, cdrdao, mkisofs and growisofs. It aims to be simple and easy to use, free of large configurations and useless options, following the KISS principle and offering a disc burning of quality, nothing more.


PATA and SATA problems around 2.6.20/2.6.21

For some kernels on some machines, CD burning works very unreliably. This is not fully diagnosed but appears to be related to DMA and having SATA Hard Drives and older IDE CD/DVD Burners and is possibly more prevalent on PIIX Motherboards. On newer kernels there is a new driver whereby the CD/DVD Burner behaves as if it is a SCSI drive, even though it is not.

The symptom for this problem is an almost total refusal to burn anything at all. It 'seems' to work fine, but if you verify the burn it invariably fails. If this is happening to you and you have an IDE burner try this fix.

You will need to install mkinitcpio as described here, Configuring mkinitcpio so you can rebuild the kernel. You now need to reconfigure your /etc/mkinitcpio.conf file to reuse the old IDE drivers.

# gedit /etc/mkinitcpio.conf

Find the line:

MODULES="ata_generic ata_piix"

and change it to (insert piix in the front)

MODULES="piix ata_generic ata_piix"

Then, find the line:

HOOKS="base udev autodetect pata scsi sata usbinput keymap filesystems"

and change that to: (replace pata with ide)

HOOKS="base udev autodetect ide scsi sata usbinput keymap filesystems"

Use mkinitcpio to rebuild the kernel as described in its own wiki page, and reboot. In brief:

# mkinitcpio -g /boot/kernel26.img