Skip to the content.

45. CD/DVD-Writing Utilities


This chapter contains information on CD/DVD-writing utilities in Linux.

Additional sources of information include:

CD-Writing HOWTO

CD-Recordable FAQ

The dvd+rw-tools Website

45.1 Cdrdao-1.2.4


Introduction to Cdrdao

The Cdrdao package contains CD recording utilities. These are useful for burning a CD in disk-at-once mode.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Cdrdao Dependencies

libao-1.2.0, libvorbis-1.3.7, libmad-0.15.1b, and LAME-3.100 (required to build toc2mp3)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/cdrdao

Installation of Cdrdao

Install Cdrdao by running the following commands:

./configure --prefix=/usr --mandir=/usr/share/man &&
make

This package does not come with a test suite.

Now, as the root user:

make install &&
install -v -m755 -d /usr/share/doc/cdrdao-1.2.4 &&
install -v -m644 README /usr/share/doc/cdrdao-1.2.4

Command Explanations

–mandir=/usr/share/man: Install manual pages in /usr/share/man instead of /usr/man.

Contents

Installed Programs: cdrdao, cue2toc, toc2cddb, toc2cue and optionally toc2mp3

Installed Libraries: None

Installed Directories: /usr/share/cdrdao, /usr/share/doc/cdrdao-1.2.4

Short Descriptions

cdrdao records audio or data CD-Rs in disk-at-once (DAO) mode based on a textual description of the CD contents.

cue2toc converts CUE to TOC format for audio CDs.

toc2cddb converts a Cdrdao TOC file into a cddb file and prints it to stdout.

toc2cue converts TOC to CUE format for audio CDs.

toc2mp3 converts an audio CD disk image (.toc file) to MP3 files.

45.2 Cdrtools-3.02a09


Introduction to Cdrtools

The Cdrtools package contains CD recording utilities. These are useful for reading, creating or writing (burning) CDs, DVDs, and Blu-ray discs.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

Cdrtools Dependencies

Required

alsa-lib-1.2.8

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/Cdrtools

Installation of Cdrtools

Note

This package does not support parallel build.

Install Cdrtools by running the following commands:

export GMAKE_NOWARN=true &&
make -j1 INS_BASE=/usr DEFINSUSR=root DEFINSGRP=root

This package does not come with a test suite.

Now, as the root user:

