<HTML> <HEAD> <META NAME="description" CONTENT="cdrskin, a limited cdrecord compatibility wrapper for libburn"> <META NAME="keywords" CONTENT="cdrskin, libburn, burn, CD, linux, CDR, CD-R, CDRW, CD-RW, cdrecord, compatible, scdbackup, burning"> <META NAME="robots" CONTENT="follow"> <TITLE>cdrskin homepage english</TITLE> </HEAD> <BODY BGCOLOR="#F5DEB3" TEXT=#000000 LINK=#0000A0 VLINK=#800000> <FONT SIZE=+1> <CENTER> <P><H2>Homepage of</H2><H1><BR>cdrskin</H1><BR> <!-- <FONT SIZE=+0><A HREF="cdrskin_ger.html">deutsch (german)</A></FONT> --> <H2>Limited cdrecord compatibility wrapper for libburn</H2> </CENTER> <P> <H2>Purpose:</H2> <UL> <LI>Burns preformatted data to CD-R or CD-RW</LI> </UL> </P> <P> <HR> <P> <H2>Hardware requirements:</H2> A CD recorder suitable for <A HREF="http://libburn.pykix.org">libburn.pykix.org</A> (SCSI or IDE/ATAPI writers compliant to mmc standard). <BR> </P> <P> <H2>Software requirements :</H2> <DL> <DT>Linux kernel 2.4 or higher</DT> <DD>With kernel 2.4 the drive has to be under ide-scsi emulation.</DD> <DD>With kernel 2.6 the drive should not be under ide-scsi.</DD> <DT>libpthread</DT> <DD>is supposed to be a standard system component.</DD> </DL> </P> <P> <H2> GPL software included:<BR> </H2> <DL> <DT>libburn-0.2.1 (inofficially stable SVN snapshot)</DT> <DD>(by Derek Foreman, Ben Jansens, and team of libburn.pykix.org)</DD> <DD>transfers data to CD</DD> </DL> </P> <P> This program system has been tested on Intel/AMD Linux systems only.<BR> Ports to other usable systems are appreciated. Reports are welcome. </P> <HR> <P> <H2>Special features:</H2> <UL> <LI>Source code is independent of <A HREF="http://cdrecord.berlios.de/old/private/cdrecord.html">cdrecord</A> </LI> </UL> </P> <P> <H2>Commands:</H2> <DL> <DT>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 <A HREF="http://scdbackup.sourceforge.net/main_eng.html">scdbackup</A> and for data CD projects of <A HREF="http://www.k3b.org">K3b</A> (see <A HREF="#examples">examples</A>).<BR> Further enhancements depend on people who can describe and discuss their wishes as well as on the development of libburn.</DT> <BR><BR> <DT><A HREF="cdrskin_help">cdrskin -help</A></DT> <DD>reports the cdrecord compatible options</DD> <DT><A HREF="cdrskin__help">cdrskin --help</A></DT> <DD>reports the non-cdrecord options</DD> <DT><A HREF="http://cdrecord.berlios.de/old/private/man/cdrecord-2.0.html">man cdrecord</A></DT> <DD>documents the standard for which cdrskin is striving. <B>Do not bother Joerg Schilling with any cdrskin problems.</B> (Be cursed if you install cdrskin as "cdrecord" without clearly forwarding this "don't bother Joerg" demand.) </DD> <DT>Currently (and sparsely) supported gestures :</DT> <DD>$ cdrskin -scanbus</DD> <DD>$ cdrskin dev=1,1,0 -checkdrive</DD> <DD>$ cdrskin dev=1,1,0 -atip</DD> <DD>$ cdrskin -v dev=1,1,0 blank=all eject_device=/dev/cdrom -eject</DD> <DD>$ cdrskin -v dev=1,1,0 blank=fast eject_device=/dev/cdrom -eject</DD> <DD>$ cdrskin -v dev=1,1,0 speed=12 fs=8m -sao driveropts=burnfree eject_device=/dev/cdrom -eject padsize=300k my_image.iso</DD> <DD>$ cdrskin -v dev=1,1,0 ... ... track_1.iso padsize=300k track_2.afio</DD> <DD>$ find . | afio -oZ - | cdrskin -v dev=1,1,0 fs=32m speed=8 -sao driveropts=burnfree padsize=300k tsize=650m -</DD> </DL> </P> <P> <H2>Known deficiencies:</H2> <UL> <DT></DT> <LI> No audio features yet. (Note: Option -audio is enabled in cdrskin-0.1.5 as offered below, but no beheading of .au or .wav files takes place yet.) </LI> <LI> Burns only a single closed session. No -multi option yet. </LI> <LI> No TAO mode and therefore no writing on-the-fly without a predefined source size. </LI> <LI> 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: <KBD>hdparm -d0 /dev/hdd</KBD> ) and try again.<BR> 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. <LI> Burners other than /dev/sg0 and /dev/hdX (i.e. without ide-scsi) need a user supplied device address for program eject. (Note: -eject is now working in libburn-0.2.1 SVN and the workaround described here is obsolete with cdrskin-0.1.5 as offered below.) </LI> </UL> </P> <HR> <P> <DL> <DT>Download as source code (see README):</DT> <DD><A HREF="cdrskin-0.1.4.tar.gz">cdrskin-0.1.4.tar.gz</A> (580 KB). </DD> <DD> 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.<BR> cdrskin is part of libburn - full libburn is provided with cdrskin releases. </DD> <DD> </DD> <DT>Download as single x86 binaries (untar and move to /usr/bin/cdrskin):</DT> <DD><A HREF="cdrskin_0.1.4-x86-suse9_0.tar.gz"> cdrskin_0.1.4-x86-suse9_0.tar.gz</A>, (50 KB), <DL> <DD>runs on SuSE 9.0 (2.4.21) , RIP-14.4 (2.6.14) , Gentoo (2.6.15 x86_64 Athlon).</DD> </DL> <DD><A HREF="cdrskin_0.1.4-x86-suse9_0-static.tar.gz"> cdrskin_0.1.4-x86-suse9_0-static.tar.gz</A>, (250 KB), -static compiled, <DL> <DD>runs on SuSE 7.2 (2.4.4), and on the systems above.</DD> </DL> </DD> <DD> </DD> </DL> <DL><DT>Documentation:</DT> <DD><A HREF="README_cdrskin">README</A> a short introduction</DD> <DD><A HREF="cdrskin__help">cdrskin --help</A> non-cdrecord options</DD> <DD><A HREF="cdrskin_help">cdrskin -help</A> cdrecord compatible options</DD> <DD> </DD> </DL> <DL><DT>Contact:</DT> <DD>Thomas Schmitt, <A HREF="mailto:scdbackup@gmx.net">scdbackup@gmx.net</A></DD> </DL> <DL><DT>License:</DT> <DD><A HREF="COPYING_cdrskin">GPL</A>, an <A HREF="http://www.opensource.org/">Open Source</A> approved license</DD> <DD> </DD> </DL> </P> <HR> <P> <DL> <DT>Development snapshot:</DT> <DD> </DD> <DD><A HREF="README_cdrskin_devel">README 0.1.5</A> <DD><A HREF="cdrskin__help_devel">cdrskin_0.1.5 --help</A></DD> <DD><A HREF="cdrskin_help_devel">cdrskin_0.1.5 -help</A></DD> <DD> </DD> <DD>Maintainers of cdrskin unstable packages please use SVN of <A HREF="http://libburn.pykix.org"> libburn.pykix.org</A></DD> <DD>Download: <KBD><B>svn co http://libburn-svn.pykix.org/trunk libburn_pykix</B> </KBD></DD> <DD>Build: <KBD><B>cd libburn_pykix ; ./bootstrap ; ./configure ; make</B> </KBD></DD> <DD>Build of SVN versions needs <A HREF="http://sources.redhat.com/autobook/"> autotools</A> of at least version 1.7 installed. But after the run of <KBD>./bootstrap</KBD>, only vanilla tools like make and gcc are needed.</DD> </DD> <DD> </DD> <DT>The following downloads are intended for adventurous end users or admins with full system souvereignty.</DT> <DT>Source (./bootstrap is already applied, build tested, for more see above <A HREF="README_cdrskin_devel">upcoming README</A> ): </DT> <DD> <A HREF="cdrskin-0.1.5.tar.gz">cdrskin-0.1.5.tar.gz</A> (580 KB). </DD> <DT>Binary (untar and move to /usr/bin/cdrskin):</DT> <DD><A HREF="cdrskin_0.1.5-x86-suse9_0.tar.gz"> cdrskin_0.1.5-x86-suse9_0.tar.gz</A>, (50 KB). </DD> <DD><A HREF="cdrskin_0.1.5-x86-suse9_0-static.tar.gz"> cdrskin_0.1.5-x86-suse9_0-static.tar.gz</A>, (250 KB) </DD> </DL> </P> <HR> <P> Many thanks to Joerg Schilling for cdrecord, <BR> and to Derek Foreman and Ben Jansens for creating libburn. <BR> Historic versions based on Derek's and Ben's <A HREF="http://icculus.org/burn">icculus.org/burn</A> :<BR> <A HREF="cdrskin-0.1.2.0.2.ts.tar.gz">cdrskin-0.1.2.0.2.ts.tar.gz</A><BR> <A HREF="cdrskin-0.1.3.0.2.ts.tar.gz">cdrskin-0.1.3.0.2.ts.tar.gz</A> </P> <HR> <A NAME="examples"> <P> <DL> <DT>Example for a setup of device permissions. To be done by the superuser:</DT> <DT>(CD devices which offer no r-permission are invisible to normal users.)</DT> <DT>(CD devices which offer no w-permission are not useable.)</DT> <DD># <KBD><B>cdrskin --devices</B></KBD></DD> <DD><KBD>...</KBD></DD> <DD><KBD>0 dev='/dev/sg0' rwrwr- : 'TEAC' 'CD-ROM CD-532S'</KBD></DD> <DD><KBD>1 dev='/dev/hdc' rwrw-- : 'LITE-ON' 'LTR-48125S'</KBD></DD> <DD># <KBD><B>chmod a+rw /dev/sg0 /dev/hdc</B></KBD></DD> </DL> </P> <HR> <A NAME="k3b"> <P> <A HREF="k3b_on_cdrskin.html"> Example how to setup K3b to use cdrskin for burning data CD projects. <A><BR> (<A HREF="http://www.k3b.org">K3b</A> is a GUI frontend which uses cdrecord for CD burning.) </P> <HR> <A NAME="scdbackup"> <P> <DL> <DT>Example for a test session with a cdrecord based scdbackup installation:</DT> <DD>$ <KBD><B>cdrskin -scanbus</B></KBD></DD> <DD><KBD>...</KBD></DD> <DD><KBD>scsibus1:</KBD></DD> <DD><KBD> 1,0,0 0) 'TEAC' 'CD-ROM CD-532S' '?' Removable CD-ROM</KBD></DD> <DD><KBD>scsibus2:</KBD></DD> <DD><KBD> 2,2,0 1) 'LITE-ON' 'LTR-48125S' '?' Removable CD-ROM</KBD></DD> <DD>$ <KBD><B>export SCDBACKUP_SCSI_ADR="2,2,0"</B></KBD></DD> <DD>$ <KBD><B>export SCDBACKUP_CDRECORD="cdrskin -v -v tao_to_sao_tsize=650m eject_device=/dev/cdrecorder"</B></KBD></DD> <DD>(eject_device= has to be the appropriate address for program eject)</DD> <DD>$ <KBD><B>scdbackup_home</B></KBD></DD> </DL> <DL> <DT>Example for a permanent configuration of cdrskin based scdbackup</DT> <DD>$ <KBD><B>cd scdbackup-0.8.6/inst</B></KBD></DD> <DD>$ <KBD><B>export SCDBACKUP_USE_CDRSKIN=1</B></KBD></DD> <DD>$ <KBD><B>export SCDBACKUP_EJECT_ADR=/dev/cdrecorder</B></KBD></DD> <DD>$ <KBD><B>./CONFIGURE_CD</B></KBD></DD> <DD><KBD>...</KBD></DD> <DD><KBD>cdrskin 0.1.2 : limited cdrecord compatibility wrapper for libburn</KBD></DD> <DD><KBD>...</KBD></DD> <DD><KBD> ------------------- SCSI devices. To be used like 0,0,0</KBD></DD> </DL> If your system is stricken with some ill CD device then this can stall and you will have to press <KBD>Ctrl+C</KBD> to abort. In this case, you may execute <KBD>export SCDBACKUP_NO_SCANBUS=1</KBD> and try again. <DL> <DT></DT> <DD><KBD> 1,0,0 0) 'TEAC' 'CD-ROM CD-532S' '?' Removable CD-ROM</KBD></DD> <DD><KBD> 2,2,0 1) 'LITE-ON' 'LTR-48125S' '?' Removable CD-ROM</KBD></DD> <DD><KBD>------------------- end of SCSI device list</KBD></DD> <DD><KBD>...</KBD></DD> <DD><KBD> * Your cdrecord offers -driveropts=burnfree with your recorder.</KBD></DD> <DD><KBD>...</KBD></DD> <DD><KBD>scdbackup for CD 0.8.6 : First stage of installation done.</KBD></DD> <DD><KBD>...</KBD></DD> <DD><KBD>Now give it a try. Run : scdbackup_home</KBD></DD> <DD>$ <KBD><B>unset SCDBACKUP_USE_CDRSKIN SCDBACKUP_EJECT_ADR</B></KBD></DD> </DL> <DL> <DT>To get back to using cdrecord :</DT> <DD>$ <KBD><B>cd scdbackup-0.8.6/inst</B></KBD></DD> <DD>$ <KBD><B>export SCDBACKUP_USE_CDRSKIN=0</B></KBD></DD> <DD>$ <KBD><B>./CONFIGURE_CD</B></KBD></DD> <DD><KBD>...</KBD></DD> <DD>$ <KBD><B>unset SCDBACKUP_USE_CDRSKIN</B></KBD></DD> </DL> </P> <HR> <A NAME="cdrecord"> <P> <CENTER><H3>About the relationship of cdrecord and cdrskin</H3></CENTER> First of all: this relationship is single sided, as cdrskin has to be aware of cdrecord but not vice versa. <BR> <BR> 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. <BR> 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. <BR> 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. <BR> <BR> 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. <BR> <BR> 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. <BR> </P> <HR> <CENTER><FONT SIZE=+0> <!-- <A NAME="bottom" HREF="main_ger.html#bottom">deutsch (german)</A> <BR><BR> --> <FONT SIZE=+0>Enjoying free Open Source hosting by <A HREF="http://www.webframe.org">www.webframe.org</A><BR> <A HREF="http://www.webframe.org"> <IMG SRC="msfree.gif" ALT="100 % Microsoft free" BORDER=0></A><BR> and by <A HREF="http://sourceforge.net">sourceforge.net</A><BR> <A href="http://sourceforge.net"> <IMG src="sflogo-88-1.png" BORDER="0" ALT="SourceForge Logo"></A> <!-- on sourceforge use : <IMG src="http://sourceforge.net/sflogo.php?group_id=16010" width="88" height="31" border="0" alt="SourceForge Logo"></A> --> </FONT></CENTER> <HR> <DL> <DT>Links to my other published software projects : <DD><A HREF=http://scdbackup.webframe.org/main_eng.html> scdbackup, multi volume CD backup</A> <DL><DD><A HREF=http://scdbackup.sourceforge.net/main_eng.html> (a second source of above)</A></DL> <DD><A HREF=http://stic.webframe.org>Some Tools for Image Collectors</A> <DL><DD><A HREF=http://stic.sourceforge.net>(a second source of above)</A></DL> <DD><A HREF=http://scdbackup.webframe.org/pppoem> pppoem, a DSL throughput monitor (mainly for Linux kernel 2.4)</A> </DL> <BR><BR> Legal statement: This website does not serve any commercial purpose.<BR> </FONT> </BODY> </HTML>