"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "xorriso/xorrisofs.info" between
libisoburn-1.5.0.tar.gz and libisoburn-1.5.2.tar.gz

About: libisoburn is a frontend for the libraries libburn and libisofs which enables creation and expansion of ISO-9660 filesystems on all media and file types supported by libburn. It implements the API and command interpreter of program xorriso, and installs this program as small dynamically linked binary. xorriso is suitable for incremental data backup and for production of bootable ISO 9660 images. A statically linked version is available as GNU xorriso.

Binary file (standard input) matches
Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)
xorrisofs.info  (libisoburn-1.5.0):xorrisofs.info  (libisoburn-1.5.2)
This is xorrisofs.info, produced by makeinfo version 5.2 from This is xorrisofs.info, produced by makeinfo version 5.2 from
xorrisofs.texi. xorrisofs.texi.
xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso
Copyright (C) 2011 - 2017 Thomas Schmitt Copyright (C) 2011 - 2019 Thomas Schmitt
Permission is granted to distrubute this text freely. Permission is granted to distribute this text freely.
INFO-DIR-SECTION Archiving INFO-DIR-SECTION Archiving
START-INFO-DIR-ENTRY START-INFO-DIR-ENTRY
* Xorrisofs: (xorrisofs). Emulates ISO 9660 program mkisofs * Xorrisofs: (xorrisofs). Emulates ISO 9660 program mkisofs
END-INFO-DIR-ENTRY END-INFO-DIR-ENTRY
 
File: xorrisofs.info, Node: Top, Next: Overview, Up: (dir) File: xorrisofs.info, Node: Top, Next: Overview, Up: (dir)
xorrisofs 1.5.0 xorrisofs 1.5.2
*************** ***************
xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso xorrisofs - Emulation of ISO 9660 program mkisofs by program xorriso
* Menu: * Menu:
* Overview:: Overview * Overview:: Overview
* Standards:: ISO 9660, Rock Ridge, Joliet * Standards:: ISO 9660, Rock Ridge, Joliet
* Insert:: Inserting files into the ISO image * Insert:: Inserting files into the ISO image
* Xorriso:: Relation to program xorriso * Xorriso:: Relation to program xorriso
* Options:: Options * Options:: Options
skipping to change at line 208 skipping to change at line 208
Alias of -M. Alias of -M.
-C last_session_start,next_writeable_address -C last_session_start,next_writeable_address
Set the 2 KiB block address last_session_start from where to read Set the 2 KiB block address last_session_start from where to read
the ISO image out of the file given by option -M. the ISO image out of the file given by option -M.
Separated by a comma, set the next_writeable_address to which the Separated by a comma, set the next_writeable_address to which the
add-on session will finally be written. Decisive is actually the add-on session will finally be written. Decisive is actually the
block address which the intended readers will have to use as block address which the intended readers will have to use as
superblock address on the intended medium. superblock address on the intended medium.
Both values can be inquired from optical media by help of burn Both values can be inquired from optical media by help of burn
programs and cdrecord option -msinfo. xorriso itself can obtain it programs and cdrecord option -msinfo. xorriso itself can obtain it
in its cdrecord emulation. Do not let it load the drive, but in its cdrecord emulation.
rather do this manually or by a program like dd which reads a few
bytes. Only then it is sure that the device driver knows the true
readable size of the medium.
dd if=/dev/... count=1 >/dev/null 2>&1
values=$(xorriso -as cdrecord dev=/dev/... -msinfo) values=$(xorriso -as cdrecord dev=/dev/... -msinfo)
echo $values echo $values
Option -C may be used without option -M to create an ISO image from Option -C may be used without option -M to create an ISO image from
scratch and prepare it for being finally written to a block address scratch and prepare it for being finally written to a block address
other than 0. Parameter last_session_start must then be set to 0. other than 0. Parameter last_session_start must then be set to 0.
-cdrecord-params last_session_start,next_writeable_address -cdrecord-params last_session_start,next_writeable_address
Alias of -C. Alias of -C.
 
