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

NAME

6       xorrisofs -  Emulation of ISO 9660 program mkisofs by program xorriso
7

SYNOPSIS

9       xorrisofs [ options ] [-o filename ] pathspec [pathspecs ...]
10

DESCRIPTION

12       xorrisofs  produces Rock Ridge enhanced ISO 9660 filesystems and add-on
13       sessions  to  such  filesystems.  Optionally  it  can  produce   Joliet
14       directory trees too.
15
16       xorrisofs understands options of program mkisofs from cdrtools by Joerg
17       Schilling.  Its implementation is part of program xorriso which  shares
18       no source code with cdrtools.
19
20   ISO 9660, Rock Ridge, Joliet:
21       ISO  9660  (aka ECMA-119) is a read-only filesystem that is mainly used
22       for optical media CD, DVD, BD, but may also  reside  on  other  storage
23       devices  like  disk  files, USB sticks or disk partitions. It is widely
24       readable by many operating systems and by boot facilities  of  personal
25       computers.
26       ISO  9660  describes  directories  and  data  files  by very restricted
27       filenames with no distinction  of  upper  case  and  lower  case.   Its
28       metadata do not comply to fundamental POSIX specifications.
29       Rock Ridge is the name of a set of additional information which enhance
30       an ISO 9660 filesystem so that  it  can  represent  a  POSIX  compliant
31       filesystem  with  ownership,  access  permissions,  symbolic links, and
32       other attributes.  Rock Ridge allows filenames of up to 255  bytes  and
33       paths of up to 1024 bytes.
34       Rock  Ridge  information is produced unconditionally with any xorrisofs
35       image.
36       Joliet is the name of  an  additional  directory  tree  which  provides
37       filenames  up  to  64  characters  encoded as UTF-16.  A Joliet tree is
38       mainly interesting for reading the ISO image by  operating  systems  of
39       Microsoft  Corporation.   Production  of  this  directory  tree  may be
40       enabled by option -J.
41       ISO 9660:1999 is  the  name  of  an  additional  directory  tree  which
42       provides  longer  filenames.  It allows single file names to have up to
43       207 characters.  It might be of use with  some  older  computer  system
44       boot  facilities  which  read  neither  Rock  Ridge nor Joliet but need
45       longer filenames nevertheless.  Production of this directory  tree  may
46       be enabled by option -iso-level 4.
47
48   Inserting files into the ISO image:
49       xorrisofs deals with two kinds of file addresses:
50       disk_path is a path to an object in the local filesystem tree.
51       iso_rr_path  is  the  Rock  Ridge  address  of a file object in the ISO
52       image. (Do not confuse with the lowlevel ISO 9660 names visible if Rock
53       Ridge gets ignored.)
54
55       A program argument is handled as a pathspec, if it is not recognized as
56       original mkisofs option or additional  xorrisofs  option.   A  pathspec
57       depicts  an  input file object by a disk_path.  If option -graft-points
58       is not  present,  then  the  behavior  depends  on  the  file  type  of
59       disk_path.  Directories  get  merged  with  the  /-directory of the ISO
60       image. Files of other types get copied into the /-directory.
61       If -graft-points is present then each pathspec gets split at the  first
62       occurence  of  the  =-character.   The  part  before  the = is taken as
63       target, i.e. the iso_rr_path for the file object in the ISO image.  The
64       part  after  the  first = is taken as source, i.e. the disk_path of the
65       input object.
66       It is  possible  to  make  =-characters  part  of  the  iso_rr_path  by
67       preceding   them  with  a  \-character.  The  same  must  be  done  for
68       \-characters which shall be part of the iso_rr_path.
69
70       If the source part of the pathspec leads to a directory, then all files
71       underneath  this  directory  get  inserted  into the image, too.  It is
72       possible to exclude particular files from being  inserted  by  help  of
73       option -m.
74       In  case  that  target  already  exists,  the  following  rules  apply:
75       Directories and other files  may  overwrite  existing  non-directories.
76       Directories  get merged with existing directories.  Non-directories may
77       not overwrite existing directories.
78
79   Relation to program xorriso:
80       xorrisofs is actually a command mode of  program  xorriso,  which  gets
81       entered  either  by  xorriso  command  "-as mkisofs" or by starting the
82       program by one of the names "xorrisofs", "mkisofs",  "genisoimage",  or
83       "genisofs".
84       This  command  mode can be left by argument "--" which leads to generic
85       xorriso command mode. See man xorriso for its description.
86
87       xorriso performs image reading and writing by help of libburn, which is
88       mainly intended for optical drives, but also operates on all POSIX file
89       types except directories.
90       The program messages call any image file a "drive".  File  types  which
91       are  not  supported  for  reading are reported as "blank". The reported
92       free media space may be quite fictional.
93       Nevertheless xorrisofs does not operate directly on optical drives, but
94       rather  forces  libburn to regard them as general device files.  So for
95       writing of sequential optical media (CD, DVD-R, DVD+R, BD-R)  one  will
96       have to use a burn program. E.g the cdrecord emulation of xorriso.  See
97       EXAMPLES.
98
99

OPTIONS

