cdrskin logo: Doener mit Scharf

Homepage of

cdrskin

Limited cdrecord compatibility wrapper for libburn

Purpose:

Burns preformatted data to CD and DVD media:
CD-R, DVD-R, DVD+R, DVD+R/DL, CD-RW, DVD-RW, DVD-RAM, DVD+RW


Hardware requirements:

A CD/DVD recorder suitable for http://libburnia-project.org
(SCSI , ATA , USB , or SATA writers compliant to standard MMC-3 for CD and to MMC-5 for DVD).

Software requirements :

Linux with kernel 2.4 or higher (and libc, of course) :
With kernel 2.4 an ATA drive has to be under ide-scsi emulation.
With kernel 2.6 the drive should not be under ide-scsi.
libpthread
is supposed to be a standard system component.

GPL software included:

libburn-0.4.4
(founded by Derek Foreman and Ben Jansens, furthered by team of libburnia-project.org)
transfers data to CD and DVD

This program system has been tested on Intel/AMD Linux systems only.
Ports to other usable systems are appreciated. Reports are welcome.


Special features:

Commands:

The most common options of cdrecord for data and audio on CD media are provided in a compatible way.
On single layer DVD media cdrskin is able to perform any recording job which is possible with cdrecord. Other than with cdrecord, options -multi and -tao are supported with certain DVD types.


Get an overview of drives and their addresses
# cdrskin -scanbus
# cdrskin dev=ATA -scanbus
# cdrskin --devices
Being superuser avoids permission problems with /dev/srN resp. /dev/hdX .
Ordinary users should then get granted rw access to the /dev files as listed by option --devices.
 
Get info about a particular drive or loaded media:
$ cdrskin dev=0,1,0 -checkdrive
$ cdrskin dev=ATA:1,0,0 -v -atip
$ cdrskin dev=/dev/hdc -toc
Make used CD-RW or used unformatted DVD-RW writable again:
$ cdrskin -v dev=/dev/sg1 blank=fast -eject
$ cdrskin -v dev=/dev/dvd blank=all -eject
Format DVD-RW to avoid need for blanking before re-use:
$ cdrskin -v dev=/dev/sr0 blank=format_overwrite
De-format DVD-RW to make it capable of multi-session again:
$ cdrskin -v dev=/dev/sr0 blank=deformat_sequential
Write ISO-9660 filesystem image as only one to blank or formatted media:
$ cdrskin -v dev=/dev/hdc speed=12 fs=8m \
  -sao -eject padsize=300k my_image.iso
Write compressed afio archive on-the-fly:
$ find . | afio -oZ - | \
  cdrskin -v dev=0,1,0 fs=32m speed=8 \
  -tao padsize=300k -
Write several sessions to the same CD, DVD-R[W] or DVD+R[/DL]:
$ cdrskin dev=/dev/hdc -v padsize=300k -multi -tao 1.iso
$ cdrskin dev=/dev/hdc -v padsize=300k -multi -tao 2.iso
$ cdrskin dev=/dev/hdc -v padsize=300k -multi -tao 3.iso
$ cdrskin dev=/dev/hdc -v padsize=300k -tao 4.iso
Get multi-session info for option -C of program mkisofs:
$ c_values=$(cdrskin dev=/dev/sr0 -msinfo 2>/dev/null)
$ mkisofs ... -C "$c_values" ...
Inquire free space on media for a -tao -multi run:
$ x=$(cdrskin dev=/dev/sr0 -tao -multi \
  --tell_media_space 2>/dev/null)
$ echo "Available: $x blocks of 2048 data bytes"
Write audio tracks to CD:
$ cdrskin -v dev=ATA:1,0,0 speed=48 -sao \
  track1.wav track2.au -audio -swab track3.raw
Get overview of the cdrecord compatible options:
$ cdrskin -help
Get overview of the non-cdrecord options:
$ cdrskin --help
Read the detailed manual page:
$ man cdrskin
Read about the standard for which cdrskin is striving:
$  man cdrecord
Do not bother Joerg Schilling with any cdrskin problems. (Be cursed if you install cdrskin as "cdrecord" without clearly forwarding this "don't bother Joerg" demand.)
Learn to know a more versatile way to burn ISO 9660 formatted data
Standalone ISO 9660 multi-session CD/DVD tool xorriso.
Testers wanted who are willing to risk some double layer DVD-R media or to do experiments on BD-RE.


