Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
XORRECORD(1)		    General Commands Manual		  XORRECORD(1)

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

       xorrecord [ options ] dev=device	[track_source]

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

       Addressing the drive:

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

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

	      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

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

	      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
	      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 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
       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 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
	      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:

		     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

		     Blank an entire CD-RW or an unformatted DVD-RW.

		     Minimally blank an	entire CD-RW or	blank  an  unformatted

		     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

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

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

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

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

	      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.

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

	      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

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

	      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.

	      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.

	      Equivalent to:

       -immed Equivalent to:
	      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:

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

       Options not compatible to cdrecord:

	      Only if used as first command line argument this option prevents
	      reading and interpretation of startup files. See	section	 FILES

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

	      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.

	      Apply option -multi if the medium	is suitable. Not suitable  are
	      DVD-R   DL   and	 DVD-RW,   which   were	  blanked   with  mode
	      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

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

	      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.

	      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
	      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:

	      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.

	      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
	      Other media are not suitable for this option.

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

   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.
       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
	 $ 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:
	 $ 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 this
       run would 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.

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

       For generic xorriso command mode

       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)

       To  report  bugs,  request  help,  or suggest enhancements for xorriso,
       please send electronic mail to the public  list	<>.
       If more privacy is desired, mail	to <>.
       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.

       Thomas Schmitt <>

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

       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

			  Version 1.4.6, Sep 16, 2016		  XORRECORD(1)


Want to link to this manual page? Use this URL:

home | help