101       Image loading:
102
103       The following options control loading of an existing ISO image for  the
104       purpose  of  preparing  a suitable add-on session.  If they are missing
105       then a new image is composed from scratch.
106
107       -M disk_path
108              Set the path from which to load the existing ISO image directory
109              tree  on  which  to  base the upcomming directory tree as add-on
110              session.  The path must lead to a  random-access  readable  file
111              object.  On GNU/Linux: regular data files or block device files.
112              A    special   kind   of   pseudo   disk_path   has   the   form
113              "/dev/fd/"number.  It depicts the open file descriptor with  the
114              given  number,  regardless whether the operating system supports
115              this feature by file nodes in /dev/fd or not.  E.g. /dev/fd/3 is
116              file  descriptor  3  which  was opened by the program that later
117              started xorriso.
118
119       -prev-session disk_path
120              Alias of -M.
121
122       -dev disk_path
123              Alias of -M.
124
125       -C last_session_start,next_writeable_address
126              Set the 2 KiB block address  last_session_start  from  where  to
127              read the ISO image out of the file given by option -M.
128              Separated  by  a  comma, set the next_writeable_address to which
129              the add-on session will finally be written. Decisive is actually
130              the block address which the intended readers will have to use as
131              superblock address on the intended medium.
132              Both values can be inquired from optical media by help  of  burn
133              programs  and cdrecord option -msinfo. xorriso itself can obtain
134              it in its cdrecord emulation. Do not let it load the drive,  but
135              rather  do  this  manually or by a program like dd which reads a
136              few bytes. Only then it is sure that the device driver knows the
137              true readable size of the medium.
138                dd if=/dev/... count=1 >/dev/null 2>&1
139                values=$(xorriso -as cdrecord dev=/dev/... -msinfo)
140                echo $values
141              Option  -C  may be used without option -M to create an ISO image
142              from scratch and prepare it for being finally written to a block
143              address  other than 0. Parameter last_session_start must then be
144              set to 0.
145
146       -cdrecord-params last_session_start,next_writeable_address
147              Alias of -C.
148
149       Settings for file insertion:
150
151       -path-list disk_path
152              Read  pathspecs  line-by-line  from  disk_file  and  insert  the
153              depicted  file  objects  into the ISO image. If disk_path is "-"
154              then read the pathspecs from standard input.
155
156       --quoted_path_list disk_path
157              Like option -path-list but  reading  quoted  words  rather  than
158              plain lines.  Whitespace outside of quotes will be discarded. On
159              the other hand it  is  possible  to  represent  pathspecs  which
160              contain newline characters.
161              The  double quotation mark " and the single quotation mark ' can
162              be used to enclose whitespace and make  it  part  of  pathspecs.
163              Each  mark  type  can  enclose  the  marks  of the other type. A
164              trailing backslash \ outside quotations  or  an  open  quotation
165              cause the next input line to be appended.
166
167       -f
168              Resolve  symbolic  links  on  disk  rather  than storing them as
169              symbolic links in the ISO image.
170
171       -follow-links
172              Alias of -f.
173
174       -graft-points
175              Enable interpretation of input file pathspecs as combination  of
176              iso_rr_path and disk_path, separated by a =-character.
177
178       -m disk_pattern
179              Exclude  files  from  being  inserted  into  the image. Silently
180              ignored are those files of which the disk_path matches the given
181              shell parser pattern.  If no /-character is part of the pattern,
182              then it gets matched against the leaf name of the disk file.
183              It is possible to give more than one -m option.
184
185       -exclude
186              Alias of -m.
187
188       -x
189              Alias of -m.
190
191       -old-exclude
192              Alias of -m.
193
194       -exclude-list disk_path
195              Perform -m using each line out of  file  disk_path  as  argument
196              disk_pattern.
197
198       -z
199              Enable  recognition  and  proper processing of zisofs compressed
200              files as produced by program  mkzftree.  These  files  will  get
201              equipped  with  the  necessary  meta data so that a Linux kernel
202              will recognize them and deliver their  content  in  uncompressed
203              form.
204
205       -transparent-compression
206              Alias of -z.
207
208       -root iso_rr_path
209              Insert   all  files  under  the  given  iso_rr_path.  If  option
210              -graft-points is given, then iso_rr_path is  prepended  to  each
211              target part of a pathspec.
212              The default for -root is "/".
213
214       -old-root iso_rr_path
215              Enable  incremental  insertion  of  files into the loaded image.
216              The effective target and source addresses of given pathspecs get
217              compared  whether the target already exists in the ISO image and
218              is still identical to the source on disk. Metadata  in  the  ISO
219              image will get adjusted, if they differ from those on disk.  New
220              files and files with  changed  content  will  get  newly  added.
221              Target files which do not exist in any of the according pathspec
222              sources will get removed from the ISO directory tree.
223              If the effective setting of -root differs from  the  iso_rr_path
224              given  with  -old-root,  then the files underneath the -old-root
225              directory get cloned underneath  the  -root  directory.  Cloning
226              happens before file comparison.
227
228       --old-root-no-ino
229              Disable  recording  and  use  of disk inode numbers.  If no disk
230              inode numbers are recorded, then option -old-root will  have  to
231              read disk file content and compare it with the MD5 checksum that
232              is recorded in the ISO image.
233              With recorded disk inode numbers and  with  credible  ctime  and
234              mtime, it is possible to detect potential changes in the content
235              without actually reading it.  A  loophole  remains  if  multiple
236              different  filesystems  may  get  mounted at the same directory,
237              like it is habit with /mnt.  In this case one has to use  option
238              --old-root-devno   or  disable  the  inode  number  shortcut  by
239              --old-root-no-ino.
240
241       --old-root-devno
242              Enable comparison  of  recorded  device  numbers  together  with
243              recorded  inode  numbers.  This  works only with good old stable
244              device numbers which get out of  fashion,  regrettably.  If  the
245              hard  disk has a different device number after each reboot, then
246              this comparison will see all files as changed and  thus  prevent
247              any incremental size saving.
248
249       --old-root-no-md5
250              Disable  recording  and  use  of  MD5  checksums  for  data file
251              content.  If neither checksums and nor disk  inode  numbers  are
252              recorded, then option -old-root will have to read ISO image file
253              content when comparing it with disk file content.
254
255       Settings for image production:
256
257       -o disk_path
258              Set the output file address for the emerging ISO image.  If  the
259              address exists as regular file, it will be truncated to length 0
260              when image production  begins.  It  may  not  already  exist  as
261              directory.   If  it does not exist yet then its parent directory
262              must exist and a regular file will get created.
263              A   special   kind   of   pseudo   disk_path   has   the    form
264              "/dev/fd/"number.   It depicts the open file descriptor with the
265              given number, regardless whether the operating  system  supports
266              this feature by file nodes in /dev/fd or not.  E.g. /dev/fd/4 is
267              file descriptor 4 which was opened by  the  program  that  later
268              started xorriso.
269              Default  is standard output (/dev/fd/1) which may also be set by
270              disk_path "-".
271
272       -output disk_path
273              Alias of -o.
274
275       --stdio_sync "on"|"off"|number
276              Set the number of bytes after which to force output to  disk  in
277              order to keep the memory from being clogged with lots of pending
278              data for slow devices.  Default  "on"  is  the  same  as  "16m".
279              Forced output can be disabled by "off".
280              xorriso  uses  an  inner fifo buffer with default size 4 MiB. So
281              forcing  the  operating  system  i/o  cache  to  disk  does  not
282              necessarily  block  the  simultaneous  production  of more image
283              content.
284
285       --emul-toc
286              Write  a  second  superblock  with  the   first   session   into
287              random-access  files.  If  further sessions get appended and the
288              first superblock gets updated, then the second  superblock  will
289              not be overwritten. This allows to still mount the first session
290              and to find the start blocks of the further sessions.
291              The   price   is   64   KiB   extra   space   consumption.    If
292              -partition_offset is non-zero, then it is 128 KiB plus twice the
293              partition setup.
294
295       --no-emul-toc
296              Do not write a second superblock with  the  first  session  into
297              random-access files.
298              This is the default.
299
300       --sort-weight weight_number iso_rr_path
301              Attribute  a  LBA weight number to regular files. If iso_rr_path
302              leads to a directory then all regular files underneath will  get
303              the weight_number.
304              The weight_number may range from -2147483648 to 2147483647.  The
305              higher it is, the lower will be the block address  of  the  file
306              data  in  the  emerging ISO image.  Currently the El Torito boot
307              catalog has a hardcoded weight of 1 billion.  Normally it should
308              occupy  the  block with the lowest possible address.  Data files
309              get added or loaded with initial weight 0.
310
311       -dir-mode mode
312              Set the access permissions for all directories in the  image  to
313              the  given  mode  which is either an octal number beginning with
314              "0" or  a  comma  separated  list  of  statements  of  the  form
315              [ugoa]*[+-=][rwxst]* . E.g. ug=rx,a-rwx
316
317       -file-mode mode
318              Like -dir-mode but for all regular data files in the image.
319
320       -pad
321              Add  300  KiB  to  the  end  of  the  produced  ISO  image. This
322              circumvents possible read errors from ISO images which have been
323              written  to  CD  media  in  TAO  mode.  The additional bytes are
324              claimed as part of the ISO image if not --emul-toc is given.
325              Option -pad is the default.
326
327       -no-pad
328              Disable padding of 300 KiB to the end of the produced ISO image.
329              This is safe if the image is not meant to be written on CD or if
330              it gets written to CD as only track in write mode SAO.
331
332       --old-empty
333              Use the old way of of giving block addresses  in  the  range  of
334              [0,31] to files with no own data content. The new way is to have
335              a dedicated block to which all such files will point.
336
337       Settings for standards compliance:
338
339       -iso-level number
340              Specify the ISO 9660 version which defines  the  limitations  of
341              file  naming  and data file size. The naming restrictions do not
342              apply to the Rock Ridge names but only to the low-level ISO 9660
343              names.  There are three conformance levels:
344              Level  1  allows ISO names of the form 8.3 and file size up to 4
345              GiB - 1.
346              Level 2 allows ISO names with up to 32 characters and file  size
347              up to 4 GiB - 1.
348              Level 3  allows ISO names with up to 32 characters and file size
349              of up to 400 GiB - 200 KiB. (This size limitation is set by  the
350              xorriso  implementation  and  not  by ISO 9660 which would allow
351              nearly 8 TiB.)
352              Pseudo-level 4 enables production of an additional ISO 9660:1999
353              directory tree.
354
355       -disallow_dir_id_ext
356              Do  not  follow  a bad habit of mkisofs which allows dots in the
357              ISO names of directories.  On  the  other  hand,  some  bootable
358              GNU/Linux images depend on this bad habit.
359
360       -U
361              This  option  allows  ISO  file  names  without dot and up to 37
362              characters, ISO file paths longer than 255 characters,  and  all
363              ASCII  characters  in file names. Further it omits the semicolon
364              and the version numbers at the end of ISO names.
365              This all violates ISO 9660 specs.
366
367       -untranslated-filenames
368              Alias of -U.
369
370       -untranslated_name_len number
371              Allow ISO file names  up  to  the  given  number  of  characters
372              without  any character conversion. The maximum number is 96.  If
373              a file name has more characters, then image production will fail
374              deliberately.
375              This violates ISO 9660 specs.
376
377       -allow-lowercase
378              Allow lowercase character in ISO file names.
379              This violates ISO 9660 specs.
380
381       -d
382              Do not add trailing dot to ISO file names without dot.
383              This violates ISO 9660 specs.
384
385       -omit-period
386              Alias of -d.
387
388       -l
389              Allow up to 37 characters in ISO file names.
390              This violates ISO 9660 specs.
391
392       -full-iso9660-filenames
393              Alias of -l.
394
395       -max-iso9660-filenames
396              Alias of -l.
397
398       -N
399              Omit  the  semicolon  and  the version numbers at the end of ISO
400              names.
401              This violates ISO 9660 specs.
402
403       -omit-version-number
404              Alias of -N.
405
406       Settings for standards extensions:
407
408       -R
409              With  mkisofs  this  option  enables  Rock   Ridge   extensions.
410              xorrisofs produces them unconditionally.
411
412       -rock
413              Alias of -R.
414
415       -r
416              Set  Rock  Ridge user and group id of all files in the ISO image
417              to 0.  Grant r-permissions to all. Deny all  w-permissions.   If
418              any  x-permission  is  set,  grant  x-permission to all.  Remove
419              s-bit and t-bit.
420
421       -rational-rock
422              Alias of -r.
423
424       --for_backup
425              Enable options which improve backup  fidelity:  --acl,  --xattr,
426              --md5, --hardlinks.
427
428       --acl
429              Enable  recording  and loading of ACLs from GNU/Linux or FreeBSD
430              (see man getfacl, man acl).  They will not  be  in  effect  with
431              mounted  ISO  images.  But  xorriso can restore them on the same
432              systems when extracting files from the ISO image.
433
434       --xattr
435              Enable recording and loading of GNU/Linux  or  FreeBSD  extended
436              attributes  in user namespace (see man getfattr, man attr, resp.
437              man getextattr, man 9 extattr).  They will not be in effect with
438              mounted  ISO  images.  But  xorriso can restore them on the same
439              systems when extracting files from the ISO image.
440
441       --md5
442              Enable recording of MD5 checksums for the overall ISO image  and
443              for  each  single  data file in the image. xorriso can check the
444              content of an ISO image with  these  sums  and  raise  alert  on
445              mismatch.   See  man xorriso, options -check_media, check_md5_r.
446              xorriso can print recorded MD5 checksums. E.g. by:
447               -find / -exec get_md5
448
449       --hardlinks
450              Enable loading and recording of hardlink relations.  Search  for
451              families  of  iso_rr  files  which stem from the same disk file,
452              have identical content filtering and have identical  properties.
453              The  members of each family get the same inode number in the ISO
454              image.
455              Whether these numbers are respected at mount time depends on the
456              operating  system.  xorriso  can  create  hardlink families when
457              extracting files from the ISO image.
458
459       --scdbackup_tag disk_path record_name
460              Append a scdbackup checksum record to the image. This works only
461              if  the  parameter next_writeable_address of option -C is 0.  If
462              disk_path is not  an  empty  string,  then  append  a  scdbackup
463              checksum  record  to the end of this file. record_name is a word
464              that gets part of tag and record.
465              Program scdbackup_verify will recognize  and  verify  tag  resp.
466              record.
467
468       -J
469              Enable  the  production  of  an additional Joliet directory tree
470              along with the ISO 9660 Rock Ridge tree.
471
472       -joliet
473              Alias of -J.
474
475       -joliet-long
476              Allow 103 characters in Joliet file names rather than 64  as  is
477              prescribed  by the specification. Allow Joliet paths longer than
478              the prescribed limit of 240 characters.
479              Oversized names get truncated. Without  this  option,  oversized
480              paths get excluded from the Joliet tree.
481
482       Settings for file hiding:
483
484       -hide disk_path_pattern
485              Make  files invisible in the directory tree of ISO 9660 and Rock
486              Ridge,  if  their  disk_path  matches  the  given  shell  parser
487              pattern.  The data content of such hidden files will be included
488              in the resulting image, even if they  do  not  show  up  in  any
489              directory.  But you will need own means to find nameless data in
490              the image.
491              This command does not apply to the boot catalog.
492
493       -hide-list disk_path
494              Perform -hide using each line out of file disk_path as  argument
495              disk_path_pattern.
496
497       -hide-joliet disk_path_pattern
498              Like  option  -hide  but making files invisible in the directory
499              tree of Joliet, if  their  disk_path  matches  the  given  shell
500              parser pattern.
501
502       -hide-joliet-list disk_path
503              Perform  -hide-joliet  using  each line out of file disk_path as
504              argument disk_path_pattern.
505
506       ISO image ID strings:
507
508       The following strings and file addresses  get  stored  in  the  Primary
509       Volume Descriptor of the ISO9660 image. The file addresses are ISO 9660
510       paths. These files should have iso_rr_paths which consist only  of  the
511       characters  [A-Z0-9_]  and  exactly  one  dot which separates at most 8
512       characters from at most 3 characters.
513
514       -V text
515              Set the Volume Id of the ISO image.  xorriso accepts any text up
516              to  32 characters, but according to rarely obeyed specs stricter
517              rules apply:
518              Conformant  are  ASCII  characters  out  of   [A-Z0-9_].   Like:
519              "IMAGE_23"
520              Joliet allows 16 UCS-2 characters. Like: "Windows name"
521              Be aware that the volume id might get used automatically as name
522              of the mount point when the medium is inserted  into  a  playful
523              computer system.
524
525       -volid text
526              Alias of -V.
527
528       -volset text
529              Set  the  Volume Set Id of the ISO image.  Permissible are up to
530              128 characters.
531
532       -p text
533              Set the Publisher Id of the ISO image.  This  may  identify  the
534              person  or  organisation  who  specified what shall be recorded.
535              Permissible are up to 128 characters.
536
537       -publisher text
538              Alias of -p.
539
540       -A text
541              Set the Application Id of the ISO image.  This may identify  the
542              specification  of how the data are recorded.  Permissible are up
543              to 128 characters.
544              The special text "@xorriso@" gets converted to the id string  of
545              xorriso  which is normally written as Preparer Id. It is a wrong
546              tradition to write the program id as Application Id.
547
548       -appid text
549              Alias of -A.
550
551       -sysid text
552              Set the System Id of the ISO image. This may identify the system
553              which  can recognize and act upon the content of the System Area
554              in image blocks 0 to 15.  Permissible are up to 32 characters.
555
556       -p text
557              Set the Preparer Id of the ISO  image.  This  may  identify  the
558              person  or  other  entity  which controls the preparation of the
559              data which shall be recorded. Normally this should be the id  of
560              xorriso and not of the person or program which operates xorriso.
561              Please  avoid  to  change  it.   Permissible  are  up   to   128
562              characters.
563              The  special text "@xorriso@" gets converted to the id string of
564              xorriso which is default at program startup.
565
566       -preparer text
567              Alias of -p.
568
569       -abstract iso_path
570              Set the address of the Abstract File  of  the  ISO  image.  This
571              should  be  the  ISO  9660  path  of  a  file in the image which
572              contains  an  abstract  statement  about  the   image   content.
573              Permissible are up to 37 characters.
574
575       -biblio iso_path
576              Set the address of the Biblio File of the ISO image. This should
577              be the ISO 9660 path of a  file  in  the  image  which  contains
578              bibliographic records.  Permissible are up to 37 characters.
579
580       -copyright iso_path
581              Set  the  address  of  the Copyright File of the ISO image. This
582              should be the ISO 9660  path  of  a  file  in  the  image  which
583              contains  a  copyright  statement.   Permissible  are  up  to 37
584              characters.
585
586       --modification-date=YYYYMMDDhhmmsscc
587              Set  a  timestring  that  overrides  ISO  image   creation   and
588              modification  timestamps  literally.   It  must  consist  of  16
589              decimal digits which form YYYYMMDDhhmmsscc,  with  YYYY  between
590              1970  and  2999. Time zone is GMT.  It is supposed to match this
591              GRUB line:
592               search --fs-uuid --set YYYY-MM-DD-hh-mm-ss-cc
593              E.g. 2010040711405800 is 7 Apr 2010 11:40:58 (+0 centiseconds).
594
595       El Torito Bootable ISO images:
596
597       The precondition for a bootable ISO image is to have in the  ISO  image
598       the  files  of  a  boot  loader.  The  boot facilities of computers get
599       directed to such files, which usually  execute  further  program  files
600       from  the ISO image.  xorrisofs can produce several kinds of boot block
601       or boot record, which become part of the ISO image, and get interpreted
602       by the according boot facility.
603
604       An  El  Torito  boot record points the bootstrapping facility to a boot
605       catalog with one or more boot images, which are  binary  program  files
606       stored in the ISO image.  The content of the boot image files is not in
607       the scope of El Torito.
608       xorriso composes the boot catalog according to  the  boot  image  files
609       given  and  structured  by  options  -b,  -e,  -el-torito-alt-boot, and
610       --efi-boot. Often it contains only one entry.
611       El Torito gets interpreted by boot facilities PC-BIOS  and  EFI.   Most
612       bootable  GNU/Linux  CDs are equipped with ISOLINUX or GRUB boot images
613       for PC-BIOS.
614       xorrisofs supports the example options out of the  ISOLINUX  wiki,  the
615       options  used  in  GRUB  script  grub-mkrescue,  and the example in the
616       FreeBSD AvgLiveCD wiki.
617
618       For CD booting via boot facilities other than PC-BIOS and EFI, and  for
619       booting  from  USB sticks or hard disks, see the next section about the
620       Sytem Area.
621
622       -b iso_rr_path
623              Specify the boot image file which  shall  be  mentioned  in  the
624              current  entry  of the El Torito boot catalog. It will be marked
625              as suitable for PC-BIOS.
626              With boot images from ISOLINUX and GRUB this  option  should  be
627              accompanied  by options -c , -no-emul-boot , -boot-load-size 4 ,
628              -boot-info-table.
629
630       -eltorito-boot iso_rr_path
631              Alias of -b.
632
633       -eltorito-alt-boot
634              Finalize the current El Torito boot catalog entry  and  begin  a
635              new  one.  A boot image file and all its necessary options shall
636              be specified before option -eltorito-alt-boot.  All  further  El
637              Torito  boot  options  apply  to the new catalog entry. Up to 32
638              catalog entries are possible.
639
640       -e iso_rr_path
641              Specify the boot image file which  shall  be  mentioned  in  the
642              current  entry  of the El Torito boot catalog. It will be marked
643              as suitable for EFI.
644              Normally no other El Torito options  should  be  used  with  the
645              catalog  entry  that  points  to  an EFI image.  Consider to use
646              --efi-boot rather than -e.
647
648       --efi-boot iso_rr_path
649              Perform   -eltorito-alt-boot,   option   -e   with   the   given
650              iso_rr_path,  and again -eltorito-alt-boot. This gesture is used
651              for achieving EFI-bootability of the GRUB2 rescue CD.
652
653       -boot-load-size number
654              Set the number of 512-byte blocks for boot images which  emulate
655              a  floppy  or a hard disk. A safe default for non-emulating boot
656              images is 4.
657
658       -hard-disk-boot
659              Mark the boot image in the current  catalog  entry  as  emulated
660              hard disk.  (Not suitable for any known boot loader.)
661
662       -no-emul-boot
663              Mark  the  boot  image  in  the  current  catalog  entry  as not
664              emulating floppy or hard disk. (This is  to  be  used  with  all
665              known boot loaders.)
666              If  neither -hard-disk-boot nor -no-emul-boot is given, then the
667              boot image will be marked as emulating a floppy.  (Not  suitable
668              for any known boot loader.)
669
670       -boot-info-table
671              Overwrite   certain   bytes  in  the  current  boot  image.  The
672              information will be supplied by xorriso in the course  of  image
673              production:  Block  address  of  the  Primary Volume Descriptor,
674              block address of the boot image file, size  of  the  boot  image
675              file.
676
677       -c iso_rr_path
678              Set  the  address  of the El Torito boot catalog file within the
679              image.  This file address is not  significant  for  the  booting
680              PC-BIOS  or  EFI,  but it may later be read by other programs in
681              order to learn about the available boot images.
682
683       -eltorito-catalog iso_rr_path
684              Alias of -c.
685
686       --boot-catalog-hide
687              Prevent the El Torito boot catalog from appearing as file in the
688              directory trees of the image.
689
690       System Area, MBR, other boot blocks:
691
692       The  first  16  blocks  of  an  ISO  image  are the System Area.  It is
693       reserved for system dependent boot software. This may be  the  CD  boot
694       facilities  of  exotic  hardware  architectures  or it may be a MBR for
695       booting via PC-BIOS from USB stick or hard disk.
696       A MBR (Master Boot Record) contains boot code and  a  partition  table.
697       It does not hamper El Torito booting from CDROM.
698       xorrisofs  supports boot facilities other than PC-BIOS: MIPS Big Endian
699       (SGI), MIPS Little Endian (DEC), SUN SPARC.   Those  are  mutually  not
700       combinable and also not combinable with MBR.
701
702       -G disk_path
703              Copy  at  most  32768 bytes from the given disk file to the very
704              start of the ISO image.
705              Other than a El Torito boot image, the file disk_path needs  not
706              to be added to the ISO image. It will not show up as file in the
707              directory trees.
708
709       -generic-boot disk_path
710              Alias of -G.
711
712       --embedded-boot disk_path
713              Alias of -G.
714
715       -isohybrid-mbr disk_path
716              Install disk_path as ISOLINUX isohybrid MBR which makes the boot
717              image given by option -b bootable from USB sticks and hard disks
718              via PC-BIOS.  This preparation  is  normally  done  by  ISOLINUX
719              program isohybrid on the already produced ISO image.
720              The  disk  path  should  lead  to  one  of  the  Syslinux  files
721              isohdp[fp]x*.bin .  The MBR gets patched according to  isohybrid
722              needs. The first partition describes the range of the ISO image.
723              Its start is at block 0 by default, but may be set  to  64  disk
724              blocks by option -partition_offset 16.
725
726       --protective-msdos-label
727              Patch  the  System Area by a simple PC-DOS partition table where
728              partition 1 claims the range of the ISO  image  but  leaves  the
729              first block unclaimed.
730
731       -partition_offset 2kb_block_adr
732              Cause  a  partition table with a single partition that begins at
733              the given block address. This is counted in  2048  byte  blocks,
734              not in 512 byte blocks. If the block address is non-zero then it
735              must be at least 16. Values larger than 16 are hardly of use.  A
736              non-zero partition offset causes two superblocks to be generated
737              and two sets of directory trees. The  image  is  then  mountable
738              from its absolute start as well as from the partition start.
739              The  offset  value  of  an  ISO  image gets preserved when a new
740              session is added to a loaded image.  So the value  defined  here
741              is only in effect if a new ISO image gets written.
742
743       -partition_hd_cyl number
744              Set the number of heads per cylinder for the partition table.  0
745              chooses a default value. Maximum is 255.
746
747       -partition_sec_hd number
748              Set the number of sectors per head for the partition  table.   0
749              chooses a default value. Maximum is 63.
750              The  product  partition_sec_hd  *  partition_hd_cyl * 512 is the
751              cylinder size.  It should be divisible by 2048 in order to allow
752              exact  alignment.  If it is too small to describe the image size
753              by  at  most  1024  cylinders,  then   appropriate   values   of
754              partition_hd_cyl  are  chosen with partition_sec_hd 32 or 63. If
755              the image is larger than 8,422,686,720 bytes, then the  cylinder
756              size  constraints  cannot  be  fulfilled.  They  seem not overly
757              important anyway. Flat block addresses in partition  tables  are
758              good for 1 TiB.
759
760       -partition_cyl_align mode
761              Control  image size alignment to an integer number of cylinders.
762              It is prescribed by isohybrid  specs  and  it  seems  to  please
763              program fdisk.  Cylinder size must be divisible by 2048.  Images
764              larger than 8,323,596,288 bytes cannot be aligned.
765              Mode "auto" is default. Alignment by  padding  happens  only  if
766              option -isohybrid-mbr is given.
767              Mode    "on"   causes   alignment   by   padding   with   option
768              --protective-msdos-label too.   Mode  "off"  disables  alignment
769              unconditionally.
770
771       -append_partition partition_number type_code disk_path
772              Cause  a  prepared  filesystem  image  to be appended to the ISO
773              image and to be described by a partition table entry in  a  boot
774              block  at  the  start  of  the emerging ISO image. The partition
775              entry will bear the size of the submitted file rounded up to the
776              next multiple of 2048 bytes.
777              Beware  of subsequent multi-session runs. The appended partition
778              will get overwritten.
779              partition_number may be 1 to 4. Number 1 will put the whole  ISO
780              image  into  the unclaimed space before partition 1. So together
781              with most xorriso MBR features,  number  2  would  be  the  most
782              natural choice.
783              The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal
784              number between 0x00 and 0xff. Not all those numbers  will  yield
785              usable  results.  For  a  list  of codes search the Internet for
786              "Partition Types" or run fdisk command "L".
787
788       -mips-boot iso_rr_path
789              Declare a data file in the image to be a MIPS  Big  Endian  boot
790              file  and  cause  production of a MIPS Big Endian Volume Header.
791              This is mutually exclusive with production of other boot  blocks
792              like  MBR.   It  will  overwrite the first 512 bytes of any data
793              provided by -G.  Up to 15 boot files can be declared by multiple
794              -mips-boot options.
795
796       -mipsel-boot iso_rr_path
797              Declare  a  data  file in the image to be the MIPS Little Endian
798              boot file. This is mutually exclusive with  other  boot  blocks.
799              It  will  overwrite  the first 512 bytes of any data provided by
800              -G.  Only a single boot file can be declared by -mipsel-boot.
801
802       -B disk_path[,disk_path ...]
803              Cause one or more data files on disk to be written after the end
804              of  the  ISO  image.  A  SUN Disk Label will be written into the
805              first 512 bytes of the ISO  image  which  lists  this  image  as
806              partition 1 and the given disk_paths as partition 2 up to 8.
807              The disk files should contain suitable boot images for SUN SPARC
808              systems.
809              The pseudo disk_path  "..."  causes  that  all  empty  partition
810              entries  become  copies of the last non-empty entry. If no other
811              disk_path is given before "..." then all partitions describe the
812              ISO image. In this case, the boot loader code has to be imported
813              by option -G.
814
815       -sparc-boot disk_path[,disk_path ...]
816              Alias of -B.
817
818       -sparc-label text
819              Set the ASCII label text of a SUN Disk Label.
820
821       Character sets:
822
823       Character sets should not matter as long as only  english  alphanumeric
824       characters  are  used  for  file  names  or  as long as all writers and
825       readers of the medium  use  the  same  character  set.   Outside  these
826       constraints it may be necessary to let xorriso convert byte codes.
827       A  conversion  from  input character set to the output character set is
828       performed when an ISO image  gets  written.   Vice  versa  there  is  a
829       conversion from output character set to the input character set when an
830       ISO  image  gets  loaded.   The  sets  can  be   defined   by   options
831       -input-charset and -output-charset, if needed.
832
833       -input-charset character_set_name
834              Set the character set from which to convert disk file names when
835              inserting them into the ISO image.
836
837       -output-charset character_set_name
838              Set the character set from which to convert  names of loaded ISO
839              images and to which to convert names when writing ISO images.
840
841       Jigdo Template Extraction:
842
843       From  man  genisoimage: "Jigdo is a tool to help in the distribution of
844       large files like CD and DVD images; see  http://atterer.net/jigdo/  for
845       more details. Debian CDs and DVD ISO images are published on the web in
846       jigdo format to allow end users to download them more efficiently."
847       If the use of libjte was enabled  at  compile  time  of  xorriso,  then
848       xorrisofs  can  produce  a  .jigdo and a .template file together with a
849       single-session ISO image. If not,  then  Jigdo  options  will  cause  a
850       FAILURE event, which normally leads to program abort.
851       One may determine the ability for Jigdo by:
852         $ xorrisofs -version 2>&1 | grep '^libjte' && echo YES
853
854       The  .jigdo  file  contains checksums and symbolic file addresses.  The
855       .template file contains the compressed ISO image  with  reference  tags
856       instead of the content bytes of the listed files.
857       Input for this process are the normal arguments for a xorrisofs session
858       with no image loaded, and a .md5 file  which  lists  those  data  files
859       which may be listed in the .jigdo file and externally referenced in the
860       .template file.  Each designated file is represented in the  .md5  file
861       by a single text line:
862       MD5  as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2
863       blanks, symbolic file address
864       The file address in an .md5 line has to bear the same basename  as  the
865       disk_path  of  the file which it shall match. The directory path of the
866       file address is decisive for To=From mapping, not for file recognition.
867       After  To=From  mapping,  the file address gets written into the .jigdo
868       file. Jigdo restore tools will  convert  these  addresses  into  really
869       reachable data source addresses from which they can read.
870       If  the  list  of  jigdo  parameters is not empty, then padding will be
871       counted as part of the ISO image.
872
873       -jigdo-jigdo disk_path
874              Set the disk_path for the .jigdo file  with  the  checksums  and
875              download addresses for filling the holes in .template.
876
877       -jigdo-template disk_path
878              Set  the  disk_path  for  the  .template file with the holed and
879              compressed ISO image copy.
880
881       -jigdo-min-file-size size
882              Set the minimum size for a data file to be listed in the  .jigdo
883              file  and  being  a  hole  in the .template file.  size may be a
884              plain number counting bytes, or a number  with  appended  letter
885              "k",  "m", "g" to count KiB (1024 bytes), MiB (1024 KiB), or GiB
886              (1024 MiB).
887
888       -jigdo-force-md5 disk_path_pattern
889              adds a regular expression pattern which will get  compared  with
890              the  absolute  disk_path  of any data file that was not found in
891              the .md5 list. A match causes a  MISHAP  event,  which  normally
892              does  not  abort  the  program run but finally causes a non-zero
893              exit value of the program.
894
895       -jigdo-exclude disk_path_pattern
896              Add a regular expression pattern which will  get  compared  with
897              the absolute disk_path of any data file. A match causes the file
898              to stay in .template in any case.
899
900       -jigdo-map To=From
901              Add a string pair of the form To=From to the parameter list.  If
902              a  data file gets listed in the .jigdo file, then it is referred
903              by the file address from its line in the .md5  file.  This  file
904              address  gets checked whether it begins with the From string. If
905              so, then this string will be replaced by the To string and a ':'
906              character,  before it goes into the .jigdo file. The From string
907              should end by a '/' character.
908
909       -md5-list disk_path
910              Set the disk_path where to find the .md5 input file.
911
912       -jigdo-template-compress "gzip"|"bzip2"
913              Choose one of "bzip2" or  "gzip"  for  the  compression  of  the
914              template file. The jigdo file is put out uncompressed.
915
916       -checksum_algorithm_iso list_of_names
917              Choose  one or more of "md5", "sha1", "sha256", "sha512" for the
918              auxiliary "# Image  Hex"  checksums  in  the  .jigdo  file.  The
919              list_of_names  may e.g. look like "md5,sha1,sha512". Value "all"
920              chooses all available algorithms.  Note that  MD5  stays  always
921              enabled.
922
923       -checksum_algorithm_template list_of_names
924              Choose  the algorithms for the "# Template Hex" checksums in the
925              .jigdo file.  The rules for list_of_names are the same  as  with
926              -checksum_algorithm_iso.
927
928       Miscellaneous options:
929
930       -print-size
931              Print  to  stdandard  output the foreseeable number of 2048 byte
932              blocks in the emerging ISO image. Do not produce this image.
933              The result depends on several settings.
934              If option --emul-toc  is given, then padding (see -pad)  is  not
935              counted  as  part  of  the  image  size. In this case either use
936              -no-pad or add 150 (= 300 KiB) to the resulting number.
937
938       --no_rc
939              Only if used as first argument this option prevents reading  and
940              interpretation of startup files. See section FILES below.
941
942       -help
943              List  supported options to stderr. Original mkisofs options bear
944              their original mkisofs description texts.
945
946       -quiet
947              Suppress most messages of the program run,  except  those  which
948              indicate problems or errors.
949
950       -v
951              Enable the output of informational program messages.
952
953       -verbose
954              Alias of -v.
955
956       -version
957              Print to standard output a text that begins with
958               "mkisofs 2.01-Emulation Copyright (C)"
959              and to standard error the version information of xorriso.
960

