Provided by: xorriso_1.5.6-1.1ubuntu3_amd64 bug

NAME

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

SYNOPSIS

       xorrecord [ options ] dev=device [track_source]

DESCRIPTION

       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, but is able to burn audio CDs and to handle CD-TEXT.

   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_overwriteable_iso. In this case, the need for blanking before re-use is
       emulated too.

   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, FreeBSD, and NetBSD, 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 or privileges are needed already for listing a drive.  So it might be necessary to  get
       the overview as superuser or 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.

   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 or before cdrecord emulation ends.

OPTIONS

       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).
              Afterwards end emulation without performing any further drive operation.

       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 NetBSD: dev=/dev/rcd0d
              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.
              This  option  will  only  get  into  effect if a track source, a blank= option, or a drive inquiry
              option is given. Else it will lead to a SORRY event and normally cause a non-zero exit value.

       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_overwriteable_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.

       Settings for the burn run:

       A burn run requires exactly one track source address argument, which tells from where to  read  the  data
       which shall be put into the upcoming 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
                     medium 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  overwritable  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 unpredictable 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)

              help
                     Print a short overview of blank modes to standard error output.
                     Afterwards end emulation without performing any drive operation.

       -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  or  to  DVD-RW  which  were  blanked   by   mode
              "deformat_quickest".  Option  --multi_if_possible  may  automatically  recognize  and  handle this
              situation.
              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  overwritable  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 upcoming 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  Explicitly 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.

       -tao   Explicitly demand that write type TAO shall be used for CD, or Incremental for DVD-R. Normally the
              program will choose the write type according to the given medium state, option -multi,  and  track
              source. Demanding it explicitly prevents the start of a write run, if it is not appropriate to the
              situation.

       -sao   Explicitly  demand that write type SAO shall be used for CD, or DAO for DVD-R.  This might prevent
              the write run, if it is not appropriate to the situation.

       -dao   Alias of -sao.

       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 explicitly 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.

       minbuf=percentage
              Equivalent to:
               modesty_on_drive=<percentage>

       -immed Equivalent to:
               modesty_on_drive=75
              In cdrecord, this also controls use of the Immed bit.  But xorriso uses Immed where  possible  and
              appropriate, unless it is disabled by option use_immed_bit=off .

       -eject Eject the drive tray after alll other work is done.

       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.
              Afterwards end emulation without performing any drive operation.

       -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 or by -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 verbose 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.
              Afterwards end emulation without performing any drive operation.

       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.

       --drive_not_exclusive
              This option disables the use of device file  locking  mechanisms  when  acquiring  the  drive.  On
              GNU/Linux the locking is done by open(O_EXCL), on FreeBSD by flock(LOCK_EX).
              Be  aware  that it can cause problems if you use a drive which is mounted, or opened by some other
              process, or guarded by /dev/pktcdvd*.  Make sure that other users of the drive do not cause  drive
              activities while a xorrecord burn run is going on.

       drive_scsi_dev_family=sr|scd|sg|default
              GNU/Linux specific:
              By  default,  cdrskin  tries  to  map Linux drive addresses to /dev/sr* before they get opened for
              operating the drive. This coordinates well with other use cases of optical drives, like  mount(8).
              But  since  year  2010  all /dev/sr* share a global lock which allows only one drive to process an
              SCSI command while all others have to wait for its completion.  This yields  awful  throughput  if
              more than one drive is writing or reading simultaneously.
              The  global  lock  is  not  applied  to  device  files /dev/sg* and also not with the system calls
              read(2), write(2). But ioctl(SG_IO) is affected, which is needed to perform the SCSI commands  for
              optical burning.
              So    for    simultaneous   burn   runs   on   modern   GNU/Linux   it   is   advisable   to   use
              drive_scsi_dev_family="sg". The drive addresses may then  well  be  given  as  /dev/sr*  but  will
              nevertheless get used as /dev/sg*.

       --grow_overwriteable_iso
              Enable  emulation  of  multi-session  writing  on  overwritable  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 overwritable 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.  Overwritable 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.

       --multi_if_possible
              Apply  option  -multi  if the medium is suitable. Not suitable are DVD-R DL and DVD-RW, which were
              blanked with mode "deformat_quickest".
              Not all drives correctly recognize such fast-blanked DVD-RW which need "on".   If  there  is  well
              founded suspicion that a burn run failed due to -multi, then this causes a re-try without -multi.

       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"
              Set  the number of bytes to be transmitted with each write operation to DVD or BD media. With most
              write types, tracks get padded up to the next multiple of this write size (see option  --obs_pad).
              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.

       --obs_pad
              Pad the data of the last write operation of a DVD-R[W] DAO session, or  BD-R  session,  or  stdio:
              pseudo-drive  session  up  to  the  full  size of an output chunk.  This padding has to be applied
              automatically to the other DVD and BD media types,  where  it  causes  e.g.  ISO  images  to  have
              trailing  unclaimed  blocks.   Whether  it  is  applied  automatically  to  BD-R depends on option
              --bdr_obs_exempt.
              Use this option if there is the suspicion that DVD-R[W] DAO  or  BD-R  sessions  abort  with  your
              kernel and/or DVD drive, if their size is not a multiple of 16 blocks.
              This option may also get enabled at compile time of libburn.

       --bdr_obs_exempt
              Exempt BD-R media from automatic unconditional transaction end padding, provided that this padding
              is not requested by --obs_pad and that no stream_recording is requested.
              This is a new feature introduced with version 1.5.6. It might become default in later versions.

       modesty_on_drive=parameter[:parameters]
              Control whether the drive buffer shall be kept from getting completely filled.  Parameter "on" (or
              "1")  keeps  the program from trying to write to the burner drive while its buffer is in danger to
              be filled over a given limit.  If this filling is exceeded then the program will  wait  until  the
              filling reaches a given low percentage value.
              This  can  ease  the  load  on  operating system and drive controller and thus help with achieving
              better input bandwidth if disk and burner are not on independent controllers (like hda  and  hdb).
              It may also help with simultaneous burns on different burners with Linux kernels like 3.16, if one
              has  reason  not  to fix the problem by drive_scsi_dev_family="sg". On the other hand it increases
              the risk of buffer underflow and thus reduced write speed.
              Some burners are not suitable because they report buffer fill with granularity too coarse in  size
              or time, or expect their buffer to be filled to the top before they go to full speed.
              Parameters "off" or "0" disable this feature.
              The   threshold   for   beginning  to  wait  is  given  by  parameter  "max_percent=".   Parameter
              "min_percent=" defines the threshold for resuming transmission.  Percentages  are  permissible  in
              the  range  of  25  to  100.  Numbers  in  this  range without a prepended name are interpreted as
              "on:min_percent=".
              E.g.: modesty_on_drive=75
              The optimal values depend on the buffer behavior of the drive.
              Parameter "timeout_sec=" defines after which time of unsuccessful waiting  the  modesty  shall  be
              disabled because it does not work.
              Parameter  "min_usec="  defines  the initial sleeping period in microseconds.  If the drive buffer
              appears to be too full for sending more data, the program will wait the given time and inquire the
              buffer fill state again.  If repeated inquiry shows not enough free space,  the  sleep  time  will
              slowly be increased to what parameter "max_usec=" defines.
              Parameters, which are not mentioned with a modesty_on_drive= option, stay unchanged.  Default is:
                modesty_on_drive=off:min_percent=90:max_percent=95:
                timeout_sec=120:min_usec=5000:max_usec=25000

       use_immed_bit="on"|"off"|"default"
              Control  whether  several  long  lasting SCSI commands shall be executed with the Immed bit, which
              makes the commands end early while the drive operation is still going on.  xorriso  then  inquires
              progress indication until the drive reports to be ready again. If this feature is turned off, then
              blanking and formatting will show no progress indication.
              It may depend on the operating system whether -use_immed_bit is set to "off" by default.

       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".

