Homepage of
cdrskin
Limited cdrecord compatibility wrapper for libburn
Purpose:
Burns preformatted data to CD and single layer DVD media:
CD-R, DVD-R, DVD+R, CD-RW, DVD-RW, DVD-RAM, DVD+RW
Hardware requirements:
A CD/DVD recorder suitable for
libburnia.pykix.org
(SCSI , ATA , USB , or SATA writers compliant to standard MMC-3 for CD
and to MMC-5 for DVD).
Software requirements :
- Linux kernel 2.4 or higher
- 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.3.8
- (by Derek Foreman, Ben Jansens, and team of libburnia.pykix.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:
- $ 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.)
Testers wanted who are willing to risk some double layer DVD media.
- Download as source code (see README):
- cdrskin-0.3.8.pl00.tar.gz
(615 KB).
-
The "stable" cdrskin tarballs are source code identical with "stable"
libburn releases or with "stabilized" libburn SVN snapshots. They get
produced via a different procedure, though.
cdrskin is part of libburn - full libburn is provided with cdrskin releases.
-
- Download as single x86 binaries (untar and move to /usr/bin/cdrskin):
-
cdrskin_0.3.8.pl00-x86-suse9_0.tar.gz, (90 KB),
- runs on SuSE 9.0 (2.4.21) , RIP-14.4 (2.6.14) ,
Gentoo (2.6.15 x86_64 Athlon).
-
cdrskin_0.3.8.pl00-x86-suse9_0-static.tar.gz, (290 KB), -static compiled,
- runs on SuSE 7.2 (2.4.4), and on the systems above.
- 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.3.6:
- Now able to cope with the peculiarities of Linux 2.4 USB
- Refusal to perform -dummy runs on media which cannot simulate burning
- Precautions against using the burner drive as track source
- New option modesty_on_drive= may help with hda -> hdb burns
- New option minbuf= , cdrecord compatible frontend of modesty_on_drive=
- New option --adjust_speed_to_drive
Development snapshot, version 0.3.9 :
- Enhancements towards stable version 0.3.8.pl00:
-
- README 0.3.9
- cdrskin_0.3.9 --help
- cdrskin_0.3.9 -help
- man cdrskin (as of 0.3.9)
-
- Maintainers of cdrskin unstable packages please use SVN of
libburnia.pykix.org
- Download: svn co http://libburnia-svn.pykix.org/libburn/trunk libburn_pykix
- Build: cd libburn_pykix ; ./bootstrap ; ./configure ; make
- 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 downloads are 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.3.9.tar.gz
(615 KB).
- Binary (untar and move to /usr/bin/cdrskin):
-
cdrskin_0.3.9-x86-suse9_0.tar.gz, (90 KB).
-
cdrskin_0.3.9-x86-suse9_0-static.tar.gz, (290 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.)
- Example for a test session with a cdrecord based scdbackup installation:
- $ cdrskin -scanbus
- ...
- 2,0,0 0) 'TEAC' 'CD-ROM CD-532S' '?' Removable CD-ROM
- $ cdrskin -scanbus dev=ATA
- ...
- 1,0,0 1) 'LITE-ON' 'LTR-48125S' '?' Removable CD-ROM
- $ export SCDBACKUP_SCSI_ADR="ATA:1,0,0"
- $ export SCDBACKUP_CDRECORD="cdrskin -v -v"
- $ scdbackup_home
- Example for a permanent configuration of cdrskin based scdbackup
- $ cd scdbackup-0.8.6/inst
- $ export SCDBACKUP_USE_CDRSKIN=1
- $ ./CONFIGURE_CD
- ...
- cdrskin 0.3.8 : limited cdrecord compatibility wrapper for libburn
If your system is stricken with some ill CD device then this can stall
and you will have to press Ctrl+C to abort.
In this case, you may execute
export SCDBACKUP_NO_SCANBUS=1
and try again.
- ------------------- SCSI devices. To be used like 0,0,0
- 2,0,0 0) 'TEAC' 'CD-ROM CD-532S' '?' Removable CD-ROM
- ------------------- end of SCSI device list
- ------------------- ATA devices. To be used like ATA:0,0,0
- 1,0,0 1) 'LITE-ON' 'LTR-48125S' '?' Removable CD-ROM
- ...
- * Your cdrecord offers -driveropts=burnfree with your recorder.
- ...
- scdbackup for CD 0.8.6 : First stage of installation done.
- ...
- Now give it a try. Run : scdbackup_home
- $ unset SCDBACKUP_USE_CDRSKIN
- To get back to using cdrecord :
- $ cd scdbackup-0.8.6/inst
- $ export SCDBACKUP_USE_CDRSKIN=0
- $ ./CONFIGURE_CD
- ...
- $ unset SCDBACKUP_USE_CDRSKIN
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.
Enjoying free Open Source hosting by www.webframe.org
and by sourceforge.net
- Links to my other published software projects :
-
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.