export GMAKE_NOWARN=true &&
make INS_BASE=/usr MANSUFF_LIB=3cdr DEFINSUSR=root DEFINSGRP=root install &&
install -v -m755 -d /usr/share/doc/cdrtools-3.02a09 &&
install -v -m644 README.* READMEs/* ABOUT doc/*.ps \
                    /usr/share/doc/cdrtools-3.02a09

Command Explanations

export GMAKE_NOWARN=true: This variable avoids a warning when using GNU make.

INS_BASE=/usr: This parameter moves the install directory from /opt/schily to /usr.

DEFINSUSR=root DEFINSGRP=root: These parameters install all programs with root:root ownership instead of the default bin:bin.

MANSUFF_LIB=3cdr: This parameter prevents Cdrtools from overwriting important pages which are already installed by LFS. The installed man pages of section 3 will have a suffix 3cdr and can be shown using **man 3cdr **.

Contents

Installed Programs: btcflash, cdda2mp3, cdda2ogg, cdda2wav, cdrecord, devdump, isodebug, isodump, isoinfo, isovfy, mkhybrid, mkisofs, readcd, rscsi, scgcheck, scgskeleton

Installed Libraries: libcdrdeflt.a, libdeflt.a, libedc_ecc.a, libedc_ecc_dec.a, libfile.a, libfind.a, libhfs.a, libmdigest.a, libparanoia.a, librscg.a, libscg.a, libscgcmd.a, libschily.a, libsiconv.a

Installed Directories: /usr/lib/{profiled,siconv}, /usr/include/{scg,schily}, /usr/share/doc/{cdda2wav,cdrecord,libparanoia,mkisofs,rscsi}

Short Descriptions

btcflash flashes the firmware on BTC DRW1008 DVD+/-RW recorder. Please exercise care with this program

cdda2wav converts Compact Disc audio into WAV sound files

cdrecord records audio or data Compact Discs

devdump is a diagnostic program used to dump an ISO-9660 device or file in hex

isodebug is used to display the command-line parameters used to create an ISO-9660 image

isodump is a diagnostic program used to dump a device or file based on ISO-9660

isoinfo is used to analyze or list an ISO-9660 image

isovfy is used to verify an ISO-9660 image

mkhybrid is a symbolic link to mkisofs used to create ISO-9660/HFS hybrid filesystem images

mkisofs is used to create ISO-9660/JOLIET/HFS filesystem images, optionally with Rock Ridge attributes

readcd reads or writes Compact Discs

rscsi is a remote SCSI manager

scgcheck is used to check and verify the Application Binary Interface of libscg

libscg.a is a highly portable SCSI transport library.

45.3 dvd+rw-tools-7.1


Introduction to dvd+rw-tools

The dvd+rw-tools package contains several utilities to master the DVD media, both +RW/+R and -R[W]. The principle tool is growisofs which provides a way to both lay down and grow an ISO9660 file system on (as well as to burn an arbitrary pre-mastered image to) all supported DVD media. This is useful for creating a new DVD or adding to an existing image on a partially burned DVD.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

dvd+rw-tools Dependencies

Required

Cdrtools-3.02a09 (runtime)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/dvd+rw-tools

Installation of dvd+rw-tools

Install dvd+rw-tools by running the following commands:

sed -i '/stat.h/a #include <sys/sysmacros.h>' growisofs.c &&
sed -i '/stdlib/a #include <limits.h>' transport.hxx &&
make all rpl8 btcflash

This package does not come with a test suite.

Now, as the root user:

make prefix=/usr install &&
install -v -m644 -D index.html \
    /usr/share/doc/dvd+rw-tools-7.1/index.html

Command Explanations

**sed -i ‘/stdlib/a #include ' ...**: This sed includes `limits.h`, one of the kernel headers. This is needed due to a change in the 2.6.23 kernel headers.

make all rpl8 btcflash: This command uses additional targets so that all the utilities are built.

Contents

Installed Programs: btcflash, dvd+rw-booktype, dvd+rw-format, dvd+rw-mediainfo, dvd-ram-control, growisofs, and rpl8

Installed Libraries: None

Installed Directory: /usr/share/doc/dvd+rw-tools-7.1

Short Descriptions

growisofs is a combined mkisofs frontend/DVD recording program.

45.4 libburn-1.5.4


Introduction to libburn

libburn is a library for writing preformatted data onto optical media: CD, DVD and BD (Blu-Ray).

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

libburn Dependencies

Optional

Doxygen-1.9.6 (to generate HTML documentation)

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libburn

Installation of libburn

Install libburn by running the following commands:

./configure --prefix=/usr --disable-static &&
make

If you have installed Doxygen and wish to generate the HTML documentation, issue the following command:

doxygen doc/doxygen.conf

This package does not come with a test suite.

Now, as the root user:

make install

If you have built the HTML documentation, install it by running the following commands as the root user:

install -v -dm755 /usr/share/doc/libburn-1.5.4 &&
install -v -m644 doc/html/* /usr/share/doc/libburn-1.5.4

Contents

Installed Program: cdrskin

Installed Library: libburn.so

Installed Directory: /usr/include/libburn

Short Descriptions

cdrskin burns preformatted data to CD, DVD, and BD via libburn.

libburn.so contains the libburn API functions.

45.5 libisoburn-1.5.4


Introduction to libisoburn

libisoburn is a frontend for libraries libburn and libisofs which enables creation and expansion of ISO-9660 filesystems on all CD/DVD/BD media supported by libburn. This includes media like DVD+RW, which do not support multi-session management on media level and even plain disk files or block devices.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

libisoburn Dependencies

Required

libburn-1.5.4 and libisofs-1.5.4

Optional

Doxygen-1.9.6 (to generate HTML documentation), Tk-8.6.13 (for xorriso-tcltk), and libjte

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libisoburn

Installation of libisoburn

Install libisoburn by running the following commands:

./configure --prefix=/usr              \
            --disable-static           \
            --enable-pkg-check-modules &&
make

If you have installed Doxygen and wish to generate the HTML documentation, issue the following command:

doxygen doc/doxygen.conf

This package does not come with a test suite.

Now, as the root user:

make install

If you have built the HTML documentation, install it by running the following commands as the root user:

install -v -dm755 /usr/share/doc/libisoburn-1.5.4 &&
install -v -m644 doc/html/* /usr/share/doc/libisoburn-1.5.4

Command Explanations

--disable-static: This switch prevents installation of static versions of the libraries.

--enable-pkg-check-modules: Enable pkg-config check for libburn and libisofs.

Contents

Installed Programs: osirrox, xorrecord, xorriso, xorriso-dd-target, xorrisofs, and xorriso-tcltk

Installed Library: libisoburn.so

Installed Directories: /usr/include/libisoburn and /usr/share/doc/libisoburn-1.5.4

Short Descriptions

osirrox is a symbolic link to xorriso that copies files from ISO image to a disk filesystem

xorrecord is a symbolic link to xorriso that provides a cdrecord type user interface

xorriso is a program to create, load, manipulate, read, and write ISO 9660 filesystem images with Rock Ridge extensions

xorriso-dd-target is a program to check a USB or memory card device to see whether it is suitable for image copying

xorrisofs is a symbolic link to xorriso that provides a mkisofs type user interface

xorriso-tcltk is a frontend that operates xorriso in dialog mode

libisoburn.so contains the libisoburn API functions.

45.6 libisofs-1.5.4


Introduction to libisofs

libisofs is a library to create an ISO-9660 filesystem with extensions like RockRidge or Joliet.

This package is known to build and work properly using an LFS 11.3 platform.

Package Information

libisofs Dependencies

Optional

Doxygen-1.9.6 (to generate HTML documentation) and libjte

User Notes: https://wiki.linuxfromscratch.org/blfs/wiki/libisofs

Installation of libisofs

Install libisofs by running the following commands:

./configure --prefix=/usr --disable-static &&
make

If you have installed Doxygen and wish to generate the HTML documentation, issue the following command:

doxygen doc/doxygen.conf

This package does not come with a test suite.

Now, as the root user:

make install

If you have built the HTML documentation, install it by running the following commands as the root user:

install -v -dm755 /usr/share/doc/libisofs-1.5.4 &&
install -v -m644 doc/html/* /usr/share/doc/libisofs-1.5.4

Command Explanations

--disable-static: This switch prevents installation of static versions of the libraries.

Contents

Installed Programs: None

Installed Library: libisofs.so

Installed Directory: /usr/include/libisofs

Short Descriptions

libisofs.so contains the libisofs API functions.