EXAMPLES

962   Overview of examples:
963       A simple image production run
964       Set ISO image paths by -graft-points
965       Perform multi-session runs
966       Let xorrisofs work underneath growisofs
967       Incremental backup of a few directory trees
968       Incremental backup with accumulated trees
969       Create bootable images for PC-BIOS
970
971   A simple image production run
972       A  prepared  file tree in directory ./for_iso gets copied into the root
973       directory of the ISO image. File permissions get set to  read-only  for
974       everybody.   Joliet  attributes  for  Microsoft systems get added.  The
975       resulting image gets written as data file ./image.iso on disk.
976         $ xorrisofs -r -J -o ./image.iso ./for_iso
977
978   Set ISO image paths by -graft-points
979       Without option -graft-points each given disk file is  copied  into  the
980       root  directory  of the ISO image, maintaining its name. If a directory
981       is given, then its files and sub-directories are copied into  the  root
982       directory, maintaining their names.
983         $ xorrisofs ... /home/me/datafile /tmp/directory
984       yields in the ISO image root directory:
985         /datafile
986         /file_1_from_directory
987         ...
988         /file_N_from_directory
989
990       With  option  -graft-points it is possible to put files and directories
991       to arbitrary paths in the ISO image.
992         $ xorrisofs ... -graft-points /home/me/datafile /dir=/tmp/directory
993       yields in the ISO image root directory:
994         /datafile
995         /dir
996       Eventually needed parent directories  in  the  image  will  be  created
997       automatically:
998         /datafiles/file1=/home/me/datafile
999       yields in the ISO image:
1000         /datafiles/file1
1001       The  attributes  of  directory  /datafiles  get copied from /home/me on
1002       disk.
1003
1004       Normally one should avoid = and \ characters  in  the  ISO  part  of  a
1005       pathspec.  But if it must be, one may escape them:
1006         /with_\=_and_\\/file=/tmp/directory/file
1007       yields in the ISO image:
1008         /with_=_and_\/file
1009
1010   Perform multi-session runs
1011       This  example  works  for  multi-session media only: CD-R[W], DVD-R[W],
1012       DVD+R, BD-R.  Add cdrskin option --grow_overwriteable_iso  to  all  -as
1013       cdrecord   runs   in   order   to  enable  multi-session  emulation  on
1014       overwriteable media.
1015       The first session is written like this:
1016         $ xorrisofs -graft-points \
1017                     /tree1=prepared_for_iso/tree1 \
1018           | xorriso -as cdrecord -v dev=/dev/sr0 blank=fast -multi -eject -
1019       Follow-up sessions are written like this:
1020         $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
1021         $ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
1022         $ xorrisofs -M /dev/sr0 -C $m -graft-points \
1023                     /tree2=prepared_for_iso/tree2 \
1024           | xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject -
1025       Always eject the drive tray between sessions. The old sessions get read
1026       via  /dev/sr0.  Its  device  driver  might  not be aware of the changed
1027       content before it loads the medium again.  In this  case  the  previous
1028       session  would not be loaded and the new session would contain only the
1029       newly added files.
1030       For the same reason do not let xorriso -as cdrecord  load  the  medium,
1031       but rather do this manually or by a program that reads from /dev/sr0.
1032
1033   Let xorrisofs work underneath growisofs
1034       growisofs expects an ISO formatter program which understands options -C
1035       and -M. A variable is defined to override the hardcoded default name.
1036         $ export MKISOFS="xorrisofs"
1037         $ growisofs -Z /dev/dvd /some/files
1038         $ growisofs -M /dev/dvd /more/files
1039       If no "xorrisofs" is available on your system, then you  will  have  to
1040       create  a link pointing to the xorriso binary and tell growisofs to use
1041       it. E.g. by:
1042         $ ln -s $(which xorriso) "$HOME/xorrisofs"
1043         $ export MKISOFS="$HOME/xorrisofs"
1044       One may quit mkisofs emulation by argument "--" and  make  use  of  all
1045       xorriso  commands. growisofs dislikes options which start with "-o" but
1046       -outdev must be set to "-".  So use "outdev" instead:
1047         $ growisofs -Z /dev/dvd --for_backup -- \
1048                     outdev - -update_r /my/files /files
1049         $ growisofs -M /dev/dvd --for_backup -- \
1050                     outdev - -update_r /my/files /files
1051       Note that --for_backup is given in the mkisofs emulation.  To  preserve
1052       the  recorded  extra  data  it  must  already  be  in  effect, when the
1053       emulation loads the image.
1054
1055   Incremental backup of a few directory trees
1056       This   changes   the   directory   trees    /open_source_project    and
1057       /personal_mail  in  the  ISO  image so that they become exact copies of
1058       their disk counterparts.  ISO file objects get created, deleted or  get
1059       their attributes adjusted accordingly.
1060       ACL,  xattr,  hard  links  and  MD5  checksums will be recorded.  It is
1061       expected that inode numbers in the disk filesystem are persistent  over
1062       cycles of mounting and booting.  Files with names matching *.o or *.swp
1063       get excluded explicitly.
1064
1065       To be used several times on the same medium, whenever an update of  the
1066       two  disk trees to the medium is desired. Begin with a blank medium and
1067       update it until he run fails gracefully due to lack of remaining  space
1068       on the old one.
1069       Do  not  let  xorriso  -as cdrecord load the medium, but rather do this
1070       manually or by a program that reads from /dev/sr0.
1071         $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
1072         $ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
1073         $ load_opts=
1074         $ test -n "$msinfo" && load_opts="-M /dev/sr0 -C $msinfo"
1075         $ xorrisofs $load_opts -o - --for_backup -m '*.o' -m '*.swp' \
1076           -V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \
1077           -old-root / \
1078           /projects=/home/thomas/projects \
1079           /personal_mail=/home/thomas/personal_mail \
1080           | xorriso -as cdrecord dev=/dev/sr0 -v -multi -waiti -eject -
1081
1082       This makes sense  if  the  full  backup  leaves  substantial  remaining
1083       capacity on media and if the expected changes are much smaller than the
1084       full backup.
1085
1086       Better do not use your youngest backup for -old-root.   Have  at  least
1087       two  media  which  you  use  alternatingly.  So  only older backups get
1088       endangered by the new write  operation,  while  the  newest  backup  is
1089       stored safely on a different medium.
1090       Always  have  a blank medium ready to perform a full backup in case the
1091       update attempt fails  due  to  insufficient  remaining  capacity.  This
1092       failure will not spoil the old medium, of course.
1093
1094       If   inode  numbers  on  disk  are  not  persistent,  then  use  option
1095       --old-root-no-ino .  In this case an update run will  compare  recorded
1096       MD5 sums against the current file content on hard disk.
1097
1098       With mount option -o "sbsector=" on GNU/Linux resp. -s on FreeBSD it is
1099       possible to access the session trees which represent the  older  backup
1100       versions.  With  CD  media,  GNU/Linux  mount  accepts  session numbers
1101       directly by its option "session=".
1102       Multi-session media and most overwriteable media written by xorriso can
1103       tell the sbsectors of their sessions by xorriso option -toc:
1104         $ xorriso -dev /dev/sr0 -toc
1105       xorriso can print the matching mount command for a session number:
1106         $ xorriso -mount_cmd /dev/sr0 session 12 /mnt
1107       or for a volume id that matches a search expression:
1108         $ xorriso -mount_cmd /dev/sr0 volid '*2008_12_05*' /mnt
1109       Both yield on standard output something like:
1110         mount    -t    iso9660   -o   nodev,noexec,nosuid,ro,sbsector=1460256
1111       '/dev/sr0' '/mnt'
1112       The superuser may let xorriso execute the mount command directly:
1113         # osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
1114
1115   Incremental backup with accumulated trees
1116       Solaris does not offer the option to mount older sessions.  In order to
1117       keep  them  accessible,  one  may  map all files to a file tree under a
1118       session directory and accumulate  those  directories  from  session  to
1119       session.   The  -root  tree is cloned from the -old-root tree before it
1120       gets compared with the appropriate trees on disk.
1121       This demands to know the previously used session directory name.
1122       With the first session:
1123         $ xorrisofs -root /session1 \
1124           -o - --for_backup -m '*.o' -m '*.swp' \
1125           -V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \
1126           /projects=/home/thomas/projects \
1127           /personal_mail=/home/thomas/personal_mail \
1128           | xorriso -as cdrecord dev=/dev/sr0 -v blank=as_needed \
1129                     -multi -waiti -eject -
1130
1131       With the second session, option -old-root refers to /session1  and  the
1132       new -root is /session2.
1133       Do  not  let  xorriso  -as cdrecord load the medium, but rather do this
1134       manually or by a program that reads from /dev/sr0.
1135         $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
1136         $ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
1137         $ load_opts=
1138         $ test -n "$msinfo" && load_opts="-M /dev/sr0 -C $msinfo"
1139         $ xorrisofs $load_opts -root /session2 -old-root /session1 \
1140           -o - --for_backup -m '*.o' -m '*.swp' \
1141           -V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \
1142           /projects=/home/thomas/projects \
1143           /personal_mail=/home/thomas/personal_mail \
1144           | xorriso -as cdrecord dev=/dev/sr0 -v -multi -waiti -eject -
1145       With the third session, option -old-root refers to /session2.  The  new
1146       -root is /session3. And so on.
1147
1148   Create bootable images for PC-BIOS
1149       The  ISOLINUX  wiki  prescribes to create on disk a directory ./CD_root
1150       and to copy all desired files  underneath  that  directory.  Especially
1151       file  isolinux.bin shall be copied to ./CD_root/isolinux/isolinux.bin .
1152       This is the boot image file.
1153       The prescribed mkisofs options can be used unchanged with xorrisofs:
1154         $ xorrisofs -o output.iso \
1155             -b isolinux/isolinux.bin -c isolinux/boot.cat \
1156             -no-emul-boot -boot-load-size 4 -boot-info-table \
1157             ./CD_root
1158       Put it on CD by a burn program. E.g.:
1159         $ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed output.iso
1160
1161       The image from above example will boot from CD, DVD or BD, but not from
1162       USB  stick or other hard-disk-like devices. This can be done by help of
1163       an  isohybrid  MBR.  Syslinux  provides  matching  template  files   as
1164       isohdp[fp]x*.bin . E.g. /usr/lib/syslinux/isohdpfx.bin .
1165       If   a   few   hundred   KB   of   size  do  not  matter,  then  option
1166       -partition_offset can  be  used  to  create  a  partition  table  where
1167       partition 1 starts not at block 0. This facilitates later manipulations
1168       of the USB stick by tools for partitioning and formatting.
1169       The image from the following example will be prepared for  booting  via
1170       MBR and its first parttion will start at hard disk block 64.
1171       It will also boot from optical media.
1172         $ xorrisofs -o output.iso \
1173             -b isolinux/isolinux.bin -c isolinux/boot.cat \
1174             -no-emul-boot -boot-load-size 4 -boot-info-table \
1175             -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \
1176             -partition_offset 16 \
1177             ./CD_root
1178       Become  superuser  and  copy the image to the unpartitioned base device
1179       file of the  USB  stick.  On  GNU/Linux  this  is  e.g.  /dev/sdb,  not
1180       /dev/sdb1.
1181       CAUTION: This will overwrite any partitioning on the USB stick and make
1182       remaining data unaccessible.
1183       So first make sure you got the correct address of the intended  device.
1184       E.g. by reading 100 MiB data from it and watching it blinking:
1185         # dd bs=2K if=/dev/sdb count=50K >/dev/null
1186       Now copy the image onto it
1187         # dd bs=2K if=output.iso of=/dev/sdb
1188