EXAMPLES

   Overview of examples:
       Get an overview of drives and their addresses
       Get info about a particular drive or loaded media
       Prepare CD-RW or DVD-RW for re-use, BD-R for bad block handling
       Format DVD-RW to avoid need for blanking before re-use
       De-format DVD-RW to make it capable of multi-session again
       Write a single ISO 9660 filesystem image
       Write multiple ISO 9660 sessions
       Write ISO 9660 session on-the-fly
       Write compressed afio archive on-the-fly

   Get an overview of drives and their addresses:
         $ xorrecord --devices

   Get info about a particular drive and loaded media:
         $ xorrecord dev=/dev/sr0 -atip -toc --grow_overwriteable_iso

   Prepare CD-RW or DVD-RW for re-use:
         $ xorrecord -v dev=/dev/sr0 blank=as_needed -eject

   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.

   De-format DVD-RW to make it capable of multi-session again:
         $ xorrecord -v dev=/dev/sr0 blank=deformat

   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

   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_overwriteable_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.
       Many systems do not take notice of xorrecord's write activities. It is necessary to force their attention
       by ejecting and reloading the drive tray.  Therefore above run uses option -eject.
       Get the -msinfo numbers (and properly reload the tray if it has a motor) by:
         $ m=$(xorrecord dev=/dev/sr0 -msinfo)
       Offer a victim to any problem caused by obtrusive demons after tray loading:
         $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
       Use the numbers 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_overwriteable_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.

   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.
       The piped run is more vulnerable to the problem that some systems have not enough patience with automatic
       tray  loading and that demons may interfere with a first CD-ROM driver read attempt from a freshly loaded
       medium.  It is advised to load the tray manually or via a separate run of xorriso with a  subsequent  run
       of dd.
       Again, xorriso has the patience and dd is a dispensable victim for demons.
         $ m=$(xorrecord dev=/dev/sr0 -msinfo)
         $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
         $ xorrisofs -M /dev/sr0 -C $m  \
                     -J -graft-points /dir2=./tree2 \
           | xorrecord -v dev=/dev/sr0 speed=12 fs=8m \
                       -waiti -multi --grow_overwriteable_iso \
                       -eject padsize=300k -
       This  is also the main use case of program xorriso itself, where the run would need no system workarounds
       and simply look like:
         $ xorriso -dev /dev/sr0 -joliet on -speed 12 -fs 8m \
                   -map ./tree2 /dir2 -commit_eject all

   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.

FILES

   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.

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)

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 or  dialog  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.

AUTHOR

       Thomas Schmitt <scdbackup@gmx.net>
       for libburnia-project.org

COPYRIGHT

       Copyright (c) 2011 - 2023 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.

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.

                                           Version 1.5.6, Jun 07, 2023                              XORRECORD(1)