You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
214 lines
9.1 KiB
214 lines
9.1 KiB
-------------------------------------------------------------------------- |
|
cdrskin Wiki - plain text copy |
|
-------------------------------------------------------------------------- |
|
[[Image(source:/libburn/trunk/cdrskin/doener_150x200_tr.gif)]] [http://en.wikipedia.org/wiki/D%C3%B6ner_kebab Doener] |
|
|
|
'''cdrskin is the cdrecord compatibility middleware of libburn.''' |
|
|
|
Its paragon, cdrecord, is a powerful GPL'ed burn program included in Joerg |
|
Schilling's cdrtools. cdrskin strives to be a second source for the services |
|
traditionally provided by cdrecord. Currently it does CD-R and CD-RW this way. |
|
Overwriteable media DVD-RAM, DVD+RW and DVD-RW are handled differently than |
|
with cdrecord-ProDVD in order to offer TAO-like single track recording. |
|
The current development version handles sequential DVD-RW like CD-RW with TAO |
|
and multi-session. |
|
|
|
cdrskin does not contain any bytes copied from cdrecord's sources. |
|
Many bytes have been copied from the message output of cdrecord |
|
runs, though. The most comprehensive technical overview of cdrskin |
|
can be found in [http://libburnia.pykix.org/browser/libburn/trunk/cdrskin/README?format=txt cdrskin/README]. |
|
|
|
About libburn API for burning CD: http://libburnia-api.pykix.org |
|
|
|
-------------------------------------------------------------------------- |
|
|
|
Appending sessions to an unclosed CD is restricted to write mode TAO. |
|
(Users who have a burner which succeeds with a follow-up session via |
|
cdrecord -sao : please contact us.) |
|
|
|
For DVD types other than DVD-RAM, DVD+RW, DVD-RW and for appending sessions |
|
to ISO filesystems on DVD other than DVD-RW see the advise to use dvd+rw-tools |
|
at the end of this text. |
|
|
|
-------------------------------------------------------------------------- |
|
|
|
About the command line options of cdrskin: |
|
|
|
They are described in detail in [http://scdbackup.sourceforge.net/man_1_cdrskin_devel.html#OPTIONS section OPTIONS] of |
|
[http://scdbackup.sourceforge.net/man_1_cdrskin_devel.html man cdrskin] |
|
|
|
There are two families of options: cdrecord-compatible ones and options |
|
which are specific to cdrskin. The latter are mostly used to configure |
|
cdrskin for its task to emulate cdrecord. There are some, nevertheless, |
|
which provide rather exotic unique features of cdrskin. |
|
|
|
The cdrecord-compatible options are listed in the output of |
|
{{{ |
|
cdrskin -help |
|
}}} |
|
where the option "help" has *one* dash. Online: [http://scdbackup.sourceforge.net/cdrskin_help_devel cdrskin -help] |
|
|
|
For these options you may expect program behavior that is roughly the |
|
same as described in original man cdrecord . |
|
|
|
Online: http://cdrecord.berlios.de/old/private/man/cdrecord-2.0.html |
|
|
|
The cdrskin-specific options are listed by |
|
{{{ |
|
cdrskin --help |
|
}}} |
|
where the option "help" has *two* dashes. Online: [http://scdbackup.sourceforge.net/cdrskin__help_devel cdrskin --help] |
|
|
|
Some are very experimental and should only be |
|
used in coordination with the libburnia developer team. |
|
Some are of general user interest, though: |
|
|
|
-------------------------------------------------------------------------- |
|
|
|
--devices allows the sysadmin to scan the system for possible drives |
|
and displays their detected properties. |
|
The drives are listed one per line, with fields: |
|
libburn-drive-number, sysadmin-device-file, permissions, vendor, type |
|
{{{ |
|
0 dev='/dev/sg0' rwrw-- : 'HL-DT-ST' 'DVDRAM GSA-4082B' |
|
}}} |
|
This feature is valuable since cdrskin -scanbus will not give you |
|
the device file name and its current permissions. |
|
cdrskin will accept of course the proposed dev= option as address |
|
for any usage of the drive. |
|
|
|
Different from cdrecord, cdrskin is intended to be run without special |
|
privileges, i.e. no superuser setuid. It is intended that the sysadmin |
|
controls drive accessability by rw-permissions of the drive rather than |
|
by x-permission of the burn binary. To be usable with cdrskin, the drive |
|
has to offer both, r- and w-permission. |
|
|
|
-------------------------------------------------------------------------- |
|
|
|
Non-cdrecord blank mode blank=format_overwrite is needed to bring a DVD-RW |
|
disc from its initial profile "Sequential Recording" into profile state |
|
"Restricted Overwrite". The latter is usable with cdrskin. |
|
{{{ |
|
cdrskin dev=/dev/sr0 -v blank=format_overwrite |
|
}}} |
|
|
|
DVD-RAM, DVD+RW and overwriteable DVD-RW appear to cdrskin as blank media |
|
which are capable of taking only a single track. This track may be positioned |
|
on a 32KiB aligned address, though. |
|
{{{ |
|
cdrskin ... write_start_address=2412m ... |
|
}}} |
|
|
|
-------------------------------------------------------------------------- |
|
|
|
fifo_start_at=<num> is a throughput enhancer for unsteady data streams |
|
like they are produced by a compressing archiver program when piping to |
|
CD on-the-fly. It makes better use of the general property of a FIFO |
|
buffer to transport surplus bandwidth into the future. Yep. A time machine. |
|
One-way, i fear. |
|
|
|
FIFO originally was introduced by cdrecord's author Joerg Schilling in order |
|
to protect mediocre burner hardware from suffering buffer underruns |
|
and thus producing misburns (at 1x speed on CD-R media at the price of a |
|
DVD-RAM nowadays). This purpose would not justify a fifo any more - |
|
given the limited life time of burners and the seamless underrun protection |
|
of contemporary consumer drives. |
|
|
|
With an unsteady data stream the task of the buffer is to soak up peak |
|
performance and to release it steadily at the drive's maximum speed. |
|
The larger the buffer the more reserves can be built up and the longer |
|
input drought can be compensated. |
|
|
|
Original cdrecord has the historical property, though, to first wait until |
|
the buffer is completely filled. Best practice for fighting drive |
|
underruns, of course. |
|
With a very fat fs=# buffer (128 MB for 12x CD is not unrealistic) this |
|
can cause a big delay until burning finally starts and takes its due time. |
|
|
|
fifo_start_at=<num> makes cdrskin start burning after the given number of bytes |
|
is read rather than waiting for the FIFO to be completely full resp. the data |
|
stream to end. It risks a few drive buffer underruns at the beginning of burn |
|
- but modern drives stand this. |
|
|
|
Usage examples: |
|
{{{ |
|
cdrskin ... fs=128m fifo_start_at=20m ... |
|
cdrskin ... fifo_start_at=0 ... |
|
}}} |
|
|
|
Note: no FIFO can give you better average throughput than the average |
|
throughput of the data source and the throughput of the burner. |
|
It can be used, though, to bring the effective throughput very close |
|
to the theoretical limit. Especially with high speed media. |
|
|
|
-------------------------------------------------------------------------- |
|
|
|
--no_rc allows you to surely ban influence from systemwide or user specific |
|
default settings of cdrskin. Possible locations for such settings: |
|
|
|
/etc/default/cdrskin |
|
|
|
/etc/opt/cdrskin/rc |
|
|
|
/etc/cdrskin/cdrskin.conf |
|
|
|
$HOME/.cdrskinrc |
|
|
|
-------------------------------------------------------------------------- |
|
|
|
dev_translation=<sep><from><sep><to> may be needed to foist cdrskin to |
|
frontend programs of cdrecord which do *not* ask cdrecord -scanbus but |
|
which make own assumptions and guesses about cdrecord's device addresses. |
|
|
|
Normally, cdrskin understands all addresses which are suitable for cdrecord |
|
under Linux. See cdrskin/README, "Pseudo-SCSI Adresses". |
|
This option is mainly for (yet unknown) exotic configurations or very |
|
stubborn frontend programs. |
|
|
|
If a frontend refuses to work with cdrskin, look into the error protocol |
|
of that frontend, look at the output of a run of cdrskin --devices and give |
|
cdrskin the necessary hint. |
|
Example: Your frontend insists in using "0,0,0" and --devices reported |
|
dev='/dev/hdc' resp. cdrskin dev=ATA -scanbus reported "1,0,0" then this |
|
would be the appropriate translation: |
|
{{{ |
|
dev_translation=+0,0,0+/dev/hdc |
|
}}} |
|
The "+" character is a separator to be choosen by you. |
|
Currently i am not aware of the need to choose any other than "+" |
|
unless you get playful with custom translations like |
|
{{{ |
|
dev_translation=-"cd+dvd"-1,0,0 |
|
}}} |
|
See http://scdbackup.sourceforge.net/k3b_on_cdrskin.html |
|
for an illustrated example with K3b 0.10 . |
|
|
|
-------------------------------------------------------------------------- |
|
|
|
DVD advise: |
|
|
|
For burning of DVD media other than DVD-RAM, DVD+RW, DVD-RW, the cdrskin |
|
project currently advises to use Andy Polyakov's dvd+rw-tools which despite |
|
their historic name burn for me on above burner: DVD-RAM, DVD+RW, DVD+R, |
|
DVD-RW, DVD-R and are also capable of dual layer and even BD discs. |
|
|
|
http://fy.chalmers.se/~appro/linux/DVD+RW/tools |
|
|
|
They are not compatible or related to cdrecord resp. cdrecord-ProDVD |
|
(now obsoleted by original source cdrtools cdrecord with identical |
|
capabilities besides the license key). |
|
|
|
A special feature of dvd+rw-tools is growing of ISO-9660 filesystems on |
|
overwriteable media. This is not the same as multi-session writing of cdrskin |
|
with CD media, but retrieves additional information from the existing ISO |
|
image and finally manipulates the start sectors of this existing image. |
|
So for growable ISO filesystems on DVD-RAM or DVD+RW growisofs is the only |
|
choice, currently. |
|
|
|
With sequential DVD-RW the development version of cdrskin can offer |
|
multi-session together with associated options blank=, -multi, -msinfo and |
|
-toc. Thus sequential DVD-RW behave much like large CD-RW with possibly more |
|
than 99 tracks. |
|
|
|
-------------------------------------------------------------------------- |
|
|
|
|