FILES

1190   Startup files:
1191       If  not  --no_rc is given as the first argument then xorrisofs attempts
1192       on startup to read and execute lines from the following files:
1193          /etc/default/xorriso
1194          /etc/opt/xorriso/rc
1195          /etc/xorriso/xorriso.conf
1196          $HOME/.xorrisorc
1197       The files are read in the sequence given here,  but  none  of  them  is
1198       required  to  exist. The lines are not interpreted as xorrisofs options
1199       but as generic xorriso commands. See man xorriso.
1200
1201       After the xorriso startup files, the program tries one by one  to  open
1202       for reading:
1203          ./.mkisofsrc
1204          $MKISOFSRC
1205          $HOME/.mkisofsrc
1206          $(dirname $0)/.mkisofsrc
1207       On  success  it  interprets  the  file content and does not try further
1208       files.  The last address is  used  only  if  start  argument  0  has  a
1209       non-trivial dirname.
1210       The reader currently interprets the following NAME=VALUE pairs:
1211        APPI default for -A
1212        PUBL default for -publisher
1213        SYSI default for -sysid
1214        VOLI default for -V
1215        VOLS default for -volset
1216       Any other lines will be silently ignored.
1217

SEE ALSO

1219       For generic xorriso command mode
1220              xorriso(1)
1221
1222       For the cdrecord emulation of xorriso
1223              xorrecord(1)
1224
1225       For mounting xorriso generated ISO 9660 images (-t iso9660)
1226              mount(8)
1227
1228       Other programs which produce ISO 9660 images
1229              mkisofs(8), genisoimage(8)
1230
1231       Programs which burn sessions to optical media
1232              growisofs(1), cdrecord(1), wodim(1), cdrskin(1), xorriso(1)
1233
1234       ACL and xattr
1235              getfacl(1), setfacl(1), getfattr(1), setfattr(1)
1236
1237       MD5 checksums
1238              md5sum(1)
1239
1240       On FreeBSD the commands for xattr and MD5 differ
1241              getextattr(8), setextattr(8), md5(1)
1242

