Homepage of
cdrskin
Limited cdrecord compatibility wrapper for libburn
Purpose:
- Burns preformatted data to CD-R or CD-RW
Hardware requirements:
A CD recorder suitable for
libburn.pykix.org
(SCSI or IDE/ATAPI writers compliant to mmc standard).
Software requirements :
- Linux kernel 2.4 or higher
- With kernel 2.4 the 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.2.1 (inofficially stable SVN snapshot)
- (by Derek Foreman, Ben Jansens, and team of libburn.pykix.org)
- transfers data to CD
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 goal is to provide some of cdrecord's options in a compatible way.
This has been achieved quite sufficiently for the needs of backup tool
scdbackup
and for data CD projects of K3b
(see examples).
Further enhancements depend on people who can describe and discuss their
wishes as well as on the development of libburn.
- cdrskin -help
- reports the cdrecord compatible options
- cdrskin --help
- reports the non-cdrecord options
- man cdrecord
- documents the standard for which cdrskin is striving.
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.)
- Currently (and sparsely) supported gestures :
- $ cdrskin -scanbus
- $ cdrskin dev=1,1,0 -checkdrive
- $ cdrskin dev=1,1,0 -atip
- $ cdrskin -v dev=1,1,0 blank=all eject_device=/dev/cdrom -eject
- $ cdrskin -v dev=1,1,0 blank=fast eject_device=/dev/cdrom -eject
- $ cdrskin -v dev=1,1,0 speed=12 fs=8m -sao driveropts=burnfree eject_device=/dev/cdrom -eject padsize=300k my_image.iso
- $ cdrskin -v dev=1,1,0 ... ... track_1.iso padsize=300k track_2.afio
- $ find . | afio -oZ - | cdrskin -v dev=1,1,0 fs=32m speed=8 -sao driveropts=burnfree padsize=300k tsize=650m -
Known deficiencies:
-
No audio features yet.
-
Burns only a single closed session. No -multi option yet.
-
No TAO mode and therefore no writing on-the-fly without a predefined
source size.
-
cdrskin -scanbus or --devices hangs for quite a while if there is
a CD drive which does not work properly (e.g. because it has individual
problems with DMA).
So if the superuser gets no result with cdrskin --devices then one should
disable DMA with the problematic CD drives
(like: hdparm -d0 /dev/hdd )
and try again.
In severe cases it might be necessary to guess the device name /dev/sgN resp.
/dev/hdX of the non-ill burner if it cannot be found otherwise among its
ill peers. Alternatively one can guess the address of the ill device, remove
rw-permissions and retry the bus scan as non-superuser.
-
Burners other than /dev/sg0 and /dev/hdX (i.e. without ide-scsi) need a user
supplied device address for eject.
- Download as source code (see README):
- cdrskin-0.1.4.tar.gz
(580 KB).
-
The "stable" cdrskin tarballs are tested and eventually slightly modified
SVN snapshots from libburn.pykix.org . All modifications are to be re-merged
into that SVN repository.
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.1.4-x86-suse9_0.tar.gz, (50 KB),
- runs on SuSE 9.0 (2.4.21) , RIP-14.4 (2.6.14) ,
Gentoo (2.6.15 x86_64 Athlon).
-
cdrskin_0.1.4-x86-suse9_0-static.tar.gz, (250 KB), -static compiled,
- runs on SuSE 7.2 (2.4.4), and on the systems above.
-
- Documentation:
- README a short introduction
- cdrskin --help non-cdrecord options
- cdrskin -help cdrecord compatible options
-
- Contact:
- Thomas Schmitt, scdbackup@gmx.net
- License:
- GPL, an Open Source approved license
-
- Development snapshot:
-
- README 0.1.5
- cdrskin_0.1.5 --help
- cdrskin_0.1.5 -help
-
- Maintainers of cdrskin unstable packages please use SVN of
libburn.pykix.org
- Download: svn co http://libburn-svn.pykix.org/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 above
upcoming README ):
-
cdrskin-0.1.5.tar.gz
(580 KB).
- Binary (untar and move to /usr/bin/cdrskin):
-
cdrskin_0.1.5-x86-suse9_0.tar.gz, (50 KB).
-
cdrskin_0.1.5-x86-suse9_0-static.tar.gz, (250 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
- Example for a setup of device permissions. To be done by the superuser:
- (CD devices which offer no r-permission are invisible to normal users.)
- (CD devices which offer no w-permission are not useable.)
- # cdrskin --devices
- ...
- 0 dev='/dev/sg0' rwrwr- : 'TEAC' 'CD-ROM CD-532S'
- 1 dev='/dev/hdc' rwrw-- : 'LITE-ON' 'LTR-48125S'
- # chmod a+rw /dev/sg0 /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
- ...
- scsibus1:
- 1,0,0 0) 'TEAC' 'CD-ROM CD-532S' '?' Removable CD-ROM
- scsibus2:
- 2,2,0 1) 'LITE-ON' 'LTR-48125S' '?' Removable CD-ROM
- $ export SCDBACKUP_SCSI_ADR="2,2,0"
- $ export SCDBACKUP_CDRECORD="cdrskin -v -v tao_to_sao_tsize=650m eject_device=/dev/cdrecorder"
- (eject_device= has to be the appropriate address for program eject)
- $ scdbackup_home
- Example for a permanent configuration of cdrskin based scdbackup
- $ cd scdbackup-0.8.6/inst
- $ export SCDBACKUP_USE_CDRSKIN=1
- $ export SCDBACKUP_EJECT_ADR=/dev/cdrecorder
- $ ./CONFIGURE_CD
- ...
- cdrskin 0.1.2 : limited cdrecord compatibility wrapper for libburn
- ...
- ------------------- SCSI devices. To be used like 0,0,0
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.
- 1,0,0 0) 'TEAC' 'CD-ROM CD-532S' '?' Removable CD-ROM
- 2,2,0 1) 'LITE-ON' 'LTR-48125S' '?' Removable CD-ROM
- ------------------- end of SCSI device list
- ...
- * 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 SCDBACKUP_EJECT_ADR
- 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.
I am aware that libburn and cdrskin still have way to go until you can simply
install cdrskin as cdrecord and may expect any application to run with it.
Currently i do not encourage this approach, but of course such a replacement
opportunity is the long term 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
- (a second source of above)
-
pppoem, a DSL throughput monitor (mainly for Linux kernel 2.4)
Legal statement: This website does not serve any commercial purpose.