skipping to change at line 613 skipping to change at line 608
--xattr --xattr
Enable recording and loading of GNU/Linux or FreeBSD extended Enable recording and loading of GNU/Linux or FreeBSD extended
attributes in user namespace (see man getfattr and man attr, man attributes in user namespace (see man getfattr and man attr, man
getextattr and man 9 extattr, respectively). They will not be in getextattr and man 9 extattr, respectively). They will not be in
effect with mounted ISO images. But xorriso can restore them on effect with mounted ISO images. But xorriso can restore them on
the same systems when extracting files from the ISO image. the same systems when extracting files from the ISO image.
--xattr-any --xattr-any
Enable recording and loading of GNU/Linux or FreeBSD extended Enable recording and loading of GNU/Linux or FreeBSD extended
attributes in all namespaces. This might need adminstrator attributes in all namespaces. This might need administrator
privileges, even if the owner of the disk file tries to read the privileges, even if the owner of the disk file tries to read the
attributes. attributes.
--md5 --md5
Enable recording of MD5 checksums for the overall ISO image and for Enable recording of MD5 checksums for the overall ISO image and for
each single data file in the image. xorriso can check the content each single data file in the image. xorriso can check the content
of an ISO image with these sums and raise alert on mismatch. See of an ISO image with these sums and raise alert on mismatch. See
man xorriso, options -check_media, check_md5_r. xorriso can print man xorriso, options -check_media, check_md5_r. xorriso can print
recorded MD5 checksums. E.g. by: recorded MD5 checksums. E.g. by:
-find / -exec get_md5 -find / -exec get_md5
skipping to change at line 1089 skipping to change at line 1084
The ISOLINUX isohybrid MBR file must begin by a known pattern of 32 The ISOLINUX isohybrid MBR file must begin by a known pattern of 32
bytes of x86 machine code which essentially does nothing. It will bytes of x86 machine code which essentially does nothing. It will
get overwritten by 32 bytes of APM header mock-up. get overwritten by 32 bytes of APM header mock-up.
-part_like_isohybrid -part_like_isohybrid
Control whether -isohybrid-gpt-basdat, -isohybrid-gpt-hfsplus, and Control whether -isohybrid-gpt-basdat, -isohybrid-gpt-hfsplus, and
-isohybrid-apm-hfsplus apply even if not -isohybrid-mbr is present. -isohybrid-apm-hfsplus apply even if not -isohybrid-mbr is present.
No MBR partition of type 0xee emerges, even if GPT gets produced. No MBR partition of type 0xee emerges, even if GPT gets produced.
Gaps between GPT and APM partitions will not be filled by more Gaps between GPT and APM partitions will not be filled by more
partitions. Appended partitions get mentioned in APM if other APM partitions. Appended partitions get mentioned in APM if other APM
partitions emerge. partitions emerge.
-iso_mbr_part_type "default"|number -iso_mbr_part_type "default"|number|type_guid
Set the partition type of the MBR partition which represents the Set the partition type of the MBR or GPT partition which represents
ISO or at least protects it. Number may be 0x00 to 0xff. The text the ISO or at least protects it.
"default" re-enables the default types of the various occasions to Number may be 0x00 to 0xff. The text "default" re-enables the
create an ISO MBR partition. default types of the various occasions to create an ISO MBR
This is without effect if no such partition emerges by other partition. This is without effect if no such partition emerges by
settings or if the partition type is prescribed mandatorily like other settings or if the partition type is prescribed mandatorily
0xee for GPT protective MBR or 0x96 for CHRP. like 0xee for GPT protective MBR or 0x96 for CHRP.
If instead a type_guid is given by a 32-digit hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or by a structured text like
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7, then it will be used as
partition type if the ISO filesystem appears as partition in GPT.
In MBR, C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be mapped to
0xef. Any other GUID will be mapped to 0x83.
--protective-msdos-label --protective-msdos-label
Patch the System Area by a simple PC-DOS partition table where Patch the System Area by a simple PC-DOS partition table where
partition 1 claims the range of the ISO image but leaves the first partition 1 claims the range of the ISO image but leaves the first
block unclaimed. block unclaimed.
--mbr-force-bootable --mbr-force-bootable
Enforce an MBR partition with "bootable/active" flag if options Enforce an MBR partition with "bootable/active" flag if options
like --protective-msdos-label or --grub2-mbr are given. These like --protective-msdos-label or --grub2-mbr are given. These
options normally cause the flag to be set if there is an MBR options normally cause the flag to be set if there is an MBR
partition of type other than 0xee or 0xef. If no such partition partition of type other than 0xee or 0xef. If no such partition
exists, then no bootflag is set, unless --mbr-force-bootable forces exists, then no bootflag is set, unless --mbr-force-bootable forces
skipping to change at line 1166 skipping to change at line 1167
2048 bytes or to the next multiple of the cylinder size. 2048 bytes or to the next multiple of the cylinder size.
Beware of subsequent multi-session runs. The appended partition Beware of subsequent multi-session runs. The appended partition
will get overwritten. will get overwritten.
partition_number may be 1 to 4. Number 1 will put the whole ISO partition_number may be 1 to 4. Number 1 will put the whole ISO
image into the unclaimed space before partition 1. So together image into the unclaimed space before partition 1. So together
with most xorriso MBR or GPT features, number 2 would be the most with most xorriso MBR or GPT features, number 2 would be the most
natural choice. natural choice.
The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal
number between 0x00 and 0xff. Not all those numbers will yield number between 0x00 and 0xff. Not all those numbers will yield
usable results. For a list of codes search the Internet for usable results. For a list of codes search the Internet for
"Partition Types" or run fdisk command "L". This code matters only "Partition Types" or run fdisk command "L". If the partition
with MBR, not with GPT. appears in GPT then type_code 0xef is mapped to the EFI System
Partition Type GUID. All others get mapped to Basic Data Type GUID.
type_code may also be a type GUID as plain hex string like
a2a0d0ebe5b9334487c068b6b72699c7 or as structured text like
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7. It will be used if the
partition is mentioned in GPT. In MBR,
C12A7328-F81F-11D2-BA4B-00A0C93EC93B will be mapped to 0xef. Any
other GUID will be mapped to 0x83.
If some other command causes the production of GPT, then the If some other command causes the production of GPT, then the
appended partitions will be mentioned there too, even if not appended partitions will be mentioned there too, even if not
-appended_part_as_gpt is given. -appended_part_as_gpt is given.
-appended_part_as_gpt -appended_part_as_gpt
Marks partitions from -append_partition in GPT rather than in MBR. Marks partitions from -append_partition in GPT rather than in MBR.
In this case the MBR shows a single partition of type 0xee which In this case the MBR shows a single partition of type 0xee which
covers the whole output data. covers the whole output data.
By default, appended partitions get marked in GPT only if GPT is By default, appended partitions get marked in GPT only if GPT is
produced because of other options. produced because of other options.
-appended_part_as_apm -appended_part_as_apm
skipping to change at line 1525 skipping to change at line 1534
This example works for multi-session media only: CD-R[W], DVD-R[W], This example works for multi-session media only: CD-R[W], DVD-R[W],
DVD+R, BD-R. Add cdrskin option --grow_overwriteable_iso to all -as DVD+R, BD-R. Add cdrskin option --grow_overwriteable_iso to all -as
cdrecord runs in order to enable multi-session emulation on cdrecord runs in order to enable multi-session emulation on
overwriteable media. overwriteable media.
The first session is written like this: The first session is written like this:
$ xorrisofs -graft-points \ $ xorrisofs -graft-points \
/tree1=prepared_for_iso/tree1 \ /tree1=prepared_for_iso/tree1 \
| xorriso -as cdrecord -v dev=/dev/sr0 blank=fast -multi -eject - | xorriso -as cdrecord -v dev=/dev/sr0 blank=fast -multi -eject -
Follow-up sessions are written like this: Follow-up sessions are written like this (the run of dd is only to
give demons a chance to spoil it):
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1 $ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ m=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo) $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ xorrisofs -M /dev/sr0 -C $m -graft-points \ $ xorrisofs -M /dev/sr0 -C $m -graft-points \
/tree2=prepared_for_iso/tree2 \ /tree2=prepared_for_iso/tree2 \
| xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject - | xorriso -as cdrecord -v dev=/dev/sr0 -waiti -multi -eject -
Always eject the drive tray between sessions. The old sessions get Always eject the drive tray between sessions.
read via /dev/sr0. Its device driver might not be aware of the changed The run of xorriso -as mkisofs will read old sessions via the CD-ROM
content before it loads the medium again. In this case the previous driver of /dev/sr0. This driver might not be aware of the changed
session would not be loaded and the new session would contain only the content as long as the medium is not loaded again. In this case the
newly added files. previous session would not be properly assessed by xorriso and the new
For the same reason do not let xorriso -as cdrecord load the medium, but session would contain only the newly added files.
rather do this manually or by a program that reads from /dev/sr0. Some systems have not enough patience with automatic tray loading and
some demons may interfere with a first CD-ROM driver read attempt from a
freshly loaded medium.
When loading the tray manually, wait 10 seconds after the drive has
stopped blinking.
A safe automatic way seems to be a separate run of xorriso for loading
the tray with proper waiting, and a subsequent run of dd which shall
offer itself to any problems caused by demons assessing the changed
drive status. If this does not help, insert a run of "sleep 10" between
xorriso and dd.
 