BUGS

1244       To  report  bugs,  request  help,  or suggest enhancements for xorriso,
1245       please send electronic mail to the public  list  <bug-xorriso@gnu.org>.
1246       If more privacy is desired, mail to <scdbackup@gmx.net>.
1247       Please  describe  what  you expect xorriso to do, the program arguments
1248       resp. commands by which you  tried  to  achieve  it,  the  messages  of
1249       xorriso, and the undesirable outcome of your program run.
1250       Expect to get asked more questions before solutions can be proposed.
1251

AUTHOR

1253       Thomas Schmitt <scdbackup@gmx.net>
1254       for libburnia-project.org
1255
1257       Copyright (c) 2011 Thomas Schmitt
1258       Permission  is granted to distribute this text freely. It shall only be
1259       modified in sync with the technical properties of xorriso. If you  make
1260       use  of the license to derive modified versions of xorriso then you are
1261       entitled to modify this text under that same license.
1262

CREDITS

1264       xorrisofs is in part based on  work  by  Vreixo  Formoso  who  provides
1265       libisofs together with Mario Danic who also leads the libburnia team.
1266       Compliments  towards  Joerg  Schilling whose cdrtools served me for ten
1267       years.
1268
1269
1270
1271                          Version 1.1.8, Nov 20, 2011             XORRISOFS(1)
Impressum