1XORRECORD(1)                General Commands Manual               XORRECORD(1)
2
3
4

NAME

6       xorrecord -  Emulation of CD/DVD/BD program cdrecord by program xorriso
7

SYNOPSIS

9       xorrecord [ options ] dev=device [track_source]
10

DESCRIPTION

12       xorrecord writes preformatted data to CD, DVD, and BD media.
13
14       It  understands some options of program cdrecord from cdrtools by Joerg
15       Schilling.  Its implementation is part of program xorriso which  shares
16       no  source  code  with  cdrtools,  but  rather makes use of libburn for
17       communicating with the drive.
18       Another, more complete cdrecord emulator is program cdrskin which  uses
19       the same burn functions as xorrecord, but is able to burn audio CDs and
20       to handle CD-TEXT.
21
22   MMC, Session, Track, Media types:
23       MMC is a standard out of the SCSI family which defines the  interaction
24       between  computers and optical drives. Since more than a decade all CD,
25       DVD, or BD recorders obey this standard regardless by what bus  cabling
26       they  are  attached  to  the  computer. libburn relies on this standard
27       compliance and on the capability of the  operating  system  to  perform
28       SCSI transactions over the particular bus cabling.
29       A  Session  is  a  data  region  on  an optical disc which usually gets
30       written in a single sweep. It contains at least one Track  which  is  a
31       contiguous  string  of  readable  blocks.   xorrecord produces a single
32       session with a single data track which consists  of  blocks  with  2048
33       bytes  each. It chooses the write mode automatically according to media
34       type, medium state, and option -multi.
35       On CD media there are other track types,  like  audio,  and  particular
36       write  modes  like TAO and SAO. CD and DVD- media can put more than one
37       track into a session. Some  of  these  features  can  be  addressed  by
38       program cdrskin.
39       MMC  describes  several  recordable  media types which roughly form two
40       families.
41       Sequentially recordable media are CD-R, CD-RW, DVD-R, DVD-R DL, DVD-RW,
42       DVD+R,  DVD+R  DL,  BD-R.  Except DVD-R DL they can store more than one
43       session if there is still unwritten space and if the  previous  session
44       was  written  with  option  -multi.  CD-RW and DVD-RW can be blanked in
45       order to be re-usable from scratch.
46       Overwritable media are DVD-RAM, DVD+RW, formatted DVD-RW, BD-RE.   They
47       offer  a  single session with a single track for random access writing.
48       There is no need to blank overwritable media before re-use.
49       DVD-RW media are sold in  sequentially  recordable  state  but  can  be
50       formatted     once     to     become    overwritable.    See    options
51       blank=format_overwrite and blank=deformat.
52       If ISO 9660 filesystems are to be stored on overwritable media, then it
53       is   possible   to   emulate   multiple   sessions,   by  using  option
54       --grow_overwriteable_iso. In this case, the need  for  blanking  before
55       re-use is emulated too.
56
57   Drive preparation and addressing:
58       The  drives,  CD,  DVD,  or BD burners, are accessed via file addresses
59       which are specific to libburn and the operating system. Those addresses
60       get listed by a run of xorrecord --devices or xorriso -device_links.
61       On GNU/Linux, FreeBSD, and NetBSD, the user needs rw-permission for the
62       device file.  On Solaris, the user  needs  r-permission  and  privilege
63       "sys_devices", which is usually gained by running xorrecord via command
64       pfexec.
65       These permissions or privileges are needed already for listing a drive.
66       So  it  might  be  necessary  to  get  the overview as superuser or via
67       pfexec.
68       xorrecord does not perform cdrecord option -scanbus and does not accept
69       the  addresses  of  form Bus,Target,Lun which are told by -scanbus.  If
70       support for these addresses  is  necessary,  consider  to  use  program
71       cdrskin.
72       It  is  possible  to  let  xorrecord  work  on  emulated drives.  Their
73       addresses begin by prefix "stdio:" followed by  a  file  address.   The
74       emulated  media behavior depends on the file type.  See man xorriso for
75       details.
76       If standard output is chosen as emulated drive, then all program result
77       texts,  which usually appear on standard output, will get redirected to
78       standard error.
79
80   Relation to program xorriso:
81       xorrecord is actually a command mode of  program  xorriso,  which  gets
82       entered  either  by  xorriso  command "-as cdrecord" or by starting the
83       program by one  of  the  names  "xorrecord",  "cdrecord",  "wodim",  or
84       "cdrskin".
85       This  command  mode can be left by argument "--" which leads to generic
86       xorriso command mode. See man xorriso for its description.  Other  than
87       in xorriso command mode, the sequence of the cdrecord emulation options
88       does not matter.  All pending actions get performed in a fixed sequence
89       before the program run ends or before cdrecord emulation ends.
90
91