File: xorrisofs.info, Node: ExGrowisofs, Next: ExIncBackup, Prev: ExMkisofs, Up: Examples File: xorrisofs.info, Node: ExGrowisofs, Next: ExIncBackup, Prev: ExMkisofs, Up: Examples
6.4 Let xorriso work underneath growisofs 6.4 Let xorriso work underneath growisofs
========================================= =========================================
growisofs expects an ISO formatter program which understands options -C growisofs expects an ISO formatter program which understands options -C
and -M. A variable is defined to override the hardcoded default name. and -M. A variable is defined to override the hardcoded default name.
skipping to change at line 1592 skipping to change at line 1611
attributes adjusted accordingly. attributes adjusted accordingly.
ACL, xattr, hard links and MD5 checksums will be recorded. It is ACL, xattr, hard links and MD5 checksums will be recorded. It is
expected that inode numbers in the disk filesystem are persistent over expected that inode numbers in the disk filesystem are persistent over
cycles of mounting and booting. Files with names matching *.o or *.swp cycles of mounting and booting. Files with names matching *.o or *.swp
get excluded explicitly. get excluded explicitly.
To be used several times on the same medium, whenever an update of To be used several times on the same medium, whenever an update of
the two disk trees to the medium is desired. Begin with a blank medium the two disk trees to the medium is desired. Begin with a blank medium
and update it until he run fails gracefully due to lack of remaining and update it until he run fails gracefully due to lack of remaining
space on the old one. space on the old one.
Do not let xorriso -as cdrecord load the medium, but rather do this Always eject the drive tray between sessions. A run of dd shall give
manually or by a program that reads from /dev/sr0. demons a chance to spoil the first read on freshly loaded media.
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1 $ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo) $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ load_opts= $ load_opts=
$ test -n "$msinfo" && load_opts="-M /dev/sr0 -C $msinfo" $ test -n "$msinfo" && load_opts="-M /dev/sr0 -C $msinfo"
$ xorrisofs $load_opts -o - --for_backup -m '*.o' -m '*.swp' \ $ xorrisofs $load_opts -o - --for_backup -m '*.o' -m '*.swp' \
-V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \ -V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \
-old-root / \ -old-root / \
/projects=/home/thomas/projects \ /projects=/home/thomas/projects \
/personal_mail=/home/thomas/personal_mail \ /personal_mail=/home/thomas/personal_mail \
| xorriso -as cdrecord dev=/dev/sr0 -v -multi -waiti -eject - | xorriso -as cdrecord dev=/dev/sr0 -v -multi -waiti -eject -
This makes sense if the full backup leaves substantial remaining This makes sense if the full backup leaves substantial remaining
skipping to change at line 1671 skipping to change at line 1690
$ xorrisofs -root /session1 \ $ xorrisofs -root /session1 \
-o - --for_backup -m '*.o' -m '*.swp' \ -o - --for_backup -m '*.o' -m '*.swp' \
-V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \ -V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \
/projects=/home/thomas/projects \ /projects=/home/thomas/projects \
/personal_mail=/home/thomas/personal_mail \ /personal_mail=/home/thomas/personal_mail \
| xorriso -as cdrecord dev=/dev/sr0 -v blank=as_needed \ | xorriso -as cdrecord dev=/dev/sr0 -v blank=as_needed \
-multi -waiti -eject - -multi -waiti -eject -
With the second session, option -old-root refers to /session1 and the With the second session, option -old-root refers to /session1 and the
new -root is /session2. new -root is /session2.
Do not let xorriso -as cdrecord load the medium, but rather do this Always eject the drive tray between sessions. A run of dd shall give
manually or by a program that reads from /dev/sr0. demons a chance to spoil the first read on freshly loaded media.
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1 $ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo)
$ msinfo=$(xorriso -as cdrecord dev=/dev/sr0 -msinfo) $ dd if=/dev/sr0 count=1 >/dev/null 2>&1
$ load_opts= $ load_opts=
$ test -n "$msinfo" && load_opts="-M /dev/sr0 -C $msinfo" $ test -n "$msinfo" && load_opts="-M /dev/sr0 -C $msinfo"
$ xorrisofs $load_opts -root /session2 -old-root /session1 \ $ xorrisofs $load_opts -root /session2 -old-root /session1 \
-o - --for_backup -m '*.o' -m '*.swp' \ -o - --for_backup -m '*.o' -m '*.swp' \
-V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \ -V PROJ_MAIL_"$(date '+%Y_%m_%d_%H%M%S')" -graft-points \
/projects=/home/thomas/projects \ /projects=/home/thomas/projects \
/personal_mail=/home/thomas/personal_mail \ /personal_mail=/home/thomas/personal_mail \
| xorriso -as cdrecord dev=/dev/sr0 -v -multi -waiti -eject - | xorriso -as cdrecord dev=/dev/sr0 -v -multi -waiti -eject -
With the third session, option -old-root refers to /session2. The With the third session, option -old-root refers to /session2. The
skipping to change at line 1838 skipping to change at line 1857
********* *********
The following environment variables influence the program behavior: The following environment variables influence the program behavior:
HOME is used to find xorriso and mkisofs startup files. HOME is used to find xorriso and mkisofs startup files.
MKISOFSRC may be used to point the program to a mkisofs startup file. MKISOFSRC may be used to point the program to a mkisofs startup file.
SOURCE_DATE_EPOCH belongs to the specs of reproducible-builds.org. It SOURCE_DATE_EPOCH belongs to the specs of reproducible-builds.org. It
is supposed to be either undefined or to contain a decimal number which is supposed to be either undefined or to contain a decimal number which
tells the seconds since january 1st 1970. If it contains a number, then tells the seconds since january 1st 1970. If it contains a number, then
it is used as time value to set the default of --modification-date=. it is used as time value to set the default of --modification-date=.
--gpt_disk_guid defaults to "modification-date". The default of --gpt_disk_guid defaults to "modification-date". The default of
--set_all_file_dates is then "set_to_mtime". Further the "now" time for
ISO nodes without disk source is then set to the SOURCE_DATE_EPOCH
value.
Startup files and program options can override the effect of Startup files and program options can override the effect of
SOURCE_DATE_EPOCH. SOURCE_DATE_EPOCH.