From cae4e4f69bf75c615aba58013de0503134e90a7b Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Tue, 25 Oct 2011 10:39:10 +0000 Subject: [PATCH] Info document and man page for xorrecord --- Makefile.am | 6 +- README | 1 + xorriso/README_gnu_xorriso | 6 +- xorriso/convert_man_to_html.sh | 7 +- xorriso/emulators.c | 3 +- xorriso/make_docs.sh | 4 +- xorriso/make_xorriso_1.c | 9 +- xorriso/make_xorriso_standalone.sh | 4 + xorriso/man_xorrecord_to_html.sh | 73 ++ xorriso/xorrecord.1 | 741 ++++++++++++++++++++ xorriso/xorrecord.info | 928 ++++++++++++++++++++++++ xorriso/xorrecord.texi | 1048 ++++++++++++++++++++++++++++ xorriso/xorriso.1 | 8 +- xorriso/xorriso.info | 85 +-- xorriso/xorriso.texi | 7 +- xorriso/xorriso_makefile_am.txt | 6 +- xorriso/xorriso_timestamp.h | 2 +- xorriso/xorrisofs.1 | 5 +- xorriso/xorrisofs.info | 13 +- xorriso/xorrisofs.texi | 9 +- 20 files changed, 2895 insertions(+), 70 deletions(-) create mode 100755 xorriso/man_xorrecord_to_html.sh create mode 100644 xorriso/xorrecord.1 create mode 100644 xorriso/xorrecord.info create mode 100644 xorriso/xorrecord.texi diff --git a/Makefile.am b/Makefile.am index f31998a8..a8da5c24 100644 --- a/Makefile.am +++ b/Makefile.am @@ -222,11 +222,13 @@ nodist_pkgconfig_DATA = \ man_MANS = \ xorriso/xorriso.1 \ - xorriso/xorrisofs.1 + xorriso/xorrisofs.1 \ + xorriso/xorrecord.1 info_TEXINFOS = \ xorriso/xorriso.texi \ - xorriso/xorrisofs.texi + xorriso/xorrisofs.texi \ + xorriso/xorrecord.texi EXTRA_DIST = \ libisoburn-1.pc.in \ diff --git a/README b/README index edee8457..16709d6d 100644 --- a/README +++ b/README @@ -89,6 +89,7 @@ xorriso binary depending on libburn.so, libisofs.so, libisoburn.so. After installation documentation is available via man xorriso man xorrisofs + man xorrecord Several alias links point to the xorriso binary: xorrisofs starts xorriso with -as mkisofs emulation already enabled diff --git a/xorriso/README_gnu_xorriso b/xorriso/README_gnu_xorriso index 5d3f3c9b..fd09a1fc 100644 --- a/xorriso/README_gnu_xorriso +++ b/xorriso/README_gnu_xorriso @@ -73,14 +73,14 @@ or you may execute as superuser: For general concepts, options and usage examples see info xorriso info xorrisofs + info xorrecord man 1 xorriso man 1 xorrisofs + man 1 xorrecord -You may get a first glimpse by +You may get a first glimpse by e.g. info ./xorriso/xorriso.info - info ./xorriso/xorrisofs.info man ./xorriso/xorriso.1 - man ./xorriso/xorrisofs.1 The installation creates several alias links pointing to the xorriso binary: xorrisofs starts xorriso with -as mkisofs emulation already enabled diff --git a/xorriso/convert_man_to_html.sh b/xorriso/convert_man_to_html.sh index 55b40740..9d3c9dcf 100755 --- a/xorriso/convert_man_to_html.sh +++ b/xorriso/convert_man_to_html.sh @@ -1,13 +1,14 @@ #!/bin/sh # -# convert_man_to_html.sh - ts B10309 +# convert_man_to_html.sh - ts B11024 # -# Generates a HTML version of man pages xorriso.1 , xorrisofs.1 +# Generates a HTML version of man pages xorriso.1 , xorrisofs.1 , xorrecord.1 # -# To be executed in the libisoburn toplevel directory (eg. ./libisoburn-1.0.4) +# To be executed in the libisoburn toplevel directory (eg. ./libisoburn-1.1.8) # xorriso/man_xorriso_to_html.sh xorriso/man_xorrisofs_to_html.sh +xorriso/man_xorrecord_to_html.sh diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 79fc2a9b..a4856d9e 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -55,8 +55,9 @@ int Xorriso_cdrskin_help(struct XorrisO *xorriso, int flag) "\t--devices\tprint list of available MMC drives and exit emulation", "\tdev=target\tpseudo-SCSI target to use as CD-Recorder", "\t-v\t\tincrement verbose level by one", +"\t-V\t\tincrement SCSI command transport verbose level by one", "\t-checkdrive\tcheck if a driver for the drive is present", -"\t-inq\t\tdo an inquiry for the drive and exit emulation", +"\t-inq\t\tdo an inquiry for the drive", "\tspeed=#\t\tset speed of drive", "\tblank=type\tblank a CD-RW disc (see blank=help)", "\tfs=#\t\tSet fifo size to # (0 to disable, default is 4 MB)", diff --git a/xorriso/make_docs.sh b/xorriso/make_docs.sh index 742db9d7..0a97ee90 100755 --- a/xorriso/make_docs.sh +++ b/xorriso/make_docs.sh @@ -2,12 +2,14 @@ # # Produce man page xorriso/xorriso.1 and info file xorriso/xorriso.info # from base file xorriso/xorriso.texi. -# Same for xorriso/xorrisofs.texi. +# Same for xorriso/xorrisofs.texi and xorriso/xorrecord.texi. ( cd xorriso ; makeinfo ./xorriso.texi ) ( cd xorriso ; makeinfo ./xorrisofs.texi ) +( cd xorriso ; makeinfo ./xorrecord.texi ) xorriso/make_xorriso_1 -auto xorriso/make_xorriso_1 -auto -xorrisofs +xorriso/make_xorriso_1 -auto -xorrecord diff --git a/xorriso/make_xorriso_1.c b/xorriso/make_xorriso_1.c index 2653eed4..788fd6ab 100644 --- a/xorriso/make_xorriso_1.c +++ b/xorriso/make_xorriso_1.c @@ -473,13 +473,16 @@ usage:; exit(2); } for(i= 1; i < argc; i++) { - if(strcmp(argv[i], "-filter") == 0) + if(strcmp(argv[i], "-filter") == 0) { as_filter= 1; - else if(strcmp(argv[i], "-auto") == 0) + } else if(strcmp(argv[i], "-auto") == 0) { as_filter= 0; - else if(strcmp(argv[i], "-xorrisofs") == 0) { + } else if(strcmp(argv[i], "-xorrisofs") == 0) { strcpy(name_in, "xorriso/xorrisofs.texi"); strcpy(name_out, "xorriso/xorrisofs.1"); + } else if(strcmp(argv[i], "-xorrecord") == 0) { + strcpy(name_in, "xorriso/xorrecord.texi"); + strcpy(name_out, "xorriso/xorrecord.1"); } else { fprintf(stderr, "%s : unknown option %s\n", argv[0], argv[i]); goto usage; diff --git a/xorriso/make_xorriso_standalone.sh b/xorriso/make_xorriso_standalone.sh index f9f7f559..105baf1b 100755 --- a/xorriso/make_xorriso_standalone.sh +++ b/xorriso/make_xorriso_standalone.sh @@ -194,11 +194,15 @@ copy_files \ xorriso/xorriso.info \ xorriso/xorrisofs.texi \ xorriso/xorrisofs.info \ + xorriso/xorrecord.texi \ + xorriso/xorrecord.info \ xorriso/make_xorriso_1.c \ xorriso/xorriso.1 \ xorriso/xorrisofs.1 \ + xorriso/xorrecord.1 \ xorriso/man_1_xorriso.html \ xorriso/man_1_xorrisofs.html \ + xorriso/man_1_xorrecord.html \ "$lone_dir"/xorriso copy_files COPYRIGHT "$lone_dir"/xorriso diff --git a/xorriso/man_xorrecord_to_html.sh b/xorriso/man_xorrecord_to_html.sh new file mode 100755 index 00000000..8b85b8bd --- /dev/null +++ b/xorriso/man_xorrecord_to_html.sh @@ -0,0 +1,73 @@ +#!/bin/sh + +# +# man_xorrecord_to_html.sh - ts A80118 , B10309 +# +# Generates a HTML version of man page xorrecord.1 +# +# To be executed in the libisoburn toplevel directory (eg. ./libisoburn-0.1.0) +# + +# set -x + +man_dir=$(pwd)"/xorriso" +export MANPATH="$man_dir" +manpage="xorrecord" +raw_html=$(pwd)/"xorriso/raw_man_1_xorrecord.html" +htmlpage=$(pwd)/"xorriso/man_1_xorrecord.html" + +if test -r "$man_dir"/"$manpage".1 +then + dummy=dummy +else + echo "Cannot find readable man page source $1" >&2 + exit 1 +fi + +if test -e "$man_dir"/man1 +then + dummy=dummy +else + ln -s . "$man_dir"/man1 +fi + +if test "$1" = "-work_as_filter" +then + +# set -x + + sed \ + -e 's///' \ + -e 's///' \ + -e 's/XORRECORD<\/title>/<title>man 1 xorrecord<\/title>/' \ + -e 's/<h1 align=center>XORRECORD<\/h1>/<h1 align=center>man 1 xorrecord<\/h1>/' \ + -e 's/<body>/<body BGCOLOR="#F5DEB3" TEXT=#000000 LINK=#0000A0 VLINK=#800000>/' \ + -e 's/<b>MMC, Session, Track, Media types:<\/b>/\ <BR><b>MMC, Session, Track, Media types:<\/b>/' \ + -e 's/<b>MMC, Session, Track, Media types:<\/b>/\ <BR><b>MMC, Session, Track, Media types:<\/b>/' \ + -e 's/<b>Relation to program xorriso:<\/b>/\ <BR><b>Relation to program xorriso:<\/b>/' \ + -e 's/EXAMPLES):<br>/<A HREF="#EXAMPLES">EXAMPLES<\/A>):<br>/' \ + -e 's/<b>Drive addressing:<\/b>/\ <BR><b>Drive addressing:<\/b><BR>\ <BR>/' \ + -e 's/<b>Inquiring drive and media:<\/b>/\ <BR><b>Inquiring drive and media:<\/b><BR>\ <BR>/' \ + -e 's/<b>Settings for the burn run<\/b>/\ <BR><b>Settings for the burn run:<\/b><BR>\ <BR>/' \ + -e 's/<b>Program version and verbosity:<\/b>/\ <BR><b>Program version and verbosity:<\/b><BR>\ <BR>/' \ + -e 's/<b>Options not compatible to cdrecord:<\/b>/\ <BR><b>Options not compatible to cdrecord:<\/b><BR>\ <BR>/' \ +\ + -e 's/<\/body>/<BR><HR><FONT SIZE=-1><CENTER>(HTML generated from '"$manpage"'.1 on '"$(date)"' by '$(basename "$0")' )<\/CENTER><\/FONT><\/body>/' \ + -e 's/−/-/g' \ + <"$2" >"$htmlpage" + + set +x + + chmod u+rw,go+r,go-w "$htmlpage" + echo "Emerged file:" + ls -lL "$htmlpage" + +else + + export BROWSER='cp "%s" '"$raw_html" + man -H "$manpage" + "$0" -work_as_filter "$raw_html" + rm "$raw_html" + rm "$man_dir"/man1 + +fi diff --git a/xorriso/xorrecord.1 b/xorriso/xorrecord.1 new file mode 100644 index 00000000..129f8a93 --- /dev/null +++ b/xorriso/xorrecord.1 @@ -0,0 +1,741 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" +.\" IMPORTANT NOTE: +.\" +.\" The original of this file is kept in xorriso/xorrecord.texi +.\" This here was generated by program xorriso/make_xorriso_1 +.\" +.\" +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH XORRECORD 1 "Version 1.1.7, Oct 24, 2011" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp <n> insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.nh +.SH NAME +xorrecord \- Emulation of CD/DVD/BD program cdrecord by program xorriso +.SH SYNOPSIS +.B xorrecord +[ options ] dev=device [track_source] +.br +.SH DESCRIPTION +.PP +\fBxorrecord\fR +writes preformatted data to CD, DVD, and BD media. +.br +.PP +It understands some options of program cdrecord from cdrtools by +Joerg Schilling. +Its implementation is part of program xorriso which shares no source +code with cdrtools, but rather makes use of libburn for communicating +with the drive. +.br +Another, more complete cdrecord emulator is program \fBcdrskin\fR +which uses the same burn functions as \fBxorrecord\fR. +.SS +\fBMMC, Session, Track, Media types:\fR +.br +\fBMMC\fR +is a standard out of the SCSI family which defines the interaction between +computers and optical drives. Since more than a decade all CD, DVD, or BD +recorders obey this standard regardless by what bus cabling they are +attached to the computer. libburn relies on this standard compliance and +on the capability of the operating system to perform SCSI transactions +over the particular bus cabling. +.br +A \fBSession\fR is a data region on an optical disc which usually +gets written in a single sweep. It contains at least one +\fBTrack\fR which is a contiguous string of readable blocks. +\fBxorrecord\fR produces a single session with a single data track +which consists of blocks with 2048 bytes each. It chooses the write mode +automatically according to media type, medium state, and option \-multi. +.br +On CD media there are other track types, like audio, and particular write +modes like TAO and SAO. CD and DVD\- media can put more than one track into +a session. Some of these features can be addressed by program \fBcdrskin\fR. +.br +MMC describes several recordable \fBmedia types\fR which roughly form two +families. +.br +\fBSequentially recordable media\fR +are CD\-R, CD\-RW, DVD\-R, DVD\-R DL, DVD\-RW, DVD+R, DVD+R DL, BD\-R. +Except DVD\-R DL they can store more than one session if there is still +unwritten space and if the previous session was written with option +\fB\-multi\fR. CD\-RW and DVD\-RW can be blanked in order to be re\-usable +from scratch. +.br +\fBOverwritable media\fR are DVD\-RAM, DVD+RW, formatted DVD\-RW, BD\-RE. +They offer a single session with a single track for random access writing. +There is no need to blank overwritable media before re\-use. +.br +DVD\-RW media are sold in sequentially recordable state but can be +formatted once to become overwritable. See options +\fBblank=format_overwrite\fR and \fBblank=deformat\fR. +.br +If ISO 9660 filesystems are to be stored on overwritable media, then it +is possible to emulate multiple sessions, by using option +\fB\-\-grow_overriteable_iso\fR. In this case, the need for +blanking before re\-use is emulated too. +.SS +.B Drive preparation and addressing: +.PP +The drives, CD, DVD, or BD burners, are accessed via file addresses which +are specific to libburn and the operating system. Those addresses get listed +by a run of \fBxorrecord \-\-devices\fR or \fBxorriso \-device_links\fR. +.br +On GNU/Linux and FreeBSD, the user needs rw\-permission for the device file. +On Solaris, the user needs r\-permission and privilege "sys_devices", +which is usually gained by running \fBxorrecord\fR via command pfexec. +.br +These permissions resp. privileges are needed already for listing a drive. +So it might be necessary to get the overview as superuser resp. via pfexec. +.br +\fBxorrecord\fR does not perform cdrecord option \-scanbus and does +not accept the addresses of form Bus,Target,Lun which are told by \-scanbus. +If support for these addresses is necessary, consider to use program cdrskin. +.br +It is possible to let \fBxorrecord\fR work on emulated drives. +Their addresses begin by prefix "stdio:" followed by a file address. +The emulated media behavior depends on the file type. +See man xorriso for details. +.br +If standard output is chosen as emulated drive, then all program result +texts, which usually appear on standard output, will get redirected to +standard error. +.SS +\fBRelation to program xorriso:\fR +.br +\fBxorrecord\fR is actually a command mode of program \fBxorriso\fR, +which gets entered either by xorriso command "\-as cdrecord" or by +starting the program by one of the names "xorrecord", "cdrecord", +"wodim", or "cdrskin". +.br +This command mode can be left by argument "\-\-" which leads +to generic xorriso command mode. See \fBman xorriso\fR for its description. +Other than in xorriso command mode, the sequence of the cdrecord emulation +options does not matter. +All pending actions get performed in a fixed sequence before the program +run ends resp. before cdrecord emulation ends. +.SS +.br +.SH OPTIONS +.br +.PP +.TP +.B Addressing the drive: +.TP +\fB--devices\fR +Print the list of accessible CD, DVD, or BD drives to standard output. +Drives might be inaccessible if the user lacks of permissions to use them +or if the drive is in use by another program. +.br +Each accessible drive is shown by a line like: +.br + 0 \-dev '/dev/sr0' rwrw\-\- : 'TSSTcorp' 'CDDVDW SH\-S203B' +.br +The libburn address of this drive is '/dev/sr0'. 'TSSTcorp' is the +name of the vendor (in this case: Toshiba Samsung Storage Technologies +Corporation), 'CDDVDW SH\-S203B' is the model name (in this case: a DVD burner). +.TP +\fBdev=drive_address\fR +Set the libburn address of the drive to be used. +.br +E.g. on GNU/Linux: dev=/dev/sr0 +.br +E.g. on FreeBSD: dev=/dev/cd0 +.br +E.g. on Solaris: dev=/dev/rdsk/c2t2d0s2 +.br +See also above "Drive preparation and addressing". +.br +The medium in the drive should not be mounted or be otherwise in use. +.TP +.B Inquiring drive and media: +.TP +\fB\-inq\fR +Print to standard output: vendor, model name, and firmware revision +of the drive. +.TP +\fB\-checkdrive\fR +Print unconditionally that the drive supports burnfree, SAO, and TAO. +Also print the output of option \-inq. +.TP +\fB\-atip\fR +Print the output of \-checkdrive, the most capable profile of the medium +in the drive, the list of profiles which are supported by the drive, +whether it is erasable (i.e. can be blanked), the media manufacturer, and +the medium product name. +.br +Profiles are usage models, which are often tied to a particular media type +(e.g. CD\-RW), but may also apply to a family of media. E.g. profile CD\-ROM +applies to all CD media which contain data. +.TP +\fB\-toc\fR +Print a table of content of the medium in the drive. The output is not +compatible to +cdrecord option \-toc, but rather the one of \fBxorriso\fR command \-toc. +It lists the address, vendor, model name, and firmware revision of the drive. +.br +About the medium it tells product name and manufacturer, whether there +is already content written, and if so, whether the medium is closed or +appendable. Appendable media can take another session. +The amount of readable and writable data is told. +If there are sessions, then their start block address and size is reported. +If a session contains an ISO 9660 filesystem, then its Volume Id is reported. +If the medium is writable, then the next writable block address is reported. +.br +If not option \fB\-\-grow_overriteable_iso\fR is given or no ISO 9660 +file system is present on the medium, then overwritable media are reported +as being blank. This is due to the fact that they can be written from +scratch without further preparation, and that MMC does not distinguish +between data written by the most previous burn run and older data +which have not been overwritten by that burn run. +Consequently, these media are reported with 0 readable blocks, although +all their writable blocks normally are readable, too. +.TP +\fB\-msinfo\fR +Print the argument text for option \-C of programs mkisofs, genisoimage, +or xorrisofs. It consists of two numbers separated by a comma. +.br +The first number tells the first block of the first track of the last recorded +session. This is also the address used by default when operating systems +mount a medium with e.g. ISO 9660 filesystem. +.br +The second number tells the next writable address, where \fBxorrecord\fR +will begin to write the next session. +.br +This option is only valid for written, appendable media. In all other +cases it will yield no output text but will abort the program +with non\-zero exit value. +.TP +.B Settings for the burn run: +.PP +A burn run requires exactly one track source address argument, which +tells from where to read the data wich shall be put into the upcomming +session. The medium state must be either blank or appendable. +.br +Track source may be "\-" for standard input or the address of a readable +file of any type except directories. Nearly all media types accept a track +source with unpredictable byte count, like standard input or named pipes. +Nevertheless, DVD\-R DL and DVD\-RW blanked by mode deformat_quickest +demand exact in\-advance reservation of the track size, so that they either +need to be read from a source of +predictable length, or need to be accompanied by option \fBtsize=\fR or +by option \fB\-isosize\fR. +.br +Several options expect a size value as argument. A number with a trailing +letter "b" or without a trailing letter is a plain byte count. Other trailing +letters cause multiplication of the given number by a scaling factor: +.br +"k" or "K" = 1024 , "m" or "M" = 1024k , "g" or "G" = 1024m , "s" or "S" = 2048 +.br +E.g. tsize=234567s means a size of 234567 * 2048 = 480393216 bytes. +.TP +\fBblank=mode\fR +Blank a CD\-RW or DVD\-RW to make it re\-usable from scratch. +Format a DVD\-RW, DVD+RW, DVD\-RAM, BD\-R, or BD\-RE if not yet formatted. +.br +This operation normally makes any recorded data on the medium unreadable. +It is combinable with burning in the same run of \fBxorrecord\fR, +or it may be performed without a track source, leaving the medium empty. +.br +The mode given with blank= selects the particular behavior: +.RS +.TP +.br +as_needed +.br +Try to make the media ready for writing from scratch. If it needs formatting, +then format it. If it is not blank, then try to apply blank=fast. +It is a reason to abort if the mediium cannot assume thoroughly writeable +state, e.g. if it is a non\-blank write\-once. +.br +This leaves unformatted DVD\-RW in unformatted blank state. To format DVD\-RW use +blank=format_overwrite. Blank unformatted BD\-R stay unformatted. +.br +(Note: blank=as_needed is not an original cdrecord option.) +.TP +.br +all +.br +Blank an entire CD\-RW or an unformatted DVD\-RW. +.TP +.br +fast +.br +Minimally blank an entire CD\-RW or blank an unformatted DVD\-RW. +.TP +.br +deformat +.br +Like blank=all but with the additional ability to blank overwriteable DVD\-RW. +This will destroy their formatting and make them sequentially recordable. +.br +(Note: blank=deformat is not an original cdrecord options) +.TP +.br +deformat_quickest +.br +Like blank=deformat but blanking DVD\-RW only minimally. +This is faster than full blanking but yields media incapable of +writing tracks of unpredicatable size. +Multi\-session will not be possible either. +.br +(Note: blank=deformat_quickest is not an original cdrecord option.) +.TP +.br +format_overwrite +.br +Format a DVD\-RW to "Restricted Overwrite". The user should bring some patience. +.br +Format unformatted DVD+RW, BD\-RE or blank BD\-R to their default size. +It is not mandatory to do this with DVD+RW and BD\-RE media, because they +will get formatted automatically on the first write attempt. +.br +BD\-R media may be written in unformatted state. This keeps disabled the +replacement of bad blocks and enables full nominal write speed. Once BD\-R +media are written, they cannot be formatted any more. +.br +For re\-formatting already formatted media or for formatting with +non\-default size, use program \fBxorriso\fR with command \fB\-format\fR. +.br +(Note: blank=format_overwrite is not an original cdrecord options) +.RE +.TP +\fB\-multi\fR +This option keeps CD, unformatted DVD\-R[W], DVD+R, or BD\-R appendable +after the current session has been written. +Without it the disc gets closed and may not be written any more \- unless it +is a \-RW and gets blanked, which causes loss of its content. +.br +This option cannot be applied to DVD\-R DL and DVD\-RW which were blanked +by type deformat_quickest. +.br +In order to have all filesystem content accessible, the eventual ISO\-9660 +filesystem of a follow\-up +session needs to be prepared in a special way by the filesystem formatter +program. mkisofs, genisoimage, and xorrisofs expect particular info about +the situation which can be retrieved by \fBxorrecord\fR option \-msinfo. +.br +With overwriteable DVD or BD media, \-multi cannot mark the end of the session. +So when adding a new session, this end has to be determined from the payload. +Currently only ISO\-9660 filesystems can be used that way. See option +\fB\-\-grow_overwriteable_iso\fR. +.TP +\fB\-dummy\fR +Try to perform the drive operations without actually affecting the inserted +media. There is no warranty that this will work with a particular combination +of drive and media. Blanking is prevented reliably, though. +To avoid inadverted real burning, \-dummy refuses burn runs on anything but +CD\-R[W], DVD\-R[W], or emulated stdio\-drives. +.TP +\fB\-waiti\fR +Wait until input data is available at stdin or EOF occurs at stdin. +Only then begin to access any drives. +.br +One should use this if xorrisofs is working at the end of a pipe where the +feeder process reads from the drive before it starts writing its output into +xorrisofs. Example: +.br +xorrisofs ... \-C 0,12800 \-M /dev/sr0 ... | \\ +.br +xorrecord dev=/dev/sr0 ... \-waiti \- +.br +This option works even if standard input is not the track source. If no process +is piping in, then the Enter key of your terminal will act as trigger for +\fBxorrecord\fR. Note that this input line will not be consumed by +cdrskin if standard input is not the track source. It will end up as shell +command, usually. +.TP +\fBtsize=size\fR +Announce the exact size of the track source. This is necessary with +DVD\-R DL media and with quickest blanked DVD\-RW, if the size cannot be +determined in advance from the track source. E.g. if it is standard input +or a named pipe. +.br +If the track source does not deliver the predicted amount of bytes, the +remainder of the track is padded with zeros. This is not considered an error. +If on the other hand the track source delivers more than the announced bytes +then the track on media gets truncated to the predicted size and xorrecord +exits with non\-zero value. +.TP +\fB\-isosize\fR +Try to obtain the track size from the content of the track source. +This works only if the track source bears an ISO 9660 filesystem. +Any other track source content will cause the burn run to abort. +.br +If the track source is not a regular file or block device, then this option +will work only if the program's fifo size is at least 64k. See option fs=. +.TP +\fBpadsize=size\fR +Add the given amount of trailing zeros to the upcomming track. +This feature can be disabled by size 0. Default is 300 kB in order to +work around a problem with GNU/Linux which often fails to read the last few +blocks of a CD track which was written in write mode TAO. TAO is used +by \fBxorrecord\fR if the track size cannot be predicted or if the CD +medium is not blank but appendable. +.TP +\fB\-nopad\fR +The same as padsize=0. +.TP +\fB\-pad\fR +The same as padsize=15s. This was once sufficient with older GNU/Linux +kernels. Meanwhile one should at least use padsize=128k, if not padsize=300k. +.TP +\fB\-data\fR +Explicitely announce that the track source shall be recorded as data track, +and not as audio track. This option has no effect with \fBxorrecord\fR, +because there is no support for other track formats anyway. +.TP +\fBfs=size\fR +Set the size of the program fifo buffer to the given value +rather than the default of 4m. +.br +The fifo buffers a temporary surplus of track source data in order to +provide the drive with a steady stream during times of temporary lack of track +source supply. +.br +Other than cdrecord, xorrecord enables drive buffer underrun protection by +default and does not wait with writing until the fifo is full for a first +time. +On very old CD drives and slow computers, this might cause aborted burn runs. +In this case, consider to use program \fBcdrskin\fR for CD burning. +DVD and BD drives tolerate buffer underrun without problems. +.br +The larger the fifo, the longer periods of poor source supply can be +compensated. But a large fifo can deprive the operating system of read cache +for better filesystem performance. +.TP +\fBspeed=value\fR +Set the write speed. Default is 0 = maximum speed. +Speed can be given in media type dependent x\-speed numbers or as a +desired throughput per second in MMC compliant kB (= 1000) +or MB (= 1000 kB). Media x\-speed factor can be set explicity +by appending "c" for CD, "d" for DVD, "b" for BD. "x" is optional. +.br +Example speeds: +.br + 706k = 706kB/s = 4c = 4xCD +.br + 5540k = 5540kB/s = 4d = 4xDVD +.br +If there is no hint about the speed unit attached, then the +medium in the drive will decide. +Default unit is CD, 1x = 176,400 raw bytes/second. +With DVD, 1x = 1,385,000 bytes/second. +With BD, 1x = 4,495,625 bytes/second. +.br +MMC drives usually activate their own idea of speed and take +the speed value given by the burn program only as a hint +for their own decision. +.TP +\fB\-eject\fR +Eject the drive tray after alll other work is done. +.TP +.B Program version and verbosity: +.TP +\fB\-version\fR +Print to standard output a line beginning by +.br +"Cdrecord 2.01\-Emulation Copyright" +.br +and further lines which report the version of xorriso and its +supporting libraries. They also state the license under which the program +is provided, and disclaim any warranty, to the extent permitted by law. +.TP +\fB\-v\fR +Increase program verbosity by one level. There are four verbosity levels +from nearly silent to debugging verbosity. The both highest levels can +be enabled by repeated \-v or by \-vv resp. \-vvv. +.TP +\fB\-V\fR +Log SCSI commands and drive replies to standard error. +This might be of interest if \fBxorrecord\fR and a particular drive +or medium do not cooperate as expected, or if you just want to know +how libburn interacts with the drive. +To understand this extremely verbous log, one needs to read SCSI +specs SPC, SBC, and MMC. +.br +Please do not add such a log to a bug report on the first hand, +unless you want to point out a particular deviation +from said specs, or if you get asked for this log by a maintainer of +\fBxorrecord\fR who feels in charge for your bug report. +.TP +\fB\-help\fR +Print a sparse list of program options to standard error +and declare not to be cdrecord. +.TP +.B Options not compatible to cdrecord: +.TP +\fB--no_rc\fR +Only if used as first command line argument this option +prevents reading and interpretation of startup files. See section FILES below. +.TP +\fB--grow_overwriteable_iso\fR +Enable emulation of multi\-session writing on overwriteable media which +contain an ISO 9660 filesystem. This emulation is learned from growisofs \-M +but adapted to the usage model of +.br +xorrecord \-msinfo +.br +xorrisofs \-C \-M | xorrecord \-waiti \-multi \- +.br +for sequential media. +.br +\-\-grow_overwriteable_iso does not hamper the use of true multi\-session media. +I.e. it is possible to use the same \fBxorrecord\fR options with both +kinds of media +and to achieve similar results if ISO 9660 filesystem images are to be written. +This option implies option \-isosize and therefore demands that the track +source is a ISO 9660 filesystem image. +.br +With overwriteable media and no option blank=fast|all present it expands an +eventual ISO 9660 filesystem on media. It is assumed that this image's inner +size description points to the end of the valuable data. +Overwriteable media with a recognizable ISO 9660 size will be regarded as +appendable rather than as blank. I.e. options \-msinfo and \-toc will work. +\-toc will always show a single session with its size increasing with +every added ISO 9660 image. +.TP +\fBstream_recording="on"|"off"|number\fR +Mode "on" requests that compliance to the desired speed setting is +preferred over management of write errors. With DVD\-RAM and BD this can +bring effective write speed near to the nominal write speed of the media. +But it will also disable the automatic use of replacement blocks +if write errors occur. It might as well be disliked or ignored by the drive. +.br +If a number is given, then error management stays enabled for all byte +addresses below that number. Any number below 16s is the same as "off". +.TP +\fBdvd_obs="default"|"32k"|"64k"\fR +Linux specific: +Set the number of bytes to be transmitted with each write operation to DVD +or BD media. Tracks get padded up to the next multiple of this write +size. A number of 64 KB may improve throughput with bus systems which +show latency problems. The default depends on media type, option +stream_recording=, and on compile time options. +.TP +\fBwrite_start_address=value\fR +Set the block address on overwritable media where to start writing the track. +With DVD+RW, DVD\-RAM or BD\-RE, byte_offset must be aligned to 2 kiB blocks, +but better is 32 kiB on DVD and 64 kiB on BD. +With formatted DVD\-RW 32 kiB alignment is mandatory. +.br +Other media are not suitable for this option. +.TP +\fBstdio_sync="on"|"off"|number\fR +Set the number of bytes after which to force output to emulated stdio: drives. +This forcing keeps the memory from being clogged with lots of +pending data for slow devices. Default "on" is the same as "16m". +Forced output can be disabled by "off". +.SH EXAMPLES +.SS +.B Overview of examples: +Get an overview of drives and their addresses +.br +Get info about a particular drive or loaded media +.br +Prepare CD-RW or DVD-RW for re-use, BD-R for bad block handling +.br +Format DVD-RW to avoid need for blanking before re-use +.br +De-format DVD-RW to make it capable of multi-session again +.br +Write a single ISO 9660 filesystem image +.br +Write multiple ISO 9660 sessions +.br +Write ISO 9660 session on-the-fly +.br +Write compressed afio archive on-the-fly +.br +.SS +.B Get an overview of drives and their addresses: + $ xorrecord \-\-devices +.SS +.B Get info about a particular drive and loaded media: + $ xorrecord dev=/dev/sr0 \-atip \-toc \-\-grow_overwriteable_iso +.SS +.B Prepare CD-RW or DVD-RW for re-use: + $ xorrecord \-v dev=/dev/sr0 blank=as_needed \-eject +.SS +.B Format DVD-RW to avoid need for blanking before re-use: + $ xorrecord \-v dev=/dev/sr0 blank=format_overwrite \-eject +.br +This command may also be used to format BD\-R media before first use, +in order to enable handling of write errors. Several hundred MB of spare +blocks will be reserved and write runs on such media will perform +with less than half nominal speed. +.SS +.B De-format DVD-RW to make it capable of multi-session again: + $ xorrecord \-v dev=/dev/sr0 blank=deformat +.SS +.B Write a single ISO 9660 filesystem image: + $ xorrecord \-v dev=/dev/sr0 speed=12 fs=8m \\ + blank=as_needed \-eject padsize=300k my_image.iso +.SS +.B Write multiple ISO 9660 sessions: +This is possible with all media except minimally blanked DVD\-RW and DVD\-R DL, +which cannot do multi\-session. +.br +The first session is written like in the previous example, except that +option \-multi is used. It will contain the files of hard disk +directory ./tree1 under the ISO 9660 directory /dir1: +.br + $ xorrisofs \-o image_1.iso \-J \-graft\-points /dir1=./tree1 +.br + $ xorrecord \-v dev=/dev/sr0 speed=12 fs=8m \\ +.br + \-multi \-\-grow_overwritable_iso \\ +.br + blank=as_needed \-eject padsize=300k image_1.iso +.br +For the second session xorrisofs needs to know the \-msinfo numbers +of the medium. Further it will read data from the medium by using the +system's read\-only CD\-ROM driver. +.br +It is advised to load the tray manually +or via dd by the CD\-ROM driver, rather than letting xorrecord do this +by its own SCSI driver. Many system CD\-ROM drivers do not take notice +of xorrecord's activities. +.br + $ dd if=/dev/sr0 count=1 >/dev/null 2>&1 +.br +Now get the \-msinfo numbers: +.br + $ m=$(xorrecord dev=/dev/sr0 \-msinfo) +.br +and use them with xorrisofs to add ./tree2 to the image as /dir2: +.br + $ xorrisofs \-M /dev/sr0 \-C $m \-o image_2.iso \\ +.br + \-J \-graft\-points /dir2=./tree2 +.br +Now burn the new session onto the same medium. This time without blanking: +.br + $ xorrecord \-v dev=/dev/sr0 speed=12 fs=8m \\ +.br + \-multi \-\-grow_overwritable_iso \\ +.br + \-eject padsize=300k image_2.iso +.br +Operating systems which mount this medium will read the superblock +of the second session and show both directories /dir1 and /dir2. +.SS +.B Write ISO 9660 session on-the-fly: +It is possible to combine the run of \fBxorrisofs\fR and \fBxorrecord\fR +in a pipeline without storing the ISO 9660 image as file on hard disk: +.br + $ xorrisofs \-M /dev/sr0 \-C $m \\ +.br + \-J \-graft\-points /dir2=./tree2 \\ +.br + | xorrecord \-v dev=/dev/sr0 speed=12 fs=8m \\ +.br + \-waiti \-multi \-\-grow_overwritable_iso \\ +.br + \-eject padsize=300k \- +.br +This is also the main use case of program \fBxorriso\fR itself, +where this run would look like: +.br + $ xorriso \-dev /dev/sr0 \-joliet on \-speed 12 \-fs 8m \\ +.br + \-map ./tree2 /dir2 \-commit_eject all +.SS +.B Write compressed afio archive on-the-fly: +This is possible with all media except minimally blanked DVD\-RW and DVD\-R DL. +Since the compressed output stream is of very variable speed, a larger fifo +is advised. Nevertheless, this example is not suitable for very old CD drives +which have no underrun protection and thus would abort the burn run on +temporary data shortage. +.br + $ find . | afio \-oZ \- | \\ +.br + xorrecord \-v dev=/dev/sr0 speed=12 fs=64m \\ +.br + \-multi padsize=300k \- +.br +afio archives do not contain references to absolute data block addresses. So +they need no special precautions for multi\-session. One may get the session +start addresses by option \-toc, and then use dd option skip= to begin reading +at one of those addresses. E.g. for listing its content: +.br + $ dd if=/dev/sr0 bs=2048 skip=64046 | afio \-tvZ \- +.br +afio will know when the end of the archive is reached. +.SH FILES +.SS +.B Startup files: +.br +If not \-\-no_rc is given as the first argument then \fBxorrecord\fR +attempts on startup to read and execute lines from the following files: +.br + /etc/default/xorriso +.br + /etc/opt/xorriso/rc +.br + /etc/xorriso/xorriso.conf +.br + $HOME/.xorrisorc +.br +The files are read in the sequence given here, but none of them is required +to exist. The lines are not interpreted as \fBxorrecord\fR options but +as generic \fBxorriso\fR commands. See man xorriso. +.SH SEE ALSO +.TP +For generic xorriso command mode +.BR xorriso(1) +.TP +Formatting track sources for xorrecord: +.BR xorrisofs(1), +.BR mkisofs(8), +.BR genisoimage(8), +.BR afio(1), +.BR star(1) +.TP +Other programs which burn sessions to optical media +.BR growisofs(1), +.BR cdrecord(1), +.BR wodim(1), +.BR cdrskin(1) +.SH BUGS +To report bugs, request help, or suggest enhancements for \fBxorriso\fR, +please send electronic mail to the public list <bug\-xorriso@gnu.org>. +If more privacy is desired, mail to <scdbackup@gmx.net>. +.br +Please describe what you expect \fBxorriso\fR to do, +the program arguments resp. commands by which you tried to achieve it, +the messages of \fBxorriso\fR, and the undesirable outcome of your +program run. +.br +Expect to get asked more questions before solutions can be proposed. +.SH AUTHOR +Thomas Schmitt <scdbackup@gmx.net> +.br +for libburnia\-project.org +.SH COPYRIGHT +Copyright (c) 2011 Thomas Schmitt +.br +Permission is granted to distribute this text freely. It shall only be +modified in sync with the technical properties of xorriso. If you make use +of the license to derive modified versions of xorriso then you are entitled +to modify this text under that same license. +.SH CREDITS +\fBxorriso\fR is in part based on work by Vreixo Formoso who provides +libisofs together with Mario Danic who also leads the libburnia team. +Thanks to Andy Polyakov who invented emulated growing, +to Derek Foreman and Ben Jansens who once founded libburn. +.br +Compliments towards Joerg Schilling whose cdrtools served me for ten years. diff --git a/xorriso/xorrecord.info b/xorriso/xorrecord.info new file mode 100644 index 00000000..fadcd017 --- /dev/null +++ b/xorriso/xorrecord.info @@ -0,0 +1,928 @@ +This is xorrecord.info, produced by makeinfo version 4.8 from +./xorrecord.texi. + +INFO-DIR-SECTION Archiving +START-INFO-DIR-ENTRY +* Xorrecord: (xorrecord). Emulates CD/DVD/BD program cdrecord +END-INFO-DIR-ENTRY + xorrecord - Emulation of CD/DVD/BD program cdrecord by program +xorriso + + Copyright (C) 2011 - 2011 Thomas Schmitt + + Permission is granted to distrubute this text freely. + + +File: xorrecord.info, Node: Top, Next: Overview, Up: (dir) + +xorrecord 1.1.7 +*************** + +xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso + +* Menu: + +* Overview:: Overview +* Standards:: MMC, Session, Track, Media types +* Drive:: Drive preparation and addressing +* Xorriso:: Relation to program xorriso +* Options:: Options +* Examples:: Examples +* Files:: Files +* Seealso:: See also +* Bugreport:: Reporting bugs +* Legal:: Author, Copyright, Credits +* CommandIdx:: Alphabetic Command List +* ConceptIdx:: Alphabetic List of Concepts and Objects + + +File: xorrecord.info, Node: Overview, Next: Standards, Prev: Top, Up: Top + +1 Overview +********** + +`xorrecord' writes preformatted data to CD, DVD, and BD media. + +It understands some options of program cdrecord from cdrtools by Joerg +Schilling. Its implementation is part of program xorriso which shares +no source code with cdrtools, but rather makes use of libburn for +communicating with the drive. + +Another, more complete cdrecord emulator is program *cdrskin* which +uses the same burn functions as *xorrecord*. + + +File: xorrecord.info, Node: Standards, Next: Drive, Prev: Overview, Up: Top + +2 MMC, Session, Track, Media types +********************************** + +*MMC* is a standard out of the SCSI family which defines the +interaction between computers and optical drives. Since more than a +decade all CD, DVD, or BD recorders obey this standard regardless by +what bus cabling they are attached to the computer. libburn relies on +this standard compliance and on the capability of the operating system +to perform SCSI transactions over the particular bus cabling. +A *Session* is a data region on an optical disc which usually gets +written in a single sweep. It contains at least one *Track* which is a +contiguous string of readable blocks. `xorrecord' produces a single +session with a single data track which consists of blocks with 2048 +bytes each. It chooses the write mode automatically according to media +type, medium state, and option -multi. +On CD media there are other track types, like audio, and particular +write modes like TAO and SAO. CD and DVD- media can put more than one +track into a session. Some of these features can be addressed by +program *cdrskin*. + +MMC describes several recordable *media types* which roughly form two +families. +*Sequentially recordable media* are CD-R, CD-RW, DVD-R, DVD-R DL, +DVD-RW, DVD+R, DVD+R DL, BD-R. Except DVD-R DL they can store more +than one session if there is still unwritten space and if the previous +session was written with option *-multi*. CD-RW and DVD-RW can be +blanked in order to be re-usable from scratch. +*Overwritable media* are DVD-RAM, DVD+RW, formatted DVD-RW, BD-RE. +They offer a single session with a single track for random access +writing. There is no need to blank overwritable media before re-use. +DVD-RW media are sold in sequentially recordable state but can be +formatted once to become overwritable. See options +*blank=format_overwrite* and *blank=deformat*. +If ISO 9660 filesystems are to be stored on overwritable media, then it +is possible to emulate multiple sessions, by using option +*-grow_overriteable_iso*. In this case, the need for blanking before +re-use is emulated too. + + +File: xorrecord.info, Node: Drive, Next: Xorriso, Prev: Standards, Up: Top + +3 Drive preparation and addressing +********************************** + +The drives, CD, DVD, or BD burners, are accessed via file addresses +which are specific to libburn and the operating system. Those addresses +get listed by a run of `xorrecord --devices' or `xorriso -device_links'. +On GNU/Linux and FreeBSD, the user needs rw-permission for the device +file. On Solaris, the user needs r-permission and privilege +"sys_devices", which is usually gained by running `xorrecord' via +command pfexec. +These permissions resp. privileges are needed already for listing a +drive. So it might be necessary to get the overview as superuser resp. +via pfexec. +`xorrecord' does not perform cdrecord option -scanbus and does not +accept the addresses of form Bus,Target,Lun which are told by -scanbus. +If support for these addresses is necessary, consider to use program +cdrskin. + +It is possible to let `xorrecord' work on emulated drives. Their +addresses begin by prefix "stdio:" followed by a file address. The +emulated media behavior depends on the file type. See man xorriso for +details. +If standard output is chosen as emulated drive, then all program result +texts, which usually appear on standard output, will get redirected to +standard error. + + +File: xorrecord.info, Node: Xorriso, Next: Options, Prev: Drive, Up: Top + +4 Relation to program xorriso +***************************** + +`xorrecord' is actually a command mode of program *xorriso*, which gets +entered either by xorriso command "-as cdrecord" or by starting the +program by one of the names "xorrecord", "cdrecord", "wodim", or +"cdrskin". +This command mode can be left by argument "--" which leads to generic +xorriso command mode. See *man xorriso* for its description. Other +than in xorriso command mode, the sequence of the cdrecord emulation +options does not matter. All pending actions get performed in a fixed +sequence before the program run ends resp. before cdrecord emulation +ends. + + +File: xorrecord.info, Node: Options, Next: Examples, Prev: Xorriso, Up: Top + +5 Options +********* + +* Menu: + +* DriveAddr:: Drive addressing +* Inquire:: Inquiring drive and media +* SetBurn:: Settings for the burn run +* Verbous:: Program version and verbosity +* NonCdrecord:: Options not compatible to cdrecord + + +File: xorrecord.info, Node: DriveAddr, Next: Inquire, Prev: Options, Up: Options + +5.1 Addressing the drive +======================== + + +--devices + Print the list of accessible CD, DVD, or BD drives to standard + output. Drives might be inaccessible if the user lacks of + permissions to use them or if the drive is in use by another + program. + Each accessible drive is shown by a line like: + 0 -dev '/dev/sr0' rwrw- : 'TSSTcorp' 'CDDVDW SH-S203B' + The libburn address of this drive is '/dev/sr0'. 'TSSTcorp' is the + name of the vendor (in this case: Toshiba Samsung Storage + Technologies Corporation), 'CDDVDW SH-S203B' is the model name (in + this case: a DVD burner). + +dev=drive_address + Set the libburn address of the drive to be used. + E.g. on GNU/Linux: dev=/dev/sr0 + E.g. on FreeBSD: dev=/dev/cd0 + E.g. on Solaris: dev=/dev/rdsk/c2t2d0s2 + See also above "Drive preparation and addressing". + The medium in the drive should not be mounted or be otherwise in + use. + + +File: xorrecord.info, Node: Inquire, Next: SetBurn, Prev: DriveAddr, Up: Options + +5.2 Inquiring drive and media +============================= + + +-inq + Print to standard output: vendor, model name, and firmware revision + of the drive. + +-checkdrive + Print unconditionally that the drive supports burnfree, SAO, and + TAO. Also print the output of option -inq. + +-atip + Print the output of -checkdrive, the most capable profile of the + medium in the drive, the list of profiles which are supported by + the drive, whether it is erasable (i.e. can be blanked), the media + manufacturer, and the medium product name. + Profiles are usage models, which are often tied to a particular + media type (e.g. CD-RW), but may also apply to a family of media. + E.g. profile CD-ROM applies to all CD media which contain data. + +-toc + Print a table of content of the medium in the drive. The output is + not compatible to cdrecord option -toc, but rather the one of + `xorriso' command -toc. It lists the address, vendor, model name, + and firmware revision of the drive. + About the medium it tells product name and manufacturer, whether + there is already content written, and if so, whether the medium is + closed or appendable. Appendable media can take another session. + The amount of readable and writable data is told. If there are + sessions, then their start block address and size is reported. If + a session contains an ISO 9660 filesystem, then its Volume Id is + reported. If the medium is writable, then the next writable block + address is reported. + If not option *-grow_overriteable_iso* is given or no ISO 9660 + file system is present on the medium, then overwritable media are + reported as being blank. This is due to the fact that they can be + written from scratch without further preparation, and that MMC + does not distinguish between data written by the most previous + burn run and older data which have not been overwritten by that + burn run. Consequently, these media are reported with 0 readable + blocks, although all their writable blocks normally are readable, + too. + +-msinfo + Print the argument text for option -C of programs mkisofs, + genisoimage, or xorrisofs. It consists of two numbers separated by + a comma. + The first number tells the first block of the first track of the + last recorded session. This is also the address used by default + when operating systems mount a medium with e.g. ISO 9660 + filesystem. + The second number tells the next writable address, where + `xorrecord' will begin to write the next session. + This option is only valid for written, appendable media. In all + other cases it will yield no output text but will abort the program + with non-zero exit value. + + +File: xorrecord.info, Node: SetBurn, Next: Verbous, Prev: Inquire, Up: Options + +5.3 Settings for the burn run +============================= + + A burn run requires exactly one track source address argument, + which tells from where to read the data wich shall be put into the + upcomming session. The medium state must be either blank or + appendable. + Track source may be "-" for standard input or the address of a + readable file of any type except directories. Nearly all media + types accept a track source with unpredictable byte count, like + standard input or named pipes. Nevertheless, DVD-R DL and DVD-RW + blanked by mode deformat_quickest demand exact in-advance + reservation of the track size, so that they either need to be read + from a source of predictable length, or need to be accompanied by + option *tsize=* or by option *-isosize*. + Several options expect a size value as argument. A number with a + trailing letter "b" or without a trailing letter is a plain byte + count. Other trailing letters cause multiplication of the given + number by a scaling factor: + "k" or "K" = 1024 , "m" or "M" = 1024k , "g" or "G" = 1024m , "s" + or "S" = 2048 + E.g. tsize=234567s means a size of 234567 * 2048 = 480393216 bytes. + +blank=mode + Blank a CD-RW or DVD-RW to make it re-usable from scratch. Format + a DVD-RW, DVD+RW, DVD-RAM, BD-R, or BD-RE if not yet formatted. + This operation normally makes any recorded data on the medium + unreadable. It is combinable with burning in the same run of + `xorrecord', or it may be performed without a track source, + leaving the medium empty. + The mode given with blank= selects the particular behavior: + + as_needed + Try to make the media ready for writing from scratch. If it needs + formatting, then format it. If it is not blank, then try to apply + blank=fast. It is a reason to abort if the mediium cannot assume + thoroughly writeable state, e.g. if it is a non-blank write-once. + This leaves unformatted DVD-RW in unformatted blank state. To + format DVD-RW use blank=format_overwrite. Blank unformatted BD-R + stay unformatted. + (Note: blank=as_needed is not an original cdrecord option.) + + all + Blank an entire CD-RW or an unformatted DVD-RW. + + fast + Minimally blank an entire CD-RW or blank an unformatted DVD-RW. + + deformat + Like blank=all but with the additional ability to blank + overwriteable DVD-RW. This will destroy their formatting and make + them sequentially recordable. + (Note: blank=deformat is not an original cdrecord options) + + deformat_quickest + Like blank=deformat but blanking DVD-RW only minimally. This is + faster than full blanking but yields media incapable of writing + tracks of unpredicatable size. Multi-session will not be possible + either. + (Note: blank=deformat_quickest is not an original cdrecord option.) + + format_overwrite + Format a DVD-RW to "Restricted Overwrite". The user should bring + some patience. + Format unformatted DVD+RW, BD-RE or blank BD-R to their default + size. It is not mandatory to do this with DVD+RW and BD-RE media, + because they will get formatted automatically on the first write + attempt. + BD-R media may be written in unformatted state. This keeps + disabled the replacement of bad blocks and enables full nominal + write speed. Once BD-R media are written, they cannot be formatted + any more. + For re-formatting already formatted media or for formatting with + non-default size, use program *xorriso* with command *-format*. + (Note: blank=format_overwrite is not an original cdrecord options) + +-multi + This option keeps CD, unformatted DVD-R[W], DVD+R, or BD-R + appendable after the current session has been written. Without it + the disc gets closed and may not be written any more - unless it + is a -RW and gets blanked, which causes loss of its content. + This option cannot be applied to DVD-R DL and DVD-RW which were + blanked by type deformat_quickest. + In order to have all filesystem content accessible, the eventual + ISO-9660 filesystem of a follow-up session needs to be prepared in + a special way by the filesystem formatter program. mkisofs, + genisoimage, and xorrisofs expect particular info about the + situation which can be retrieved by `xorrecord' option -msinfo. + With overwriteable DVD or BD media, -multi cannot mark the end of + the session. So when adding a new session, this end has to be + determined from the payload. Currently only ISO-9660 filesystems + can be used that way. See option *-grow_overwriteable_iso*. + +-dummy + Try to perform the drive operations without actually affecting the + inserted media. There is no warranty that this will work with a + particular combination of drive and media. Blanking is prevented + reliably, though. To avoid inadverted real burning, -dummy + refuses burn runs on anything but CD-R[W], DVD-R[W], or emulated + stdio-drives. + +-waiti + Wait until input data is available at stdin or EOF occurs at stdin. + Only then begin to access any drives. + One should use this if xorrisofs is working at the end of a pipe + where the feeder process reads from the drive before it starts + writing its output into xorrisofs. Example: + xorrisofs ... -C 0,12800 -M /dev/sr0 ... | \ + xorrecord dev=/dev/sr0 ... -waiti - + This option works even if standard input is not the track source. + If no process is piping in, then the Enter key of your terminal + will act as trigger for `xorrecord'. Note that this input line + will not be consumed by cdrskin if standard input is not the track + source. It will end up as shell command, usually. + +tsize=size + Announce the exact size of the track source. This is necessary with + DVD-R DL media and with quickest blanked DVD-RW, if the size + cannot be determined in advance from the track source. E.g. if it + is standard input or a named pipe. + If the track source does not deliver the predicted amount of + bytes, the remainder of the track is padded with zeros. This is + not considered an error. If on the other hand the track source + delivers more than the announced bytes then the track on media + gets truncated to the predicted size and xorrecord exits with + non-zero value. + +-isosize + Try to obtain the track size from the content of the track source. + This works only if the track source bears an ISO 9660 filesystem. + Any other track source content will cause the burn run to abort. + If the track source is not a regular file or block device, then + this option will work only if the program's fifo size is at least + 64k. See option fs=. + +padsize=size + Add the given amount of trailing zeros to the upcomming track. + This feature can be disabled by size 0. Default is 300 kB in order + to work around a problem with GNU/Linux which often fails to read + the last few blocks of a CD track which was written in write mode + TAO. TAO is used by `xorrecord' if the track size cannot be + predicted or if the CD medium is not blank but appendable. + +-nopad + The same as padsize=0. + +-pad + The same as padsize=15s. This was once sufficient with older + GNU/Linux kernels. Meanwhile one should at least use padsize=128k, + if not padsize=300k. + +-data + Explicitely announce that the track source shall be recorded as + data track, and not as audio track. This option has no effect with + `xorrecord', because there is no support for other track formats + anyway. + +fs=size + Set the size of the program fifo buffer to the given value rather + than the default of 4m. + The fifo buffers a temporary surplus of track source data in order + to provide the drive with a steady stream during times of + temporary lack of track source supply. + Other than cdrecord, xorrecord enables drive buffer underrun + protection by default and does not wait with writing until the + fifo is full for a first time. On very old CD drives and slow + computers, this might cause aborted burn runs. In this case, + consider to use program *cdrskin* for CD burning. DVD and BD + drives tolerate buffer underrun without problems. + The larger the fifo, the longer periods of poor source supply can + be compensated. But a large fifo can deprive the operating system + of read cache for better filesystem performance. + +speed=value + Set the write speed. Default is 0 = maximum speed. Speed can be + given in media type dependent x-speed numbers or as a desired + throughput per second in MMC compliant kB (= 1000) or MB (= 1000 + kB). Media x-speed factor can be set explicity by appending "c" + for CD, "d" for DVD, "b" for BD. "x" is optional. + Example speeds: + 706k = 706kB/s = 4c = 4xCD + 5540k = 5540kB/s = 4d = 4xDVD + If there is no hint about the speed unit attached, then the medium + in the drive will decide. Default unit is CD, 1x = 176,400 raw + bytes/second. With DVD, 1x = 1,385,000 bytes/second. With BD, 1x + = 4,495,625 bytes/second. + MMC drives usually activate their own idea of speed and take the + speed value given by the burn program only as a hint for their own + decision. + +-eject + Eject the drive tray after alll other work is done. + + +File: xorrecord.info, Node: Verbous, Next: NonCdrecord, Prev: SetBurn, Up: Options + +5.4 Program version and verbosity +================================= + + +-version + Print to standard output a line beginning by + "Cdrecord 2.01-Emulation Copyright" + and further lines which report the version of xorriso and its + supporting libraries. They also state the license under which the + program is provided, and disclaim any warranty, to the extent + permitted by law. + +-v + Increase program verbosity by one level. There are four verbosity + levels from nearly silent to debugging verbosity. The both highest + levels can be enabled by repeated -v or by -vv resp. -vvv. + +-V + Log SCSI commands and drive replies to standard error. This might + be of interest if *xorrecord* and a particular drive or medium do + not cooperate as expected, or if you just want to know how libburn + interacts with the drive. To understand this extremely verbous + log, one needs to read SCSI specs SPC, SBC, and MMC. + Please do not add such a log to a bug report on the first hand, + unless you want to point out a particular deviation from said + specs, or if you get asked for this log by a maintainer of + `xorrecord' who feels in charge for your bug report. + +-help + Print a sparse list of program options to standard error and + declare not to be cdrecord. + + +File: xorrecord.info, Node: NonCdrecord, Next: ExDevices, Prev: Verbous, Up: Options + +5.5 Options not compatible to cdrecord +====================================== + + +--no_rc + Only if used as first command line argument this option prevents + reading and interpretation of startup files. See section FILES + below. + +--grow_overwriteable_iso + Enable emulation of multi-session writing on overwriteable media + which contain an ISO 9660 filesystem. This emulation is learned + from growisofs -M but adapted to the usage model of + xorrecord -msinfo + xorrisofs -C -M | xorrecord -waiti -multi - + for sequential media. + -grow_overwriteable_iso does not hamper the use of true + multi-session media. I.e. it is possible to use the same + `xorrecord' options with both kinds of media and to achieve + similar results if ISO 9660 filesystem images are to be written. + This option implies option -isosize and therefore demands that the + track source is a ISO 9660 filesystem image. + With overwriteable media and no option blank=fast|all present it + expands an eventual ISO 9660 filesystem on media. It is assumed + that this image's inner size description points to the end of the + valuable data. Overwriteable media with a recognizable ISO 9660 + size will be regarded as appendable rather than as blank. I.e. + options -msinfo and -toc will work. -toc will always show a + single session with its size increasing with every added ISO 9660 + image. + +stream_recording="on"|"off"|number + Mode "on" requests that compliance to the desired speed setting is + preferred over management of write errors. With DVD-RAM and BD + this can bring effective write speed near to the nominal write + speed of the media. But it will also disable the automatic use of + replacement blocks if write errors occur. It might as well be + disliked or ignored by the drive. + If a number is given, then error management stays enabled for all + byte addresses below that number. Any number below 16s is the same + as "off". + +dvd_obs="default"|"32k"|"64k" + Linux specific: Set the number of bytes to be transmitted with + each write operation to DVD or BD media. Tracks get padded up to + the next multiple of this write size. A number of 64 KB may + improve throughput with bus systems which show latency problems. + The default depends on media type, option stream_recording=, and + on compile time options. + +write_start_address=value + Set the block address on overwritable media where to start writing + the track. With DVD+RW, DVD-RAM or BD-RE, byte_offset must be + aligned to 2 kiB blocks, but better is 32 kiB on DVD and 64 kiB on + BD. With formatted DVD-RW 32 kiB alignment is mandatory. + Other media are not suitable for this option. + +stdio_sync="on"|"off"|number + Set the number of bytes after which to force output to emulated + stdio: drives. This forcing keeps the memory from being clogged + with lots of pending data for slow devices. Default "on" is the + same as "16m". Forced output can be disabled by "off". + + +File: xorrecord.info, Node: Examples, Next: Files, Prev: Options, Up: Top + +6 Examples +********** + +* Menu: + +* ExDevices:: Get an overview of drives and their addresses +* ExMedium:: Get info about a particular drive or loaded media +* ExBlank:: Prepare CD-RW or DVD-RW for re-use +* ExFormat:: Format DVD-RW to avoid need for blanking before re-use +* ExDeformat:: De-format DVD-RW to make it capable of multi-session again +* ExIsoSingle:: Write a single ISO 9660 filesystem image +* ExIsoMulti:: Write multiple ISO 9660 sessions +* ExIsoFly:: Write ISO 9660 session on-the-fly +* ExAfio:: Write compressed afio archive on-the-fly + + +File: xorrecord.info, Node: ExDevices, Next: ExMedium, Prev: NonCdrecord, Up: Examples + +6.1 Get an overview of drives and their addresses +================================================= + + +$ xorrecord -devices + + +File: xorrecord.info, Node: ExMedium, Next: ExBlank, Prev: ExDevices, Up: Examples + +6.2 Get info about a particular drive and loaded media +====================================================== + + +$ xorrecord dev=/dev/sr0 -atip -toc -grow_overwriteable_iso + + +File: xorrecord.info, Node: ExBlank, Next: ExFormat, Prev: ExMedium, Up: Examples + +6.3 Prepare CD-RW or DVD-RW for re-use +====================================== + + +$ xorrecord -v dev=/dev/sr0 blank=as_needed -eject + + +File: xorrecord.info, Node: ExFormat, Next: ExDeformat, Prev: ExBlank, Up: Examples + +6.4 Format DVD-RW to avoid need for blanking before re-use +========================================================== + + +$ xorrecord -v dev=/dev/sr0 blank=format_overwrite -eject + +This command may also be used to format BD-R media before first use, in +order to enable handling of write errors. Several hundred MB of spare +blocks will be reserved and write runs on such media will perform with +less than half nominal speed. + + +File: xorrecord.info, Node: ExDeformat, Next: ExIsoSingle, Prev: ExFormat, Up: Examples + +6.5 De-format DVD-RW to make it capable of multi-session again +============================================================== + + +$ xorrecord -v dev=/dev/sr0 blank=deformat + + +File: xorrecord.info, Node: ExIsoSingle, Next: ExIsoMulti, Prev: ExDeformat, Up: Examples + +6.6 Write a single ISO 9660 filesystem image +============================================ + + +$ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ +blank=as_needed -eject padsize=300k my_image.iso + + +File: xorrecord.info, Node: ExIsoMulti, Next: ExIsoFly, Prev: ExIsoSingle, Up: Examples + +6.7 Write multiple ISO 9660 sessions +==================================== + +This is possible with all media except minimally blanked DVD-RW and +DVD-R DL, which cannot do multi-session. +The first session is written like in the previous example, except that +option -multi is used. It will contain the files of hard disk directory +./tree1 under the ISO 9660 directory /dir1: + +$ xorrisofs -o image_1.iso -J -graft-points /dir1=./tree1 +$ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ +-multi -grow_overwritable_iso \ +blank=as_needed -eject padsize=300k image_1.iso + +For the second session xorrisofs needs to know the -msinfo numbers of +the medium. Further it will read data from the medium by using the +system's read-only CD-ROM driver. +It is advised to load the tray manually or via dd by the CD-ROM driver, +rather than letting xorrecord do this by its own SCSI driver. Many +system CD-ROM drivers do not take notice of xorrecord's activities. + +$ dd if=/dev/sr0 count=1 >/dev/null 2>&1 +Now get the -msinfo numbers: +$ m=$(xorrecord dev=/dev/sr0 -msinfo) + +and use them with xorrisofs to add ./tree2 to the image as /dir2: + +$ xorrisofs -M /dev/sr0 -C $m -o image_2.iso \ +-J -graft-points /dir2=./tree2 + +Now burn the new session onto the same medium. This time without +blanking: + +$ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ +-multi -grow_overwritable_iso \ +-eject padsize=300k image_2.iso + +Operating systems which mount this medium will read the superblock of +the second session and show both directories /dir1 and /dir2. + + +File: xorrecord.info, Node: ExIsoFly, Next: ExAfio, Prev: ExIsoMulti, Up: Examples + +6.8 Write ISO 9660 session on-the-fly +===================================== + +It is possible to combine the run of *xorrisofs* and `xorrecord' in a +pipeline without storing the ISO 9660 image as file on hard disk: + +$ xorrisofs -M /dev/sr0 -C $m \ +-J -graft-points /dir2=./tree2 \ +| xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ +-waiti -multi -grow_overwritable_iso \ +-eject padsize=300k - + +This is also the main use case of program *xorriso* itself, where this +run would look like: + +$ xorriso -dev /dev/sr0 -joliet on -speed 12 -fs 8m \ +-map ./tree2 /dir2 -commit_eject all + + +File: xorrecord.info, Node: ExAfio, Prev: ExIsoFly, Up: Examples + +6.9 Write compressed afio archive on-the-fly +============================================ + +This is possible with all media except minimally blanked DVD-RW and +DVD-R DL. Since the compressed output stream is of very variable +speed, a larger fifo is advised. Nevertheless, this example is not +suitable for very old CD drives which have no underrun protection and +thus would abort the burn run on temporary data shortage. + +$ find . | afio -oZ - | \ +xorrecord -v dev=/dev/sr0 speed=12 fs=64m \ +-multi padsize=300k - + +afio archives do not contain references to absolute data block +addresses. So they need no special precautions for multi-session. One +may get the session start addresses by option -toc, and then use dd +option skip= to begin reading at one of those addresses. E.g. for +listing its content: + +$ dd if=/dev/sr0 bs=2048 skip=64046 | afio -tvZ - + +afio will know when the end of the archive is reached. + + +File: xorrecord.info, Node: Files, Next: Seealso, Prev: Examples, Up: Top + +7 Files +******* + +7.1 Startup Files +================= + +If not -no_rc is given as the first argument then `xorrecord' attempts +on startup to read and execute lines from the following files: + +/etc/default/xorriso +/etc/opt/xorriso/rc +/etc/xorriso/xorriso.conf +$HOME/.xorrisorc + +The files are read in the sequence given here, but none of them is +required to exist. The lines are not interpreted as `xorrecord' options +but as generic *xorriso* commands. See man xorriso. + + +File: xorrecord.info, Node: Seealso, Next: Bugreport, Prev: Files, Up: Top + +8 See also +********** + +For generic xorriso command mode + xorriso(1) + +Formatting track sources for xorrecord + xorrisofs(1), mkisofs(8), genisoimage(8), afio(1), star(1) + +Other programs which burn sessions to optical media + growisofs(1), cdrecord(1), wodim(1), cdrskin(1) + + +File: xorrecord.info, Node: Bugreport, Next: Legal, Prev: Seealso, Up: Top + +9 Reporting bugs +**************** + +To report bugs, request help, or suggest enhancements for `xorriso', +please send electronic mail to the public list <bug-xorriso@gnu.org>. +If more privacy is desired, mail to <scdbackup@gmx.net>. + +Please describe what you expect `xorriso' to do, the program arguments +resp. commands by which you tried to achieve it, the messages of +`xorriso', and the undesirable outcome of your program run. + +Expect to get asked more questions before solutions can be proposed. + + +File: xorrecord.info, Node: Legal, Next: CommandIdx, Prev: Bugreport, Up: Top + +10 Author, Copyright, Credits +***************************** + +10.1 Author +=========== + +Thomas Schmitt <scdbackup@gmx.net> +for libburnia-project.org + +10.2 Copyright +============== + +Copyright (c) 2011 Thomas Schmitt +Permission is granted to distribute this text freely. It shall only be +modified in sync with the technical properties of xorriso. If you make +use of the license to derive modified versions of xorriso then you are +entitled to modify this text under that same license. + +10.3 Credits +============ + +`xorriso' is in part based on work by Vreixo Formoso who provides +libisofs together with Mario Danic who also leads the libburnia team. +Thanks to Andy Polyakov who invented emulated growing, to Derek Foreman +and Ben Jansens who once founded libburn. +Compliments towards Joerg Schilling whose cdrtools served me for ten +years. + + +File: xorrecord.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top + +11 Alphabetic Command List +************************** + +�[index�] +* Menu: + +* --devices get list of drives: DriveAddr. (line 8) +* --grow_overwriteable_iso emulate ISO 9660 multi-session: NonCdrecord. + (line 13) +* --no_rc do not execute xorriso startup files: NonCdrecord. + (line 8) +* -atip inquire medium state: Inquire. (line 16) +* -checkdrive inquire drive CD capabilities: Inquire. (line 12) +* -data explicitely announce a data track: SetBurn. (line 155) +* -dummy control write simulation: SetBurn. (line 97) +* -eject finally eject drive tray: SetBurn. (line 194) +* -help print sparse overview of options: Verbous. (line 32) +* -inq inquire drive identifiers: Inquire. (line 8) +* -isosize obtain track size from ISO 9660 superblock: SetBurn. + (line 131) +* -msinfo retrieve multi-session info: Inquire. (line 48) +* -multi keep media appendable after burn run: SetBurn. (line 80) +* -nopad disable adding of bytes to end of track: SetBurn. (line 147) +* -pad add 15 blocks to end of track: SetBurn. (line 150) +* -toc inquire medium content: Inquire. (line 25) +* -v increase program verbosity: Verbous. (line 16) +* -V log SCSI command transactions to stderr: Verbous. (line 21) +* -version report emulation and xorriso version: Verbous. (line 8) +* -waiti access drive only after stdin delivers data: SetBurn. + (line 105) +* blank= make media re-usabable or format media: SetBurn. (line 27) +* dev= address the drive to be used: DriveAddr. (line 20) +* dvd_obs= set write transaction payload size: NonCdrecord. (line 46) +* fs= set program fifo size: SetBurn. (line 161) +* padsize= add bytes to end of track: SetBurn. (line 139) +* speed= set write speed: SetBurn. (line 177) +* stdio_sync= control stdio buffer: NonCdrecord. (line 61) +* stream_recording= try to get full speed on DVD-RAM, BD: NonCdrecord. + (line 35) +* tsize= set a fixed track size: SetBurn. (line 119) +* write_start_address= set block address for write start: NonCdrecord. + (line 54) + + +File: xorrecord.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top + +12 Alphabetic List of Concepts and Objects +****************************************** + +�[index�] +* Menu: + +* Accessing drive, wait for stdin, -waiti: SetBurn. (line 105) +* Bugs, reporting: Bugreport. (line 6) +* Data track, announce, -data: SetBurn. (line 155) +* Defect management, control, stream_recording=: NonCdrecord. (line 35) +* Drive, address, dev=: DriveAddr. (line 20) +* Drive, get list of, --devices: DriveAddr. (line 8) +* Drive, inquire CD capabilities, -checkdrive: Inquire. (line 12) +* Drive, inquire identifiers, -inq: Inquire. (line 8) +* Eject, the tray, -eject: SetBurn. (line 194) +* Examples: Examples. (line 6) +* Fifo, set size, fs=: SetBurn. (line 161) +* Full speed, on DVD-RAM and BD, stream_recording=: NonCdrecord. + (line 35) +* Media types, _definiton: Standards. (line 23) +* Media, blank, blank=: SetBurn. (line 27) +* Media, format, blank=: SetBurn. (line 27) +* Media, keep appendable, -multi: SetBurn. (line 80) +* Media, make re-usable, blank=: SetBurn. (line 27) +* medium content, inquire, -toc: Inquire. (line 25) +* medium state, inquire, -atip: Inquire. (line 16) +* MMC, _definiton: Standards. (line 6) +* multi-session info, retrieve, -msinfo: Inquire. (line 48) +* Multi-session, emulate ISO 9660, --grow_overwriteable_iso: NonCdrecord. + (line 13) +* Options, overview, -help: Verbous. (line 32) +* Overwritable media, _definiton: Standards. (line 30) +* Padding, at end of track, padsize=: SetBurn. (line 139) +* Padding, disable, -nopad: SetBurn. (line 147) +* Padding, insufficient old, -pad: SetBurn. (line 150) +* Problems, reporting: Bugreport. (line 6) +* SCSI commands, log, -V: Verbous. (line 21) +* Sequentially recordable media, _definiton: Standards. (line 25) +* Session, _definiton: Standards. (line 12) +* Speed, set for writing, speed=: SetBurn. (line 177) +* Startup files, do not execute, --no_rc: NonCdrecord. (line 8) +* Track size, obtain from ISO 9660, -isosize: SetBurn. (line 131) +* Track size, set fixed, tsize=: SetBurn. (line 119) +* Track, _definiton: Standards. (line 13) +* Transaction size, set, dvd_obs=: NonCdrecord. (line 46) +* Tray, eject, -eject: SetBurn. (line 194) +* Verbosity, increase, -v: Verbous. (line 16) +* Verbosity, SCSI commands, -V: Verbous. (line 21) +* Version, report, -version: Verbous. (line 8) +* Write simulation , control, -dummy: SetBurn. (line 97) +* Write start address, set, write_start_address=: NonCdrecord. + (line 54) +* Write, buffer syncing, stdio_sync=: NonCdrecord. (line 61) +* xorriso, mkisofs emulation: Xorriso. (line 6) +* xorriso, options: Options. (line 6) + + + +Tag Table: +Node: Top401 +Node: Overview1111 +Node: Standards1632 +Node: Drive3783 +Node: Xorriso5107 +Node: Options5818 +Node: DriveAddr6186 +Node: Inquire7227 +Node: SetBurn10096 +Node: Verbous19614 +Node: NonCdrecord21024 +Node: Examples24190 +Node: ExDevices24851 +Node: ExMedium25069 +Node: ExBlank25332 +Node: ExFormat25553 +Node: ExDeformat26067 +Node: ExIsoSingle26334 +Node: ExIsoMulti26618 +Node: ExIsoFly28222 +Node: ExAfio28884 +Node: Files29865 +Node: Seealso30412 +Node: Bugreport30777 +Node: Legal31358 +Node: CommandIdx32278 +Node: ConceptIdx35045 + +End Tag Table diff --git a/xorriso/xorrecord.texi b/xorriso/xorrecord.texi new file mode 100644 index 00000000..a96a661e --- /dev/null +++ b/xorriso/xorrecord.texi @@ -0,0 +1,1048 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header +@setfilename xorrecord.info +@settitle GNU xorrecord 1.1.7 +@c %**end of header +@c +@c man-ignore-lines begin +@dircategory Archiving +@direntry +* Xorrecord: (xorrecord). Emulates CD/DVD/BD program cdrecord +@end direntry +@c man-ignore-lines end +@c +@c Notes about embedded man page: +@c This texinfo code contains the necessary info to produce a man page +@c which resembles much the version of xorriso.1 from which this code +@c was originally derived in march 2010. +@c One can produce the man page by applying the following rules: +@c The first line gets discarded. +@c Line start "@c man " will become "", the remainder is put out unaltered. +@c Lines "@*" will be converted to ".br" +@c "@c man-ignore-lines N" will discard N following lines. +@c "@c man-ignore-lines begin" discards all following lines +@c up to "@c man-ignore-lines end". +@c Line blocks of "@menu" "@end menu" will be discarded. +@c "@item word words" becomes "\fBword\fR words". +@c @b{...}, @command{...}, @dfn{...}, @emph{...}, @strong{...} +@c get mapped to \fB...\fR . +@c @abbr{...}, @code{...}, @file{...}, @i{...}, @option{...}, @r{...}, +@c @ref{...}, @samp{...},@var{...}, get mapped to ... . +@c @ref{...}, @xref{...} get mapped to empty text. +@c @email{...} gets mapped to <...> . +@c Mapped {...} content is subject to the rules except {...} mapping. +@c @minus{} will become "-". +@c @@ , @{, @} will get stripped of their first @. +@c Other lines which begin by "@" will be discarded. +@c In lines not stemming from "@c man", "\" becomes "\\" +@c "-" which are not preceded by an uneven number of "\" will get +@c prepended one "\". +@c +@c +@c man .\" Hey, EMACS: -*- nroff -*- +@c man .\" +@c man .\" IMPORTANT NOTE: +@c man .\" +@c man .\" The original of this file is kept in xorriso/xorrecord.texi +@c man .\" This here was generated by program xorriso/make_xorriso_1 +@c man .\" +@c man .\" +@c man .\" First parameter, NAME, should be all caps +@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +@c man .\" other parameters are allowed: see man(7), man(1) +@c man .TH XORRECORD 1 "Version 1.1.7, Oct 24, 2011" +@c man .\" Please adjust this date whenever revising the manpage. +@c man .\" +@c man .\" Some roff macros, for reference: +@c man .\" .nh disable hyphenation +@c man .\" .hy enable hyphenation +@c man .\" .ad l left justify +@c man .\" .ad b justify to both left and right margins +@c man .\" .nf disable filling +@c man .\" .fi enable filling +@c man .\" .br insert line break +@c man .\" .sp <n> insert n+1 empty lines +@c man .\" for manpage-specific macros, see man(7) +@c man .nh +@c man-ignore-lines begin +@copying +xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso + +Copyright @copyright{} 2011 - 2011 Thomas Schmitt + +@quotation +Permission is granted to distrubute this text freely. +@end quotation +@end copying +@c man-ignore-lines end +@titlepage +@title Manual of GNU xorriso personality xorrecord 1.1.7 +@author Thomas Schmitt +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage +@contents +@ifnottex +@node Top +@top xorrecord 1.1.7 +@c man-ignore-lines 1 + +@c man .SH NAME +xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso +@end ifnottex +@menu +* Overview:: Overview +* Standards:: MMC, Session, Track, Media types +* Drive:: Drive preparation and addressing +* Xorriso:: Relation to program xorriso +* Options:: Options +* Examples:: Examples +* Files:: Files +* Seealso:: See also +* Bugreport:: Reporting bugs +* Legal:: Author, Copyright, Credits +* CommandIdx:: Alphabetic Command List +* ConceptIdx:: Alphabetic List of Concepts and Objects +@end menu +@node Overview, Standards, Top, Top +@chapter Overview +@c man .SH SYNOPSIS +@c man .B xorrecord +@c man [ options ] dev=device [track_source] +@c man .br +@c man .SH DESCRIPTION +@c man .PP +@command{xorrecord} +writes preformatted data to CD, DVD, and BD media. +@* +@sp 1 +@c man .PP +It understands some options of program cdrecord from cdrtools by +Joerg Schilling. +Its implementation is part of program xorriso which shares no source +code with cdrtools, but rather makes use of libburn for communicating +with the drive. +@* +@sp 1 +Another, more complete cdrecord emulator is program @strong{cdrskin} +which uses the same burn functions as @strong{xorrecord}. +@c man .SS +@node Standards, Drive, Overview, Top +@chapter MMC, Session, Track, Media types +@c man \fBMMC, Session, Track, Media types:\fR +@c man .br +@cindex MMC, _definiton +@strong{MMC} +is a standard out of the SCSI family which defines the interaction between +computers and optical drives. Since more than a decade all CD, DVD, or BD +recorders obey this standard regardless by what bus cabling they are +attached to the computer. libburn relies on this standard compliance and +on the capability of the operating system to perform SCSI transactions +over the particular bus cabling. +@* +@cindex Session, _definiton +A @strong{Session} is a data region on an optical disc which usually +gets written in a single sweep. It contains at least one +@cindex Track, _definiton +@strong{Track} which is a contiguous string of readable blocks. +@command{xorrecord} produces a single session with a single data track +which consists of blocks with 2048 bytes each. It chooses the write mode +automatically according to media type, medium state, and option -multi. +@* +On CD media there are other track types, like audio, and particular write +modes like TAO and SAO. CD and DVD- media can put more than one track into +a session. Some of these features can be addressed by program @strong{cdrskin}. +@* +@sp 1 +@cindex Media types, _definiton +MMC describes several recordable @strong{media types} which roughly form two +families. +@* +@cindex Sequentially recordable media, _definiton +@strong{Sequentially recordable media} +are CD-R, CD-RW, DVD-R, DVD-R DL, DVD-RW, DVD+R, DVD+R DL, BD-R. +Except DVD-R DL they can store more than one session if there is still +unwritten space and if the previous session was written with option +@strong{-multi}. CD-RW and DVD-RW can be blanked in order to be re-usable +from scratch. +@* +@cindex Overwritable media, _definiton +@strong{Overwritable media} are DVD-RAM, DVD+RW, formatted DVD-RW, BD-RE. +They offer a single session with a single track for random access writing. +There is no need to blank overwritable media before re-use. +@* +DVD-RW media are sold in sequentially recordable state but can be +formatted once to become overwritable. See options +@strong{blank=format_overwrite} and @strong{blank=deformat}. +@* +If ISO 9660 filesystems are to be stored on overwritable media, then it +is possible to emulate multiple sessions, by using option +@strong{--grow_overriteable_iso}. In this case, the need for +blanking before re-use is emulated too. +@c man .SS +@sp 1 +@c man .B Drive preparation and addressing: +@node Drive, Xorriso, Standards, Top +@chapter Drive preparation and addressing +@c man .PP +The drives, CD, DVD, or BD burners, are accessed via file addresses which +are specific to libburn and the operating system. Those addresses get listed +by a run of @command{xorrecord --devices} or @command{xorriso -device_links}. +@* +On GNU/Linux and FreeBSD, the user needs rw-permission for the device file. +On Solaris, the user needs r-permission and privilege "sys_devices", +which is usually gained by running @command{xorrecord} via command pfexec. +@* +These permissions resp. privileges are needed already for listing a drive. +So it might be necessary to get the overview as superuser resp. via pfexec. +@* +@command{xorrecord} does not perform cdrecord option -scanbus and does +not accept the addresses of form Bus,Target,Lun which are told by -scanbus. +If support for these addresses is necessary, consider to use program cdrskin. +@* +@sp 1 +It is possible to let @command{xorrecord} work on emulated drives. +Their addresses begin by prefix "stdio:" followed by a file address. +The emulated media behavior depends on the file type. +See man xorriso for details. +@* +If standard output is chosen as emulated drive, then all program result +texts, which usually appear on standard output, will get redirected to +standard error. +@c man .SS +@node Xorriso, Options, Drive, Top +@chapter Relation to program xorriso +@c man \fBRelation to program xorriso:\fR +@c man .br +@cindex xorriso, mkisofs emulation +@command{xorrecord} is actually a command mode of program @strong{xorriso}, +which gets entered either by xorriso command "-as cdrecord" or by +starting the program by one of the names "xorrecord", "cdrecord", +"wodim", or "cdrskin". +@* +This command mode can be left by argument "@minus{}@minus{}" which leads +to generic xorriso command mode. See @strong{man xorriso} for its description. +Other than in xorriso command mode, the sequence of the cdrecord emulation +options does not matter. +All pending actions get performed in a fixed sequence before the program +run ends resp. before cdrecord emulation ends. +@c man .SS +@node Options, Examples, Xorriso, top +@chapter Options +@cindex xorriso, options +@c man .br +@c man .SH OPTIONS +@c man .br +@menu +* DriveAddr:: Drive addressing +* Inquire:: Inquiring drive and media +* SetBurn:: Settings for the burn run +* Verbous:: Program version and verbosity +* NonCdrecord:: Options not compatible to cdrecord +@end menu +@c man .PP +@c man .TP +@c man .B Addressing the drive: +@node DriveAddr, Inquire, Options, Options +@section Addressing the drive +@table @asis +@sp 1 +@c man .TP +@item @minus{}@minus{}devices +@kindex @minus{}@minus{}devices get list of drives +@cindex Drive, get list of, @minus{}@minus{}devices +Print the list of accessible CD, DVD, or BD drives to standard output. +Drives might be inaccessible if the user lacks of permissions to use them +or if the drive is in use by another program. +@* +Each accessible drive is shown by a line like: +@* + 0 -dev '/dev/sr0' rwrw-- : 'TSSTcorp' 'CDDVDW SH-S203B' +@* +The libburn address of this drive is '/dev/sr0'. 'TSSTcorp' is the +name of the vendor (in this case: Toshiba Samsung Storage Technologies +Corporation), 'CDDVDW SH-S203B' is the model name (in this case: a DVD burner). +@c man .TP +@item dev=drive_address +@kindex dev= address the drive to be used +@cindex Drive, address, dev= +Set the libburn address of the drive to be used. +@* +E.g. on GNU/Linux: dev=/dev/sr0 +@* +E.g. on FreeBSD: dev=/dev/cd0 +@* +E.g. on Solaris: dev=/dev/rdsk/c2t2d0s2 +@* +See also above "Drive preparation and addressing". +@* +The medium in the drive should not be mounted or be otherwise in use. +@end table +@c man .TP +@c man .B Inquiring drive and media: +@node Inquire, SetBurn, DriveAddr, Options +@section Inquiring drive and media +@table @asis +@sp 1 +@c man .TP +@item -inq +@kindex -inq inquire drive identifiers +@cindex Drive, inquire identifiers, -inq +Print to standard output: vendor, model name, and firmware revision +of the drive. +@c man .TP +@item -checkdrive +@kindex -checkdrive inquire drive CD capabilities +@cindex Drive, inquire CD capabilities, -checkdrive +Print unconditionally that the drive supports burnfree, SAO, and TAO. +Also print the output of option -inq. +@c man .TP +@item -atip +@kindex -atip inquire medium state +@cindex medium state, inquire, -atip +Print the output of -checkdrive, the most capable profile of the medium +in the drive, the list of profiles which are supported by the drive, +whether it is erasable (i.e. can be blanked), the media manufacturer, and +the medium product name. +@* +Profiles are usage models, which are often tied to a particular media type +(e.g. CD-RW), but may also apply to a family of media. E.g. profile CD-ROM +applies to all CD media which contain data. +@c man .TP +@item -toc +@kindex -toc inquire medium content +@cindex medium content, inquire, -toc +Print a table of content of the medium in the drive. The output is not +compatible to +cdrecord option -toc, but rather the one of @command{xorriso} command -toc. +It lists the address, vendor, model name, and firmware revision of the drive. +@* +About the medium it tells product name and manufacturer, whether there +is already content written, and if so, whether the medium is closed or +appendable. Appendable media can take another session. +The amount of readable and writable data is told. +If there are sessions, then their start block address and size is reported. +If a session contains an ISO 9660 filesystem, then its Volume Id is reported. +If the medium is writable, then the next writable block address is reported. +@* +If not option @strong{--grow_overriteable_iso} is given or no ISO 9660 +file system is present on the medium, then overwritable media are reported +as being blank. This is due to the fact that they can be written from +scratch without further preparation, and that MMC does not distinguish +between data written by the most previous burn run and older data +which have not been overwritten by that burn run. +Consequently, these media are reported with 0 readable blocks, although +all their writable blocks normally are readable, too. +@c man .TP +@item -msinfo +@kindex -msinfo retrieve multi-session info +@cindex multi-session info, retrieve, -msinfo +Print the argument text for option -C of programs mkisofs, genisoimage, +or xorrisofs. It consists of two numbers separated by a comma. +@* +The first number tells the first block of the first track of the last recorded +session. This is also the address used by default when operating systems +mount a medium with e.g. ISO 9660 filesystem. +@* +The second number tells the next writable address, where @command{xorrecord} +will begin to write the next session. +@* +This option is only valid for written, appendable media. In all other +cases it will yield no output text but will abort the program +with non-zero exit value. +@end table +@c man .TP +@c man .B Settings for the burn run: +@node SetBurn, Verbous, Inquire, Options +@section Settings for the burn run +@table @asis +@c man .PP +A burn run requires exactly one track source address argument, which +tells from where to read the data wich shall be put into the upcomming +session. The medium state must be either blank or appendable. +@* +Track source may be "-" for standard input or the address of a readable +file of any type except directories. Nearly all media types accept a track +source with unpredictable byte count, like standard input or named pipes. +Nevertheless, DVD-R DL and DVD-RW blanked by mode deformat_quickest +demand exact in-advance reservation of the track size, so that they either +need to be read from a source of +predictable length, or need to be accompanied by option @strong{tsize=} or +by option @strong{-isosize}. +@* +Several options expect a size value as argument. A number with a trailing +letter "b" or without a trailing letter is a plain byte count. Other trailing +letters cause multiplication of the given number by a scaling factor: +@* +"k" or "K" = 1024 , "m" or "M" = 1024k , "g" or "G" = 1024m , "s" or "S" = 2048 +@* +E.g. tsize=234567s means a size of 234567 * 2048 = 480393216 bytes. +@sp 1 +@c man .TP +@item blank=mode +@kindex blank= make media re-usabable or format media +@cindex Media, blank, blank= +@cindex Media, make re-usable, blank= +@cindex Media, format, blank= +Blank a CD-RW or DVD-RW to make it re-usable from scratch. +Format a DVD-RW, DVD+RW, DVD-RAM, BD-R, or BD-RE if not yet formatted. +@* +This operation normally makes any recorded data on the medium unreadable. +It is combinable with burning in the same run of @command{xorrecord}, +or it may be performed without a track source, leaving the medium empty. +@* +The mode given with blank= selects the particular behavior: +@c man .RS +@c man .TP +@* +@sp 1 +as_needed +@* +Try to make the media ready for writing from scratch. If it needs formatting, +then format it. If it is not blank, then try to apply blank=fast. +It is a reason to abort if the mediium cannot assume thoroughly writeable +state, e.g. if it is a non-blank write-once. +@* +This leaves unformatted DVD-RW in unformatted blank state. To format DVD-RW use +blank=format_overwrite. Blank unformatted BD-R stay unformatted. +@* +(Note: blank=as_needed is not an original cdrecord option.) +@c man .TP +@* +@sp 1 +all +@* +Blank an entire CD-RW or an unformatted DVD-RW. +@c man .TP +@sp 1 +@* +fast +@* +Minimally blank an entire CD-RW or blank an unformatted DVD-RW. +@c man .TP +@sp 1 +@* +deformat +@* +Like blank=all but with the additional ability to blank overwriteable DVD-RW. +This will destroy their formatting and make them sequentially recordable. +@* +(Note: blank=deformat is not an original cdrecord options) +@c man .TP +@sp 1 +@* +deformat_quickest +@* +Like blank=deformat but blanking DVD-RW only minimally. +This is faster than full blanking but yields media incapable of +writing tracks of unpredicatable size. +Multi-session will not be possible either. +@* +(Note: blank=deformat_quickest is not an original cdrecord option.) +@c man .TP +@sp 1 +@* +format_overwrite +@* +Format a DVD-RW to "Restricted Overwrite". The user should bring some patience. +@* +Format unformatted DVD+RW, BD-RE or blank BD-R to their default size. +It is not mandatory to do this with DVD+RW and BD-RE media, because they +will get formatted automatically on the first write attempt. +@* +BD-R media may be written in unformatted state. This keeps disabled the +replacement of bad blocks and enables full nominal write speed. Once BD-R +media are written, they cannot be formatted any more. +@* +For re-formatting already formatted media or for formatting with +non-default size, use program @strong{xorriso} with command @strong{-format}. +@* +(Note: blank=format_overwrite is not an original cdrecord options) +@c man .RE +@c man .TP +@item -multi +@kindex -multi keep media appendable after burn run +@cindex Media, keep appendable, -multi +This option keeps CD, unformatted DVD-R[W], DVD+R, or BD-R appendable +after the current session has been written. +Without it the disc gets closed and may not be written any more - unless it +is a -RW and gets blanked, which causes loss of its content. +@* +This option cannot be applied to DVD-R DL and DVD-RW which were blanked +by type deformat_quickest. +@* +In order to have all filesystem content accessible, the eventual ISO-9660 +filesystem of a follow-up +session needs to be prepared in a special way by the filesystem formatter +program. mkisofs, genisoimage, and xorrisofs expect particular info about +the situation which can be retrieved by @command{xorrecord} option -msinfo. +@* +With overwriteable DVD or BD media, -multi cannot mark the end of the session. +So when adding a new session, this end has to be determined from the payload. +Currently only ISO-9660 filesystems can be used that way. See option +@strong{--grow_overwriteable_iso}. +@c man .TP +@item -dummy +@kindex -dummy control write simulation +@cindex Write simulation , control, -dummy +Try to perform the drive operations without actually affecting the inserted +media. There is no warranty that this will work with a particular combination +of drive and media. Blanking is prevented reliably, though. +To avoid inadverted real burning, -dummy refuses burn runs on anything but +CD-R[W], DVD-R[W], or emulated stdio-drives. +@c man .TP +@item -waiti +@kindex -waiti access drive only after stdin delivers data +@cindex Accessing drive, wait for stdin, -waiti +Wait until input data is available at stdin or EOF occurs at stdin. +Only then begin to access any drives. +@* +One should use this if xorrisofs is working at the end of a pipe where the +feeder process reads from the drive before it starts writing its output into +xorrisofs. Example: +@* +xorrisofs ... -C 0,12800 -M /dev/sr0 ... | \ +@* +xorrecord dev=/dev/sr0 ... -waiti - +@* +This option works even if standard input is not the track source. If no process +is piping in, then the Enter key of your terminal will act as trigger for +@command{xorrecord}. Note that this input line will not be consumed by +cdrskin if standard input is not the track source. It will end up as shell +command, usually. +@c man .TP +@item tsize=size +@kindex tsize= set a fixed track size +@cindex Track size, set fixed, tsize= +Announce the exact size of the track source. This is necessary with +DVD-R DL media and with quickest blanked DVD-RW, if the size cannot be +determined in advance from the track source. E.g. if it is standard input +or a named pipe. +@* +If the track source does not deliver the predicted amount of bytes, the +remainder of the track is padded with zeros. This is not considered an error. +If on the other hand the track source delivers more than the announced bytes +then the track on media gets truncated to the predicted size and xorrecord +exits with non-zero value. +@c man .TP +@item -isosize +@kindex -isosize obtain track size from ISO 9660 superblock +@cindex Track size, obtain from ISO 9660, -isosize +Try to obtain the track size from the content of the track source. +This works only if the track source bears an ISO 9660 filesystem. +Any other track source content will cause the burn run to abort. +@* +If the track source is not a regular file or block device, then this option +will work only if the program's fifo size is at least 64k. See option fs=. +@c man .TP +@item padsize=size +@kindex padsize= add bytes to end of track +@cindex Padding, at end of track, padsize= +Add the given amount of trailing zeros to the upcomming track. +This feature can be disabled by size 0. Default is 300 kB in order to +work around a problem with GNU/Linux which often fails to read the last few +blocks of a CD track which was written in write mode TAO. TAO is used +by @command{xorrecord} if the track size cannot be predicted or if the CD +medium is not blank but appendable. +@c man .TP +@item -nopad +@kindex -nopad disable adding of bytes to end of track +@cindex Padding, disable, -nopad +The same as padsize=0. +@c man .TP +@item -pad +@kindex -pad add 15 blocks to end of track +@cindex Padding, insufficient old, -pad +The same as padsize=15s. This was once sufficient with older GNU/Linux +kernels. Meanwhile one should at least use padsize=128k, if not padsize=300k. +@c man .TP +@item -data +@kindex -data explicitely announce a data track +@cindex Data track, announce, -data +Explicitely announce that the track source shall be recorded as data track, +and not as audio track. This option has no effect with @command{xorrecord}, +because there is no support for other track formats anyway. +@c man .TP +@item fs=size +@kindex fs= set program fifo size +@cindex Fifo, set size, fs= +Set the size of the program fifo buffer to the given value +rather than the default of 4m. +@* +The fifo buffers a temporary surplus of track source data in order to +provide the drive with a steady stream during times of temporary lack of track +source supply. +@* +Other than cdrecord, xorrecord enables drive buffer underrun protection by +default and does not wait with writing until the fifo is full for a first +time. +On very old CD drives and slow computers, this might cause aborted burn runs. +In this case, consider to use program @strong{cdrskin} for CD burning. +DVD and BD drives tolerate buffer underrun without problems. +@* +The larger the fifo, the longer periods of poor source supply can be +compensated. But a large fifo can deprive the operating system of read cache +for better filesystem performance. +@c man .TP +@item speed=value +@kindex speed= set write speed +@cindex Speed, set for writing, speed= +Set the write speed. Default is 0 = maximum speed. +Speed can be given in media type dependent x-speed numbers or as a +desired throughput per second in MMC compliant kB (= 1000) +or MB (= 1000 kB). Media x-speed factor can be set explicity +by appending "c" for CD, "d" for DVD, "b" for BD. "x" is optional. +@* +Example speeds: +@* + 706k = 706kB/s = 4c = 4xCD +@* + 5540k = 5540kB/s = 4d = 4xDVD +@* +If there is no hint about the speed unit attached, then the +medium in the drive will decide. +Default unit is CD, 1x = 176,400 raw bytes/second. +With DVD, 1x = 1,385,000 bytes/second. +With BD, 1x = 4,495,625 bytes/second. +@* +MMC drives usually activate their own idea of speed and take +the speed value given by the burn program only as a hint +for their own decision. +@c man .TP +@item -eject +@kindex -eject finally eject drive tray +@cindex Eject, the tray, -eject +@cindex Tray, eject, -eject +Eject the drive tray after alll other work is done. +@end table +@c man .TP +@c man .B Program version and verbosity: +@node Verbous, NonCdrecord, SetBurn, Options +@section Program version and verbosity +@table @asis +@sp 1 +@c man .TP +@item -version +@kindex -version report emulation and xorriso version +@cindex Version, report, -version +Print to standard output a line beginning by +@* +"Cdrecord 2.01-Emulation Copyright" +@* +and further lines which report the version of xorriso and its +supporting libraries. They also state the license under which the program +is provided, and disclaim any warranty, to the extent permitted by law. +@c man .TP +@item -v +@kindex -v increase program verbosity +@cindex Verbosity, increase, -v +Increase program verbosity by one level. There are four verbosity levels +from nearly silent to debugging verbosity. The both highest levels can +be enabled by repeated -v or by -vv resp. -vvv. +@c man .TP +@item -V +@kindex -V log SCSI command transactions to stderr +@cindex Verbosity, SCSI commands, -V +@cindex SCSI commands, log, -V +Log SCSI commands and drive replies to standard error. +This might be of interest if @strong{xorrecord} and a particular drive +or medium do not cooperate as expected, or if you just want to know +how libburn interacts with the drive. +To understand this extremely verbous log, one needs to read SCSI +specs SPC, SBC, and MMC. +@* +Please do not add such a log to a bug report on the first hand, +unless you want to point out a particular deviation +from said specs, or if you get asked for this log by a maintainer of +@command{xorrecord} who feels in charge for your bug report. +@c man .TP +@item -help +@kindex -help print sparse overview of options +@cindex Options, overview, -help +Print a sparse list of program options to standard error +and declare not to be cdrecord. +@end table +@c man .TP +@c man .B Options not compatible to cdrecord: +@node NonCdrecord, ExDevices, Verbous, Options +@section Options not compatible to cdrecord +@table @asis +@sp 1 +@c man .TP +@item @minus{}@minus{}no_rc +@kindex @minus{}@minus{}no_rc do not execute xorriso startup files +@cindex Startup files, do not execute, @minus{}@minus{}no_rc +Only if used as first command line argument this option +prevents reading and interpretation of startup files. See section FILES below. +@c man .TP +@item @minus{}@minus{}grow_overwriteable_iso +@kindex @minus{}@minus{}grow_overwriteable_iso emulate ISO 9660 multi-session +@cindex Multi-session, emulate ISO 9660, @minus{}@minus{}grow_overwriteable_iso +Enable emulation of multi-session writing on overwriteable media which +contain an ISO 9660 filesystem. This emulation is learned from growisofs -M +but adapted to the usage model of +@* +xorrecord -msinfo +@* +xorrisofs -C -M | xorrecord -waiti -multi - +@* +for sequential media. +@* +--grow_overwriteable_iso does not hamper the use of true multi-session media. +I.e. it is possible to use the same @command{xorrecord} options with both +kinds of media +and to achieve similar results if ISO 9660 filesystem images are to be written. +This option implies option -isosize and therefore demands that the track +source is a ISO 9660 filesystem image. +@* +With overwriteable media and no option blank=fast|all present it expands an +eventual ISO 9660 filesystem on media. It is assumed that this image's inner +size description points to the end of the valuable data. +Overwriteable media with a recognizable ISO 9660 size will be regarded as +appendable rather than as blank. I.e. options -msinfo and -toc will work. +-toc will always show a single session with its size increasing with +every added ISO 9660 image. +@c man .TP +@item stream_recording="on"|"off"|number +@kindex stream_recording= try to get full speed on DVD-RAM, BD +@cindex Full speed, on DVD-RAM and BD, stream_recording= +@cindex Defect management, control, stream_recording= +Mode "on" requests that compliance to the desired speed setting is +preferred over management of write errors. With DVD-RAM and BD this can +bring effective write speed near to the nominal write speed of the media. +But it will also disable the automatic use of replacement blocks +if write errors occur. It might as well be disliked or ignored by the drive. +@* +If a number is given, then error management stays enabled for all byte +addresses below that number. Any number below 16s is the same as "off". +@c man .TP +@item dvd_obs="default"|"32k"|"64k" +@kindex dvd_obs= set write transaction payload size +@cindex Transaction size, set, dvd_obs= +Linux specific: +Set the number of bytes to be transmitted with each write operation to DVD +or BD media. Tracks get padded up to the next multiple of this write +size. A number of 64 KB may improve throughput with bus systems which +show latency problems. The default depends on media type, option +stream_recording=, and on compile time options. +@c man .TP +@item write_start_address=value +@kindex write_start_address= set block address for write start +@cindex Write start address, set, write_start_address= +Set the block address on overwritable media where to start writing the track. +With DVD+RW, DVD-RAM or BD-RE, byte_offset must be aligned to 2 kiB blocks, +but better is 32 kiB on DVD and 64 kiB on BD. +With formatted DVD-RW 32 kiB alignment is mandatory. +@* +Other media are not suitable for this option. +@c man .TP +@item stdio_sync="on"|"off"|number +@kindex stdio_sync= control stdio buffer +@cindex Write, buffer syncing, stdio_sync= +Set the number of bytes after which to force output to emulated stdio: drives. +This forcing keeps the memory from being clogged with lots of +pending data for slow devices. Default "on" is the same as "16m". +Forced output can be disabled by "off". +@end table +@node Examples, Files, Options, Top +@chapter Examples +@c man .SH EXAMPLES +@c man .SS +@c man .B Overview of examples: +@c man Get an overview of drives and their addresses +@c man .br +@c man Get info about a particular drive or loaded media +@c man .br +@c man Prepare CD-RW or DVD-RW for re-use, BD-R for bad block handling +@c man .br +@c man Format DVD-RW to avoid need for blanking before re-use +@c man .br +@c man De-format DVD-RW to make it capable of multi-session again +@c man .br +@c man Write a single ISO 9660 filesystem image +@c man .br +@c man Write multiple ISO 9660 sessions +@c man .br +@c man Write ISO 9660 session on-the-fly +@c man .br +@c man Write compressed afio archive on-the-fly +@c man .br +@cindex Examples +@menu +* ExDevices:: Get an overview of drives and their addresses +* ExMedium:: Get info about a particular drive or loaded media +* ExBlank:: Prepare CD-RW or DVD-RW for re-use +* ExFormat:: Format DVD-RW to avoid need for blanking before re-use +* ExDeformat:: De-format DVD-RW to make it capable of multi-session again +* ExIsoSingle:: Write a single ISO 9660 filesystem image +* ExIsoMulti:: Write multiple ISO 9660 sessions +* ExIsoFly:: Write ISO 9660 session on-the-fly +* ExAfio:: Write compressed afio archive on-the-fly +@end menu +@c man .SS +@c man .B Get an overview of drives and their addresses: +@node ExDevices, ExMedium, NonCdrecord, Examples +@section Get an overview of drives and their addresses +@sp 1 + $ xorrecord --devices +@c man .SS +@c man .B Get info about a particular drive and loaded media: +@node ExMedium, ExBlank, ExDevices, Examples +@section Get info about a particular drive and loaded media +@sp 1 + $ xorrecord dev=/dev/sr0 -atip -toc --grow_overwriteable_iso +@c man .SS +@c man .B Prepare CD-RW or DVD-RW for re-use: +@node ExBlank, ExFormat, ExMedium, Examples +@section Prepare CD-RW or DVD-RW for re-use +@sp 1 + $ xorrecord -v dev=/dev/sr0 blank=as_needed -eject +@c man .SS +@c man .B Format DVD-RW to avoid need for blanking before re-use: +@node ExFormat, ExDeformat, ExBlank, Examples +@section Format DVD-RW to avoid need for blanking before re-use +@sp 1 + $ xorrecord -v dev=/dev/sr0 blank=format_overwrite -eject +@* +@sp 1 +This command may also be used to format BD-R media before first use, +in order to enable handling of write errors. Several hundred MB of spare +blocks will be reserved and write runs on such media will perform +with less than half nominal speed. +@c man .SS +@c man .B De-format DVD-RW to make it capable of multi-session again: +@node ExDeformat, ExIsoSingle, ExFormat, Examples +@section De-format DVD-RW to make it capable of multi-session again +@sp 1 + $ xorrecord -v dev=/dev/sr0 blank=deformat +@c man .SS +@c man .B Write a single ISO 9660 filesystem image: +@node ExIsoSingle, ExIsoMulti, ExDeformat, Examples +@section Write a single ISO 9660 filesystem image +@sp 1 + $ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ + blank=as_needed -eject padsize=300k my_image.iso +@c man .SS +@c man .B Write multiple ISO 9660 sessions: +@node ExIsoMulti, ExIsoFly, ExIsoSingle, Examples +@section Write multiple ISO 9660 sessions +This is possible with all media except minimally blanked DVD-RW and DVD-R DL, +which cannot do multi-session. +@* +The first session is written like in the previous example, except that +option -multi is used. It will contain the files of hard disk +directory ./tree1 under the ISO 9660 directory /dir1: +@* +@sp 1 + $ xorrisofs -o image_1.iso -J -graft-points /dir1=./tree1 +@* + $ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ +@* + -multi --grow_overwritable_iso \ +@* + blank=as_needed -eject padsize=300k image_1.iso +@* +@sp 1 +For the second session xorrisofs needs to know the -msinfo numbers +of the medium. Further it will read data from the medium by using the +system's read-only CD-ROM driver. +@* +It is advised to load the tray manually +or via dd by the CD-ROM driver, rather than letting xorrecord do this +by its own SCSI driver. Many system CD-ROM drivers do not take notice +of xorrecord's activities. +@* +@sp 1 + $ dd if=/dev/sr0 count=1 >/dev/null 2>&1 +@* +Now get the -msinfo numbers: +@* + $ m=$(xorrecord dev=/dev/sr0 -msinfo) +@* +@sp 1 +and use them with xorrisofs to add ./tree2 to the image as /dir2: +@* +@sp 1 + $ xorrisofs -M /dev/sr0 -C $m -o image_2.iso \ +@* + -J -graft-points /dir2=./tree2 +@* +@sp 1 +Now burn the new session onto the same medium. This time without blanking: +@* +@sp 1 + $ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ +@* + -multi --grow_overwritable_iso \ +@* + -eject padsize=300k image_2.iso +@* +@sp 1 +Operating systems which mount this medium will read the superblock +of the second session and show both directories /dir1 and /dir2. +@c man .SS +@c man .B Write ISO 9660 session on-the-fly: +@node ExIsoFly, ExAfio, ExIsoMulti, Examples +@section Write ISO 9660 session on-the-fly +It is possible to combine the run of @strong{xorrisofs} and @command{xorrecord} +in a pipeline without storing the ISO 9660 image as file on hard disk: +@* +@sp 1 + $ xorrisofs -M /dev/sr0 -C $m \ +@* + -J -graft-points /dir2=./tree2 \ +@* + | xorrecord -v dev=/dev/sr0 speed=12 fs=8m \ +@* + -waiti -multi --grow_overwritable_iso \ +@* + -eject padsize=300k - +@* +@sp 1 +This is also the main use case of program @strong{xorriso} itself, +where this run would look like: +@* +@sp 1 + $ xorriso -dev /dev/sr0 -joliet on -speed 12 -fs 8m \ +@* + -map ./tree2 /dir2 -commit_eject all +@c man .SS +@c man .B Write compressed afio archive on-the-fly: +@node ExAfio, , ExIsoFly, Examples +@section Write compressed afio archive on-the-fly +This is possible with all media except minimally blanked DVD-RW and DVD-R DL. +Since the compressed output stream is of very variable speed, a larger fifo +is advised. Nevertheless, this example is not suitable for very old CD drives +which have no underrun protection and thus would abort the burn run on +temporary data shortage. +@* +@sp 1 + $ find . | afio -oZ - | \ +@* + xorrecord -v dev=/dev/sr0 speed=12 fs=64m \ +@* + -multi padsize=300k - +@* +@sp 1 +afio archives do not contain references to absolute data block addresses. So +they need no special precautions for multi-session. One may get the session +start addresses by option -toc, and then use dd option skip= to begin reading +at one of those addresses. E.g. for listing its content: +@* +@sp 1 + $ dd if=/dev/sr0 bs=2048 skip=64046 | afio -tvZ - +@* +@sp 1 +afio will know when the end of the archive is reached. +@c man .SH FILES +@node Files, Seealso, Examples, Top +@chapter Files +@c man .SS +@c man .B Startup files: +@section Startup Files +@* +If not --no_rc is given as the first argument then @command{xorrecord} +attempts on startup to read and execute lines from the following files: +@* +@sp 1 + /etc/default/xorriso +@* + /etc/opt/xorriso/rc +@* + /etc/xorriso/xorriso.conf +@* + $HOME/.xorrisorc +@* +@sp 1 +The files are read in the sequence given here, but none of them is required +to exist. The lines are not interpreted as @command{xorrecord} options but +as generic @strong{xorriso} commands. See man xorriso. +@c man .SH SEE ALSO +@c man .TP +@c man For generic xorriso command mode +@c man .BR xorriso(1) +@c man .TP +@c man Formatting track sources for xorrecord: +@c man .BR xorrisofs(1), +@c man .BR mkisofs(8), +@c man .BR genisoimage(8), +@c man .BR afio(1), +@c man .BR star(1) +@c man .TP +@c man Other programs which burn sessions to optical media +@c man .BR growisofs(1), +@c man .BR cdrecord(1), +@c man .BR wodim(1), +@c man .BR cdrskin(1) +@c man-ignore-lines begin +@node Seealso, Bugreport, Files, Top +@chapter See also +@table @asis +@item For generic xorriso command mode +xorriso(1) +@item Formatting track sources for xorrecord +xorrisofs(1), +mkisofs(8), +genisoimage(8), +afio(1), +star(1) +@item Other programs which burn sessions to optical media +growisofs(1), +cdrecord(1), +wodim(1), +cdrskin(1) +@end table +@c man-ignore-lines end +@c man .SH BUGS +@node Bugreport, Legal, Seealso, Top +@chapter Reporting bugs +@cindex Bugs, reporting +@cindex Problems, reporting +To report bugs, request help, or suggest enhancements for @command{xorriso}, +please send electronic mail to the public list @email{bug-xorriso@@gnu.org}. +If more privacy is desired, mail to @email{scdbackup@@gmx.net}. +@* +@sp 1 +Please describe what you expect @command{xorriso} to do, +the program arguments resp. commands by which you tried to achieve it, +the messages of @command{xorriso}, and the undesirable outcome of your +program run. +@* +@sp 1 +Expect to get asked more questions before solutions can be proposed. +@c man .SH AUTHOR +@node Legal, CommandIdx, Bugreport, Top +@chapter Author, Copyright, Credits +@section Author +Thomas Schmitt <scdbackup@@gmx.net> +@* +for libburnia-project.org +@c man .SH COPYRIGHT +@section Copyright +Copyright (c) 2011 Thomas Schmitt +@* +Permission is granted to distribute this text freely. It shall only be +modified in sync with the technical properties of xorriso. If you make use +of the license to derive modified versions of xorriso then you are entitled +to modify this text under that same license. +@c man .SH CREDITS +@section Credits +@command{xorriso} is in part based on work by Vreixo Formoso who provides +libisofs together with Mario Danic who also leads the libburnia team. +Thanks to Andy Polyakov who invented emulated growing, +to Derek Foreman and Ben Jansens who once founded libburn. +@* +Compliments towards Joerg Schilling whose cdrtools served me for ten years. +@c man-ignore-lines begin + +@node CommandIdx, ConceptIdx, Legal, Top +@chapter Alphabetic Command List +@printindex ky + +@node ConceptIdx,, CommandIdx, top +@chapter Alphabetic List of Concepts and Objects +@printindex cp + +@c man-ignore-lines end +@bye diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index ac0f8aab..ac1f349e 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -9,7 +9,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH XORRISO 1 "Version 1.1.7, Oct 13, 2011" +.TH XORRISO 1 "Version 1.1.7, Oct 24, 2011" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -4070,8 +4070,7 @@ resp. to send a line via stdin. .TP \fB\-sleep\fR seconds Wait for the given number of seconds before perfoming the next command. -The sleep time is given by a decimal number. E.g. "15" or "0.5". -Expect coarse granularity in the range of about 1/100 seconds. +Expect coarse granularity no better than 1/100 seconds. .TP \fB\-errfile_log\fR mode path|channel .br @@ -4717,6 +4716,9 @@ The default setting of \-check_media abort_file= is: For the mkisofs emulation of xorriso .BR xorrisofs(1) .TP +For the cdrecord emulation of xorriso +.BR xorrecord(1) +.TP For mounting xorriso generated ISO 9660 images (-t iso9660) .BR mount(8) .TP diff --git a/xorriso/xorriso.info b/xorriso/xorriso.info index 5d0436dd..9e22a377 100644 --- a/xorriso/xorriso.info +++ b/xorriso/xorriso.info @@ -3565,9 +3565,7 @@ File: xorriso.info, Node: Scripting, Next: Frontend, Prev: Emulation, Up: Op -sleep seconds Wait for the given number of seconds before perfoming the next - command. The sleep time is given by a decimal number. E.g. "15" - or "0.5". Expect coarse granularity in the range of about 1/100 - seconds. + command. Expect coarse granularity no better than 1/100 seconds. -errfile_log mode path|channel If problem events are related to input files from the filesystem, @@ -4172,6 +4170,9 @@ File: xorriso.info, Node: Seealso, Next: Bugreport, Prev: Files, Up: Top For the mkisofs emulation of `xorriso' xorrisofs(1) +For the cdrecord emulation of `xorriso' + xorrecord(1) + For mounting `xorriso' generated ISO 9660 images (-t iso9660) mount(8) @@ -4249,7 +4250,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top �[index�] * Menu: -* # starts a comment line: Scripting. (line 164) +* # starts a comment line: Scripting. (line 162) * -abort_on controls abort on error: Exception. (line 27) * -abstract_file sets abstract file name: SetWrite. (line 160) * -acl controls handling of ACLs: Loading. (line 142) @@ -4316,8 +4317,8 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -dvd_obs set write block size: SetWrite. (line 238) * -early_stdio_test classifies stdio drives: Loading. (line 251) * -eject ejects drive tray: Writing. (line 36) -* -end writes pending session and ends program: Scripting. (line 158) -* -errfile_log logs problematic disk files: Scripting. (line 120) +* -end writes pending session and ends program: Scripting. (line 156) +* -errfile_log logs problematic disk files: Scripting. (line 118) * -error_behavior controls error workarounds: Exception. (line 96) * -external_filter registers data filter: Filter. (line 20) * -external_filter unregisters data filter: Filter. (line 48) @@ -4414,11 +4415,11 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -rm_r deletes trees from ISO image: Manip. (line 28) * -rmdir deletes ISO directory: Manip. (line 32) * -rollback discards pending changes: Writing. (line 9) -* -rollback_end ends program without writing: Scripting. (line 161) +* -rollback_end ends program without writing: Scripting. (line 159) * -rom_toc_scan searches for sessions: Loading. (line 210) * -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 168) -* -scsi_log reports SCSI commands: Scripting. (line 149) -* -session_log logs written sessions: Scripting. (line 140) +* -scsi_log reports SCSI commands: Scripting. (line 147) +* -session_log logs written sessions: Scripting. (line 138) * -session_string composes session info line: Inquiry. (line 66) * -set_filter applies filter to file: Filter. (line 60) * -set_filter_r applies filter to file tree: Filter. (line 85) @@ -4489,7 +4490,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Character set, learn from image, -auto_charset: Loading. (line 97) * Character Set, of terminal, -local_charset: Charset. (line 47) * Closed media, _definition: Media. (line 43) -* Comment, #: Scripting. (line 164) +* Comment, #: Scripting. (line 162) * Control, signal handling, -signal_handling: Exception. (line 69) * Create, new ISO image, _definiton: Methods. (line 6) * Cylinder alignment, _definiton: Bootable. (line 167) @@ -4520,7 +4521,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Drive, get drive list, -devices: Inquiry. (line 7) * Drive, list supported media, -list_profiles: Writing. (line 150) * Drive, reduce activity, -calm_drive: Loading. (line 235) -* Drive, report SCSI commands, -scsi_log: Scripting. (line 149) +* Drive, report SCSI commands, -scsi_log: Scripting. (line 147) * Drive, write and eject, -commit_eject: Writing. (line 40) * EA, _definiton: Extras. (line 54) * El Torito, _definiton: Extras. (line 19) @@ -4633,16 +4634,16 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Process, control exit value, -return_with: Exception. (line 39) * Process, control verbosity, -report_about: Exception. (line 55) * Process, disable startup files, -no_rc: Scripting. (line 7) -* Process, end program and write, -end: Scripting. (line 158) -* Process, end program, no writing, -rollback_end: Scripting. (line 161) +* Process, end program and write, -end: Scripting. (line 156) +* Process, end program, no writing, -rollback_end: Scripting. (line 159) * Process, error workarounds, -error_behavior: Exception. (line 96) * Process, log output channels to file, -logfile: Frontend. (line 20) * Process, read command file, -options_from_file: Scripting. (line 12) * Process, set synchronizing message, -mark: Frontend. (line 25) * Program, backslash conversion, -backslash_codes: Scripting. (line 67) * Program, curb memory, -temp_mem_limit: Scripting. (line 92) -* Program, end and write, -end: Scripting. (line 158) -* Program, end without writing, -rollback_end: Scripting. (line 161) +* Program, end and write, -end: Scripting. (line 156) +* Program, end without writing, -rollback_end: Scripting. (line 159) * Program, list extra features, -list_extras: Scripting. (line 26) * Program, print help text, -help: Scripting. (line 20) * Program, print help text, -prog_help: Frontend. (line 33) @@ -4674,7 +4675,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Session, altered start address, -displacement: Loading. (line 35) * Session, info string, -session_string: Inquiry. (line 66) * Session, issue mount command, -mount: Restore. (line 126) -* Session, log when written, -session_log: Scripting. (line 140) +* Session, log when written, -session_log: Scripting. (line 138) * Session, mount command line, -mount_cmd: Inquiry. (line 41) * Session, mount parameters, -mount_opts: Inquiry. (line 57) * Session, select as input, -load: Loading. (line 11) @@ -4703,8 +4704,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Write, enable Joliet, -joliet: SetWrite. (line 10) * Write, fifo size, -fs: SetWrite. (line 255) * Write, free space, -tell_media_space: Inquiry. (line 88) -* Write, log problematic disk files, -errfile_log: Scripting. (line 120) -* Write, log written sessions, -session_log: Scripting. (line 140) +* Write, log problematic disk files, -errfile_log: Scripting. (line 118) +* Write, log written sessions, -session_log: Scripting. (line 138) * Write, padding image, -padding: SetWrite. (line 268) * Write, pending ISO image, -commit: Writing. (line 13) * Write, predict image size, -print_size: Inquiry. (line 79) @@ -4751,29 +4752,29 @@ Node: Verify149945 Node: Restore158610 Node: Emulation165515 Node: Scripting175318 -Node: Frontend182566 -Node: Examples183865 -Node: ExDevices185036 -Node: ExCreate185695 -Node: ExDialog186969 -Node: ExGrowing188231 -Node: ExModifying189033 -Node: ExBootable189534 -Node: ExCharset190083 -Node: ExPseudo190903 -Node: ExCdrecord191801 -Node: ExMkisofs192116 -Node: ExGrowisofs193454 -Node: ExException194589 -Node: ExTime195043 -Node: ExIncBackup195502 -Node: ExRestore199426 -Node: ExRecovery200384 -Node: Files200952 -Node: Seealso202250 -Node: Bugreport202914 -Node: Legal203495 -Node: CommandIdx204425 -Node: ConceptIdx219521 +Node: Frontend182483 +Node: Examples183782 +Node: ExDevices184953 +Node: ExCreate185612 +Node: ExDialog186886 +Node: ExGrowing188148 +Node: ExModifying188950 +Node: ExBootable189451 +Node: ExCharset190000 +Node: ExPseudo190820 +Node: ExCdrecord191718 +Node: ExMkisofs192033 +Node: ExGrowisofs193371 +Node: ExException194506 +Node: ExTime194960 +Node: ExIncBackup195419 +Node: ExRestore199343 +Node: ExRecovery200301 +Node: Files200869 +Node: Seealso202167 +Node: Bugreport202890 +Node: Legal203471 +Node: CommandIdx204401 +Node: ConceptIdx219497  End Tag Table diff --git a/xorriso/xorriso.texi b/xorriso/xorriso.texi index 3e85de15..1eb72f02 100644 --- a/xorriso/xorriso.texi +++ b/xorriso/xorriso.texi @@ -50,7 +50,7 @@ @c man .\" First parameter, NAME, should be all caps @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" other parameters are allowed: see man(7), man(1) -@c man .TH XORRISO 1 "Version 1.1.7, Oct 13, 2011" +@c man .TH XORRISO 1 "Version 1.1.7, Oct 24, 2011" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -5627,6 +5627,9 @@ The default setting of -check_media abort_file= is: @c man For the mkisofs emulation of xorriso @c man .BR xorrisofs(1) @c man .TP +@c man For the cdrecord emulation of xorriso +@c man .BR xorrecord(1) +@c man .TP @c man For mounting xorriso generated ISO 9660 images (-t iso9660) @c man .BR mount(8) @c man .TP @@ -5662,6 +5665,8 @@ The default setting of -check_media abort_file= is: @table @asis @item For the mkisofs emulation of @command{xorriso} xorrisofs(1) +@item For the cdrecord emulation of @command{xorriso} +xorrecord(1) @item For mounting @command{xorriso} generated ISO 9660 images (-t iso9660) mount(8) @item Libreadline, a comfortable input line facility diff --git a/xorriso/xorriso_makefile_am.txt b/xorriso/xorriso_makefile_am.txt index 51550066..8b97027c 100644 --- a/xorriso/xorriso_makefile_am.txt +++ b/xorriso/xorriso_makefile_am.txt @@ -294,11 +294,13 @@ indent: $(indent_files) man_MANS = \ xorriso/xorriso.1 \ - xorriso/xorrisofs.1 + xorriso/xorrisofs.1 \ + xorriso/xorrecord.1 info_TEXINFOS = \ xorriso/xorriso.texi \ - xorriso/xorrisofs.texi + xorriso/xorrisofs.texi \ + xorriso/xorrecord.texi EXTRA_DIST = \ xorriso.pc.in \ diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index 75f2a0bf..c5237273 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2011.10.18.162119" +#define Xorriso_timestamP "2011.10.25.103839" diff --git a/xorriso/xorrisofs.1 b/xorriso/xorrisofs.1 index fb9e86cc..49ab8bd6 100644 --- a/xorriso/xorrisofs.1 +++ b/xorriso/xorrisofs.1 @@ -9,7 +9,7 @@ .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) -.TH XORRISOFS 1 "Version 1.1.7, Sep 27, 2011" +.TH XORRISOFS 1 "Version 1.1.7, Oct 24, 2011" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -1474,6 +1474,9 @@ Any other lines will be silently ignored. For generic xorriso command mode .BR xorriso(1) .TP +For the cdrecord emulation of xorriso +.BR xorrecord(1) +.TP For mounting xorriso generated ISO 9660 images (-t iso9660) .BR mount(8) .TP diff --git a/xorriso/xorrisofs.info b/xorriso/xorrisofs.info index 51af87d1..dd7b3238 100644 --- a/xorriso/xorrisofs.info +++ b/xorriso/xorrisofs.info @@ -1420,9 +1420,12 @@ File: xorrisofs.info, Node: Seealso, Next: Bugreport, Prev: Files, Up: Top 8 See also ********** -For generic xorriso command mode +For generic `xorriso' command mode xorriso(1) +For the cdrecord emulation of `xorriso' + xorrecord(1) + For mounting xorriso generated ISO 9660 images (-t iso9660) mount(8) @@ -1832,9 +1835,9 @@ Node: ExIncBckAcc51601 Node: ExBootable53276 Node: Files55368 Node: Seealso56442 -Node: Bugreport57037 -Node: Legal57618 -Node: CommandIdx58426 -Node: ConceptIdx69759 +Node: Bugreport57098 +Node: Legal57679 +Node: CommandIdx58487 +Node: ConceptIdx69820  End Tag Table diff --git a/xorriso/xorrisofs.texi b/xorriso/xorrisofs.texi index 0ba5cfff..58d51ab3 100644 --- a/xorriso/xorrisofs.texi +++ b/xorriso/xorrisofs.texi @@ -50,7 +50,7 @@ @c man .\" First parameter, NAME, should be all caps @c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @c man .\" other parameters are allowed: see man(7), man(1) -@c man .TH XORRISOFS 1 "Version 1.1.7, Sep 27, 2011" +@c man .TH XORRISOFS 1 "Version 1.1.7, Oct 24, 2011" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -1977,6 +1977,9 @@ Any other lines will be silently ignored. @c man For generic xorriso command mode @c man .BR xorriso(1) @c man .TP +@c man For the cdrecord emulation of xorriso +@c man .BR xorrecord(1) +@c man .TP @c man For mounting xorriso generated ISO 9660 images (-t iso9660) @c man .BR mount(8) @c man .TP @@ -2008,8 +2011,10 @@ Any other lines will be silently ignored. @node Seealso, Bugreport, Files, Top @chapter See also @table @asis -@item For generic xorriso command mode +@item For generic @command{xorriso} command mode xorriso(1) +@item For the cdrecord emulation of @command{xorriso} +xorrecord(1) @item For mounting xorriso generated ISO 9660 images (-t iso9660) mount(8) @item Other programs which produce ISO 9660 images