OPTIONS

93       Addressing the drive:
94
95       --devices
96              Print  the  list of accessible CD, DVD, or BD drives to standard
97              output.  Drives might be  inaccessible  if  the  user  lacks  of
98              permissions  to  use  them  or if the drive is in use by another
99              program.
100              Each accessible drive is shown by a line like:
101                0  -dev '/dev/sr0' rwrw-- :  'TSSTcorp' 'CDDVDW SH-S203B'
102              The libburn address of this drive is '/dev/sr0'.  'TSSTcorp'  is
103              the  name  of  the vendor (in this case: Toshiba Samsung Storage
104              Technologies Corporation), 'CDDVDW SH-S203B' is the  model  name
105              (in this case: a DVD burner).
106              Afterwards  end  emulation  without performing any further drive
107              operation.
108
109       dev=drive_address
110              Set the libburn address of the drive to be used.
111              E.g. on GNU/Linux: dev=/dev/sr0
112              E.g. on FreeBSD: dev=/dev/cd0
113              E.g. on NetBSD: dev=/dev/rcd0d
114              E.g. on Solaris: dev=/dev/rdsk/c2t2d0s2
115              See also above "Drive preparation and addressing".
116              The medium in the drive should not be mounted or be otherwise in
117              use.
118              This  option  will  only  get  into  effect if a track source, a
119              blank= option, or a drive inquiry option is given. Else it  will
120              lead to a SORRY event and normally cause a non-zero exit value.
121
122       Inquiring drive and media:
123
124       -inq   Print  to  standard  output:  vendor,  model  name, and firmware
125              revision of the drive.
126
127       -checkdrive
128              Print unconditionally that the drive supports burnfree, SAO, and
129              TAO.  Also print the output of option -inq.
130
131       -atip  Print the output of -checkdrive, the most capable profile of the
132              medium in the drive, the list of profiles which are supported by
133              the  drive,  whether  it  is erasable (i.e. can be blanked), the
134              media manufacturer, and the medium product name.
135              Profiles are usage models, which are often tied to a  particular
136              media  type  (e.g.  CD-RW),  but  may  also apply to a family of
137              media. E.g. profile CD-ROM applies to all CD media which contain
138              data.
139
140       -toc   Print  a table of content of the medium in the drive. The output
141              is not compatible to cdrecord option -toc, but rather the one of
142              xorriso command -toc.  It lists the address, vendor, model name,
143              and firmware revision of the drive.
144              About the medium it tells product name and manufacturer, whether
145              there  is already content written, and if so, whether the medium
146              is closed or  appendable.  Appendable  media  can  take  another
147              session.   The amount of readable and writable data is told.  If
148              there are sessions, then their start block address and  size  is
149              reported.   If  a  session contains an ISO 9660 filesystem, then
150              its Volume Id is reported.  If the medium is writable, then  the
151              next writable block address is reported.
152              If  not  option --grow_overwriteable_iso is given or no ISO 9660
153              file system is present on the medium,  then  overwritable  media
154              are  reported  as being blank. This is due to the fact that they
155              can be written from scratch  without  further  preparation,  and
156              that  MMC  does not distinguish between data written by the most
157              previous burn run and older data which have not been overwritten
158              by that burn run.  Consequently, these media are reported with 0
159              readable blocks, although all their writable blocks normally are
160              readable, too.
161
162       -msinfo
163              Print  the  argument  text  for  option  -C of programs mkisofs,
164              genisoimage, or xorrisofs. It consists of two numbers  separated
165              by a comma.
166              The first number tells the first block of the first track of the
167              last recorded session. This is also the address used by  default
168              when  operating  systems  mount  a  medium  with  e.g.  ISO 9660
169              filesystem.
170              The  second  number  tells  the  next  writable  address,  where
171              xorrecord will begin to write the next session.
172              This  option is only valid for written, appendable media. In all
173              other cases it will yield no output  text  but  will  abort  the
174              program with non-zero exit value.
175
176       Settings for the burn run:
177
178       A  burn  run  requires exactly one track source address argument, which
179       tells from where to read the data which shall be put into the upcomming
180       session. The medium state must be either blank or appendable.
181       Track source may be "-" for standard input or the address of a readable
182       file of any type except directories. Nearly all media  types  accept  a
183       track  source  with  unpredictable  byte  count, like standard input or
184       named pipes.   Nevertheless,  DVD-R  DL  and  DVD-RW  blanked  by  mode
185       deformat_quickest  demand  exact  in-advance  reservation  of the track
186       size, so that they either need to be read from a source of  predictable
187       length,  or  need  to  be  accompanied  by  option  tsize= or by option
188       -isosize.
189       Several options expect a size  value  as  argument.  A  number  with  a
190       trailing letter "b" or without a trailing letter is a plain byte count.
191       Other trailing letters cause multiplication of the given  number  by  a
192       scaling factor:
193       "k"  or  "K"  = 1024 , "m" or "M" = 1024k , "g" or "G" = 1024m , "s" or
194       "S" = 2048
195       E.g. tsize=234567s means a size of 234567 * 2048 = 480393216 bytes.
196
197       blank=mode
198              Blank a CD-RW or DVD-RW  to  make  it  re-usable  from  scratch.
199              Format  a  DVD-RW,  DVD+RW,  DVD-RAM,  BD-R, or BD-RE if not yet
200              formatted.
201              This operation normally makes any recorded data  on  the  medium
202              unreadable.   It  is  combinable with burning in the same run of
203              xorrecord, or it  may  be  performed  without  a  track  source,
204              leaving the medium empty.
205              The mode given with blank= selects the particular behavior:
206
207              as_needed
208                     Try  to make the media ready for writing from scratch. If
209                     it needs formatting, then format it. If it is not  blank,
210                     then try to apply blank=fast.  It is a reason to abort if
211                     the medium cannot assume thoroughly writeable state, e.g.
212                     if it is a non-blank write-once.
213                     This  leaves  unformatted  DVD-RW  in  unformatted  blank
214                     state. To format DVD-RW use blank=format_overwrite. Blank
215                     unformatted BD-R stay unformatted.
216                     (Note:   blank=as_needed  is  not  an  original  cdrecord
217                     option.)
218
219              all
220                     Blank an entire CD-RW or an unformatted DVD-RW.
221
222              fast
223                     Minimally blank an entire CD-RW or blank  an  unformatted
224                     DVD-RW.
225
226              deformat
227                     Like  blank=all  but with the additional ability to blank
228                     overwriteable DVD-RW.  This will destroy their formatting
229                     and make them sequentially recordable.
230                     (Note:   blank=deformat   is  not  an  original  cdrecord
231                     options)
232
233              deformat_quickest
234                     Like blank=deformat but blanking DVD-RW  only  minimally.
235                     This  is  faster  than  full  blanking  but  yields media
236                     incapable  of  writing  tracks  of  unpredicatable  size.
237                     Multi-session will not be possible either.
238                     (Note:   blank=deformat_quickest   is   not  an  original
239                     cdrecord option.)
240
241              format_overwrite
242                     Format a  DVD-RW  to  "Restricted  Overwrite".  The  user
243                     should bring some patience.
244                     Format  unformatted  DVD+RW, BD-RE or blank BD-R to their
245                     default size.  It is not mandatory to do this with DVD+RW
246                     and   BD-RE   media,  because  they  will  get  formatted
247                     automatically on the first write attempt.
248                     BD-R media may be  written  in  unformatted  state.  This
249                     keeps  disabled the replacement of bad blocks and enables
250                     full nominal write speed. Once BD-R  media  are  written,
251                     they cannot be formatted any more.
252                     For   re-formatting   already   formatted  media  or  for
253                     formatting with non-default  size,  use  program  xorriso
254                     with command -format.
255                     (Note: blank=format_overwrite is not an original cdrecord
256                     options)
257
258              help
259                     Print a short overview of blank modes to  standard  error
260                     output.
261                     Afterwards  end  emulation  without  performing any drive
262                     operation.
263
264       -multi This option keeps  CD,  unformatted  DVD-R[W],  DVD+R,  or  BD-R
265              appendable  after the current session has been written.  Without
266              it the disc gets closed and may  not  be  written  any  more   -
267              unless  it  is  a -RW and gets blanked, which causes loss of its
268              content.
269              This option cannot be applied to DVD-R DL  or  to  DVD-RW  which
270              were     blanked    by    mode    "deformat_quickest".    Option
271              --multi_if_possible may automatically recognize and handle  this
272              situation.
273              In order to have all filesystem content accessible, the eventual
274              ISO-9660 filesystem of a follow-up session needs to be  prepared
275              in  a  special way by the filesystem formatter program. mkisofs,
276              genisoimage, and xorrisofs  expect  particular  info  about  the
277              situation which can be retrieved by xorrecord option -msinfo.
278              With  overwriteable  DVD or BD media, -multi cannot mark the end
279              of the session.  So when adding a new session, this end  has  to
280              be   determined  from  the  payload.   Currently  only  ISO-9660
281              filesystems   can    be    used    that    way.    See    option
282              --grow_overwriteable_iso.
283
284       -dummy Try  to  perform the drive operations without actually affecting
285              the inserted media. There is no warranty  that  this  will  work
286              with  a  particular  combination of drive and media. Blanking is
287              prevented reliably, though.  To avoid inadverted  real  burning,
288              -dummy  refuses  burn runs on anything but CD-R[W], DVD-R[W], or
289              emulated stdio-drives.
290
291       -waiti Wait until input data is available at stdin  or  EOF  occurs  at
292              stdin.  Only then begin to access any drives.
293              One should use this if xorrisofs is working at the end of a pipe
294              where the feeder process reads from the drive before  it  starts
295              writing its output into xorrisofs. Example:
296              xorrisofs ... -C 0,12800 -M /dev/sr0 ... | \
297              xorrecord dev=/dev/sr0 ... -waiti -
298              This  option  works  even  if  standard  input  is not the track
299              source. If no process is piping in, then the Enter key  of  your
300              terminal will act as trigger for xorrecord. Note that this input
301              line will not be consumed by cdrskin if standard  input  is  not
302              the track source. It will end up as shell command, usually.
303
304       tsize=size
305              Announce  the  exact size of the track source. This is necessary
306              with DVD-R DL media and with quickest  blanked  DVD-RW,  if  the
307              size cannot be determined in advance from the track source. E.g.
308              if it is standard input or a named pipe.
309              If the track source does not deliver  the  predicted  amount  of
310              bytes,  the remainder of the track is padded with zeros. This is
311              not considered an error.  If on the other hand the track  source
312              delivers  more  than the announced bytes then the track on media
313              gets truncated to the predicted size and  xorrecord  exits  with
314              non-zero value.
315
316       -isosize
317              Try  to  obtain  the  track  size  from the content of the track
318              source.  This works only if the track source bears an  ISO  9660
319              filesystem.   Any other track source content will cause the burn
320              run to abort.
321              If the track source is not a regular file or block device,  then
322              this  option  will  work  only  if the program's fifo size is at
323              least 64k. See option fs=.
324
325       padsize=size
326              Add the given amount of trailing zeros to the  upcomming  track.
327              This  feature  can  be  disabled by size 0. Default is 300 kB in
328              order to work around a problem with GNU/Linux which often  fails
329              to  read  the last few blocks of a CD track which was written in
330              write mode TAO. TAO is used  by  xorrecord  if  the  track  size
331              cannot  be  predicted  or  if  the  CD  medium  is not blank but
332              appendable.
333
334       -nopad The same as padsize=0.
335
336       -pad   The same as padsize=15s. This was  once  sufficient  with  older
337              GNU/Linux   kernels.   Meanwhile   one   should   at  least  use
338              padsize=128k, if not padsize=300k.
339
340       -data  Explicitly announce that the track source shall be  recorded  as
341              data  track,  and  not as audio track. This option has no effect
342              with xorrecord, because there is  no  support  for  other  track
343              formats anyway.
344
345       -tao   Explicitly  demand  that write type TAO shall be used for CD, or
346              Incremental for DVD-R. Normally  the  program  will  choose  the
347              write  type  according to the given medium state, option -multi,
348              and track source. Demanding it explicitly prevents the start  of
349              a write run, if it is not appropriate to the situation.
350
351       -sao   Explicitly  demand  that write type SAO shall be used for CD, or
352              DAO for DVD-R.  This might prevent the write run, if it  is  not
353              appropriate to the situation.
354
355       -dao   Alias of -sao.
356
357       fs=size
358              Set  the  size  of  the  program  fifo buffer to the given value
359              rather than the default of 4m.
360              The fifo buffers a temporary surplus of  track  source  data  in
361              order  to provide the drive with a steady stream during times of
362              temporary lack of track source supply.
363              Other than cdrecord, xorrecord  enables  drive  buffer  underrun
364              protection  by  default and does not wait with writing until the
365              fifo is full for a first time.  On very old CD drives  and  slow
366              computers,  this  might  cause aborted burn runs.  In this case,
367              consider to use program cdrskin for  CD  burning.   DVD  and  BD
368              drives tolerate buffer underrun without problems.
369              The  larger  the  fifo, the longer periods of poor source supply
370              can be compensated. But a large fifo can deprive  the  operating
371              system of read cache for better filesystem performance.
372
373       speed=value
374              Set the write speed. Default is 0 = maximum speed.  Speed can be
375              given in media type dependent x-speed numbers or  as  a  desired
376              throughput per second in MMC compliant kB (= 1000) or MB (= 1000
377              kB). Media x-speed factor can be set explicitly by appending "c"
378              for CD, "d" for DVD, "b" for BD. "x" is optional.
379              Example speeds:
380               706k = 706kB/s = 4c = 4xCD
381               5540k = 5540kB/s = 4d = 4xDVD
382              If  there  is  no  hint  about the speed unit attached, then the
383              medium in the drive will decide.   Default  unit  is  CD,  1x  =
384              176,400   raw   bytes/second.    With   DVD,   1x   =  1,385,000
385              bytes/second.  With BD, 1x = 4,495,625 bytes/second.
386              MMC drives usually activate their own idea of speed and take the
387              speed  value  given by the burn program only as a hint for their
388              own decision.
389
390       minbuf=percentage
391              Equivalent to:
392               modesty_on_drive=<percentage>
393
394       -immed Equivalent to:
395               modesty_on_drive=75
396              In cdrecord, this also controls  use  of  the  Immed  bit.   But
397              xorriso  uses Immed where possible and appropriate, unless it is
398              disabled by option use_immed_bit=off .
399
400       -eject Eject the drive tray after alll other work is done.
401
402       Program version and verbosity:
403
404       -version
405              Print to standard output a line beginning by
406              "Cdrecord 2.01-Emulation Copyright"
407              and further lines which report the version of  xorriso  and  its
408              supporting  libraries.  They  also state the license under which
409              the program is provided,  and  disclaim  any  warranty,  to  the
410              extent permitted by law.
411              Afterwards end emulation without performing any drive operation.
412
413       -v     Increase   program  verbosity  by  one  level.  There  are  four
414              verbosity levels from nearly silent to debugging verbosity.  The
415              both  highest  levels can be enabled by repeated -v or by -vv or
416              by -vvv.
417
418       -V     Log SCSI commands and drive replies  to  standard  error.   This
419              might  be  of  interest  if  xorrecord and a particular drive or
420              medium do not cooperate as expected, or if you just want to know
421              how  libburn  interacts  with  the  drive.   To  understand this
422              extremely verbose log, one needs to read SCSI  specs  SPC,  SBC,
423              and MMC.
424              Please  do not add such a log to a bug report on the first hand,
425              unless you want to point out a particular  deviation  from  said
426              specs,  or  if  you  get  asked  for this log by a maintainer of
427              xorrecord who feels in charge for your bug report.
428
429       -help  Print a sparse list of program options  to  standard  error  and
430              declare not to be cdrecord.
431              Afterwards end emulation without performing any drive operation.
432
433       Options not compatible to cdrecord:
434
435       --no_rc
436              Only if used as first command line argument this option prevents
437              reading and interpretation of startup files. See  section  FILES
438              below.
439
440       --drive_not_exclusive
441              This  option  disables the use of device file locking mechanisms
442              when acquiring the drive. On GNU/Linux the locking  is  done  by
443              open(O_EXCL), on FreeBSD by flock(LOCK_EX).
444              Be  aware that it can cause problems if you use a drive which is
445              mounted,  or  opened  by  some  other  process,  or  guarded  by
446              /dev/pktcdvd*.   Make  sure that other users of the drive do not
447              cause drive activities while a xorrecord burn run is going on.
448
449       drive_scsi_dev_family=sr|scd|sg|default
450              GNU/Linux specific:
451              By default, cdrskin  tries  to  map  Linux  drive  addresses  to
452              /dev/sr*  before  they  get opened for operating the drive. This
453              coordinates well with other use cases of  optical  drives,  like
454              mount(8).  But  since year 2010 all /dev/sr* share a global lock
455              which allows only one drive to process an SCSI command while all
456              others  have  to  wait  for  its  completion.  This yields awful
457              throughput  if  more  than  one  drive  is  writing  or  reading
458              simultaneously.
459              The global lock is not applied to device files /dev/sg* and also
460              not with the system calls read(2), write(2). But ioctl(SG_IO) is
461              affected,  which  is  needed  to  perform  the SCSI commands for
462              optical burning.
463              So  for  simultaneous  burn  runs  on  modern  GNU/Linux  it  is
464              advisable to use drive_scsi_dev_family="sg". The drive addresses
465              may then well be given as /dev/sr*  but  will  nevertheless  get
466              used as /dev/sg*.
467
468       --grow_overwriteable_iso
469              Enable emulation of multi-session writing on overwriteable media
470              which contain an ISO 9660 filesystem. This emulation is  learned
471              from growisofs -M but adapted to the usage model of
472              xorrecord -msinfo
473              xorrisofs -C -M | xorrecord -waiti -multi -
474              for sequential media.
475              --grow_overwriteable_iso   does  not  hamper  the  use  of  true
476              multi-session media.  I.e.  it  is  possible  to  use  the  same
477              xorrecord  options  with  both  kinds  of  media  and to achieve
478              similar results if ISO 9660 filesystem images are to be written.
479              This  option  implies option -isosize and therefore demands that
480              the track source is a ISO 9660 filesystem image.
481              With overwriteable media and no option blank=fast|all present it
482              expands  an eventual ISO 9660 filesystem on media. It is assumed
483              that this image's inner size description points to  the  end  of
484              the  valuable data.  Overwriteable media with a recognizable ISO
485              9660 size will be regarded as appendable rather than  as  blank.
486              I.e.  options -msinfo and -toc will work.  -toc will always show
487              a single session with its size increasing with every  added  ISO
488              9660 image.
489
490       --multi_if_possible
491              Apply  option -multi if the medium is suitable. Not suitable are
492              DVD-R  DL   and   DVD-RW,   which   were   blanked   with   mode
493              "deformat_quickest".
494              Not  all  drives  correctly  recognize  such fast-blanked DVD-RW
495              which need "on".  If there is well founded suspicion that a burn
496              run  failed  due  to  -multi,  then this causes a re-try without
497              -multi.
498
499       stream_recording="on"|"off"|number
500              Mode "on" requests that compliance to the desired speed  setting
501              is  preferred  over management of write errors. With DVD-RAM and
502              BD this can bring effective write  speed  near  to  the  nominal
503              write  speed  of  the  media.   But  it  will  also  disable the
504              automatic use of replacement blocks if write  errors  occur.  It
505              might as well be disliked or ignored by the drive.
506              If  a  number  is given, then error management stays enabled for
507              all byte addresses below that number. Any number  below  16s  is
508              the same as "off".
509
510       dvd_obs="default"|"32k"|"64k"
511              Linux  specific:  Set the number of bytes to be transmitted with
512              each write operation to DVD or BD media. Tracks get padded up to
513              the  next  multiple  of  this  write size. A number of 64 KB may
514              improve throughput with bus systems which show latency problems.
515              The default depends on media type, option stream_recording=, and
516              on compile time options.
517
518       modesty_on_drive=parameter[:parameters]
519              Control whether the drive buffer  shall  be  kept  from  getting
520              completely  filled.   Parameter  "on" (or "1") keeps the program
521              from trying to write to the burner drive while its buffer is  in
522              danger  to  be  filled  over  a given limit.  If this filling is
523              exceeded then the program will wait until the filling reaches  a
524              given low percentage value.
525              This  can ease the load on operating system and drive controller
526              and thus help with achieving better input bandwidth if disk  and
527              burner are not on independent controllers (like hda and hdb). It
528              may also help with simultaneous burns on different burners  with
529              Linux  kernels  like  3.16,  if  one  has  reason not to fix the
530              problem by drive_scsi_dev_family="sg".  On  the  other  hand  it
531              increases  the  risk  of buffer underflow and thus reduced write
532              speed.
533              Some burners are not suitable because they  report  buffer  fill
534              with  granularity  too  coarse  in size or time, or expect their
535              buffer to be filled to the top before they go to full speed.
536              Parameters "off" or "0" disable this feature.
537              The threshold for  beginning  to  wait  is  given  by  parameter
538              "max_percent=".   Parameter "min_percent=" defines the threshold
539              for resuming transmission.  Percentages are permissible  in  the
540              range  of  25  to 100. Numbers in this range without a prepended
541              name are interpreted as "on:min_percent=".
542              E.g.: modesty_on_drive=75
543              The optimal values depend on the buffer behavior of the drive.
544              Parameter   "timeout_sec="   defines   after   which   time   of
545              unsuccessful  waiting  the  modesty shall be disabled because it
546              does not work.
547              Parameter "min_usec=" defines the  initial  sleeping  period  in
548              microseconds.   If  the  drive buffer appears to be too full for
549              sending more data, the program will  wait  the  given  time  and
550              inquire  the buffer fill state again.  If repeated inquiry shows
551              not enough free space, the sleep time will slowly  be  increased
552              to what parameter "max_usec=" defines.
553              Parameters,  which  are  not  mentioned with a modesty_on_drive=
554              option, stay unchanged.  Default is:
555                modesty_on_drive=off:min_percent=90:max_percent=95:
556                timeout_sec=120:min_usec=5000:max_usec=25000
557
558       use_immed_bit="on"|"off"|"default"
559              Control whether several long  lasting  SCSI  commands  shall  be
560              executed  with the Immed bit, which makes the commands end early
561              while the drive  operation  is  still  going  on.  xorriso  then
562              inquires progress indication until the drive reports to be ready
563              again.  If  this  feature  is  turned  off,  then  blanking  and
564              formatting will show no progress indication.
565              It  may depend on the operating system whether -use_immed_bit is
566              set to "off" by default.
567
568       write_start_address=value
569              Set the block address  on  overwritable  media  where  to  start
570              writing  the  track.  With DVD+RW, DVD-RAM or BD-RE, byte_offset
571              must be aligned to 2 kiB blocks, but better is 32 kiB on DVD and
572              64  kiB  on  BD.   With  formatted  DVD-RW  32  kiB alignment is
573              mandatory.
574              Other media are not suitable for this option.
575
576       stdio_sync="on"|"off"|number
577              Set the number of bytes after which to force output to  emulated
578              stdio: drives.  This forcing keeps the memory from being clogged
579              with lots of pending data for slow devices. Default "on" is  the
580              same as "16m".  Forced output can be disabled by "off".
581