Download as source code (see README):
cdrskin-0.4.4.pl00.tar.gz (715 KB).
The cdrskin tarballs are source code identical with libburn releases of the same version number. They get produced via a different procedure, though.
cdrskin is part of libburn - full libburn is provided with cdrskin releases.
Documentation:
README an introduction
cdrskin --help non-cdrecord options
cdrskin -help cdrecord compatible options
man cdrskin the manual page
 
Contact:
Thomas Schmitt, scdbackup@gmx.net
libburn development mailing list, libburn-hackers@pykix.org
License:
GPL, an Open Source approved license
 


Enhancements towards previous stable version cdrskin-0.4.2:


Development snapshot, version 0.4.5 :

Enhancements towards stable version 0.4.4.pl00:
  • Experimental support for BD-RE with --allow_untested_media
  • New option stream_recording=on can speed up DVD-RAM and BD-RE
  • New blank type blank=format_defectmgt for DVD-RAM and BD-RE
  • New option --list_formats
  • New blank type blank=format_by_index_<number>
 
README 0.4.5
cdrskin_0.4.5 --help
cdrskin_0.4.5 -help
man cdrskin (as of 0.4.5)
 
Maintainers of cdrskin unstable packages please use SVN of libburnia-project.org
Download: svn co http://svn.libburnia-project.org/libburn/trunk libburn
Build: cd libburn ; ./bootstrap ; ./configure --prefix /usr ; make ; cdrskin/compile_cdrskin.sh
Build of SVN versions needs autotools of at least version 1.7 installed. But after the run of ./bootstrap, only vanilla tools like make and gcc are needed.
 
The following download is intended for adventurous end users or admins with full system souvereignty.
Source (./bootstrap is already applied, build tested, for more see upcoming README ):
cdrskin-0.4.5.tar.gz (715 KB).


Many thanks to Joerg Schilling for cdrecord,
and to Derek Foreman and Ben Jansens for creating libburn.
Historic versions based on Derek's and Ben's icculus.org/burn :
cdrskin-0.1.2.0.2.ts.tar.gz
cdrskin-0.1.3.0.2.ts.tar.gz
Very special thanks to Andy Polyakov whose dvd+rw-tools provide libburn with invaluable examples on how to deal with DVD media.


Example for a setup of device permissions. To be done by the superuser:
(CD devices which offer no rw-permission are invisible to normal users.)
# cdrskin --devices
...
0  dev='/dev/sr0'  rwrwr- :  'TEAC' 'CD-ROM CD-532S'
1  dev='/dev/hdc'  rwrw-- :  'LITE-ON' 'LTR-48125S'
# chmod a+rw /dev/sr0 /dev/hdc


Example how to setup K3b to use cdrskin for burning data CD projects.
(
K3b is a GUI frontend which uses cdrecord for CD burning.)


About the relationship of cdrecord and cdrskin

First of all: this relationship is single sided, as cdrskin has to be aware of cdrecord but not vice versa.

I am a long time user of cdrecord and it works fine for me. Especially i do appreciate its write mode -tao which allows to pipe arbitrary data on CD and CD-RW via stdin. cdrecord is reliable, versatile and well maintained. So for me - there would be not problem with it.
But the author of cdrecord and the Linux kernel people foster a very hostile relationship. Ok, that's their business, not mine (or ours if you are with me). One has to be aware, though, that this relationship might lead to a situation where cdrecord is no longer available for certain Linux kernels.
To have my own project prepared for such a time, i began to implement its cdrecord gestures on top of libburn. From now on i invite other interested users of cdrecord to teach cdrskin the gestures necessary for their cdrecord applications. Contact me. Let's see what we can achieve.

libburn and cdrskin are now mature enough to substitute cdrecord in its major use cases of CD and DVD burning. It is possible to foist cdrskin on various software packages if it gets falsely named "cdrecord". I do not encourage this approach, but of course such a replacement opportunity is the goal of a cdrecord compatibility wrapper.

It is very important to me that this project is not perceived as hostile towards Joerg Schilling and his ongoing work. I owe him much. For cdrecord, for mkisofs, for star. Chapeau.


cdrskin logo: Doener mit Scharf

Enjoying free Open Source hosting by www.webframe.org
100 % Microsoft free
and by sourceforge.net
SourceForge Logo

Links to my other published software projects :
xorriso, a standalone ISO 9660 multi-session CD/DVD burn tool. No mkisofs needed.
(a second source of above)
scdbackup, multi volume CD backup
(a second source of above)
Some Tools for Image Collectors
pppoem, a DSL throughput monitor (mainly for Linux kernel 2.4)


Legal statement: This website does not serve any commercial purpose.