1XORRECORD(1) General Commands Manual XORRECORD(1)
2
3
4
6 xorrecord - Emulation of CD/DVD/BD program cdrecord by program xorriso
7
9 xorrecord [ options ] dev=device [track_source]
10
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
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
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
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
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
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
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
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)