EXAMPLES

583   Overview of examples:
584       Get an overview of drives and their addresses
585       Get info about a particular drive or loaded media
586       Prepare CD-RW or DVD-RW for re-use, BD-R for bad block handling
587       Format DVD-RW to avoid need for blanking before re-use
588       De-format DVD-RW to make it capable of multi-session again
589       Write a single ISO 9660 filesystem image
590       Write multiple ISO 9660 sessions
591       Write ISO 9660 session on-the-fly
592       Write compressed afio archive on-the-fly
593
594   Get an overview of drives and their addresses:
595         $ xorrecord --devices
596
597   Get info about a particular drive and loaded media:
598         $ xorrecord dev=/dev/sr0 -atip -toc --grow_overwriteable_iso
599
600   Prepare CD-RW or DVD-RW for re-use:
601         $ xorrecord -v dev=/dev/sr0 blank=as_needed -eject
602
603   Format DVD-RW to avoid need for blanking before re-use:
604         $ xorrecord -v dev=/dev/sr0 blank=format_overwrite -eject
605       This command may also be used to format BD-R media before first use, in
606       order to enable handling of write errors. Several hundred MB  of  spare
607       blocks  will be reserved and write runs on such media will perform with
608       less than half nominal speed.
609
610   De-format DVD-RW to make it capable of multi-session again:
611         $ xorrecord -v dev=/dev/sr0 blank=deformat
612
613   Write a single ISO 9660 filesystem image:
614         $ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \
615                     blank=as_needed -eject padsize=300k my_image.iso
616
617   Write multiple ISO 9660 sessions:
618       This is possible with all media except  minimally  blanked  DVD-RW  and
619       DVD-R DL, which cannot do multi-session.
620       The  first session is written like in the previous example, except that
621       option -multi is used. It will contain the files of hard disk directory
622       ./tree1 under the ISO 9660 directory /dir1:
623         $ xorrisofs -o image_1.iso -J -graft-points /dir1=./tree1
624         $ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \
625                     -multi --grow_overwriteable_iso \
626                     blank=as_needed -eject padsize=300k image_1.iso
627       For  the  second session xorrisofs needs to know the -msinfo numbers of
628       the medium. Further it will read data from  the  medium  by  using  the
629       system's read-only CD-ROM driver.
630       Many  systems do not take notice of xorrecord's write activities. It is
631       necessary to force their attention by ejecting and reloading the  drive
632       tray.  Therefore above run uses option -eject.
633       Get  the  -msinfo  numbers  (and  properly  reload the tray if it has a
634       motor) by:
635         $ m=$(xorrecord dev=/dev/sr0 -msinfo)
636       Offer a victim to any problem caused by  obtrusive  demons  after  tray
637       loading:
638         $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
639       Use the numbers with xorrisofs to add ./tree2 to the image as /dir2:
640         $ xorrisofs -M /dev/sr0 -C $m -o image_2.iso \
641                     -J -graft-points /dir2=./tree2
642       Now  burn  the  new  session  onto  the  same medium. This time without
643       blanking:
644         $ xorrecord -v dev=/dev/sr0 speed=12 fs=8m \
645                     -multi --grow_overwriteable_iso \
646                     -eject padsize=300k image_2.iso
647       Operating systems which mount this medium will read the  superblock  of
648       the second session and show both directories /dir1 and /dir2.
649
650   Write ISO 9660 session on-the-fly:
651       It  is  possible  to  combine  the  run of xorrisofs and xorrecord in a
652       pipeline without storing the ISO 9660 image as file on hard disk.
653       The piped run is more vulnerable to the problem that some systems  have
654       not  enough  patience  with  automatic tray loading and that demons may
655       interfere with a first CD-ROM driver read attempt from a freshly loaded
656       medium.   It is advised to load the tray manually or via a separate run
657       of xorriso with a subsequent run of dd.
658       Again, xorriso has the patience and dd  is  a  dispensable  victim  for
659       demons.
660         $ m=$(xorrecord dev=/dev/sr0 -msinfo)
661         $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
662         $ xorrisofs -M /dev/sr0 -C $m  \
663                     -J -graft-points /dir2=./tree2 \
664           | xorrecord -v dev=/dev/sr0 speed=12 fs=8m \
665                       -waiti -multi --grow_overwriteable_iso \
666                       -eject padsize=300k -
667       This is also the main use case of program xorriso itself, where the run
668       would need no system workarounds and simply look like:
669         $ xorriso -dev /dev/sr0 -joliet on -speed 12 -fs 8m \
670                   -map ./tree2 /dir2 -commit_eject all
671
672   Write compressed afio archive on-the-fly:
673       This is possible with all media except  minimally  blanked  DVD-RW  and
674       DVD-R  DL.   Since  the  compressed  output  stream is of very variable
675       speed, a larger fifo is advised.  Nevertheless,  this  example  is  not
676       suitable  for  very old CD drives which have no underrun protection and
677       thus would abort the burn run on temporary data shortage.
678         $ find . | afio -oZ - | \
679           xorrecord -v dev=/dev/sr0 speed=12 fs=64m \
680                     -multi padsize=300k -
681       afio  archives  do  not  contain  references  to  absolute  data  block
682       addresses.  So  they need no special precautions for multi-session. One
683       may get the session start addresses by option -toc,  and  then  use  dd
684       option  skip=  to  begin  reading  at  one of those addresses. E.g. for
685       listing its content:
686         $ dd if=/dev/sr0 bs=2048 skip=64046 | afio -tvZ -
687       afio will know when the end of the archive is reached.
688

FILES

690   Startup files:
691       If not --no_rc is given as the first argument then  xorrecord  attempts
692       on startup to read and execute lines from the following files:
693          /etc/default/xorriso
694          /etc/opt/xorriso/rc
695          /etc/xorriso/xorriso.conf
696          $HOME/.xorrisorc
697       The  files  are  read  in  the sequence given here, but none of them is
698       required to exist. The lines are not interpreted as  xorrecord  options
699       but as generic xorriso commands. See man xorriso.
700

SEE ALSO

702       For generic xorriso command mode
703              xorriso(1)
704
705       Formatting track sources for xorrecord:
706              xorrisofs(1), mkisofs(8), genisoimage(8), afio(1), star(1)
707
708       Other programs which burn sessions to optical media
709              growisofs(1), cdrecord(1), wodim(1), cdrskin(1)
710

BUGS

712       To  report  bugs,  request  help,  or suggest enhancements for xorriso,
713       please send electronic mail to the public  list  <bug-xorriso@gnu.org>.
714       If more privacy is desired, mail to <scdbackup@gmx.net>.
715       Please describe what you expect xorriso to do, the program arguments or
716       dialog commands by which you tried  to  achieve  it,  the  messages  of
717       xorriso, and the undesirable outcome of your program run.
718       Expect to get asked more questions before solutions can be proposed.
719

AUTHOR

721       Thomas Schmitt <scdbackup@gmx.net>
722       for libburnia-project.org
723
725       Copyright (c) 2011 - 2019 Thomas Schmitt
726       Permission  is granted to distribute this text freely. It shall only be
727       modified in sync with the technical properties of xorriso. If you  make
728       use  of the license to derive modified versions of xorriso then you are
729       entitled to modify this text under that same license.
730

CREDITS

732       xorriso is in part  based  on  work  by  Vreixo  Formoso  who  provides
733       libisofs  together  with Mario Danic who also leads the libburnia team.
734       Thanks to Andy Polyakov who invented emulated growing, to Derek Foreman
735       and Ben Jansens who once founded libburn.
736       Compliments  towards  Joerg  Schilling whose cdrtools served me for ten
737       years.
738
739
740
741                          Version 1.5.2, Oct 26, 2019             XORRECORD(1)
Impressum