"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "xorriso/xorrisofs.1" between
xorriso-1.4.6.tar.gz and xorriso-1.4.8.tar.gz

About: GNU xorriso creates, loads, manipulates and writes ISO 9660 filesystem images with Rock Ridge extensions. It is suitable for incremental data backup and for production of bootable ISO 9660 images. GNU xorriso is a statical compilation of the libraries libburn, libisofs, libisoburn, and libjte.

xorrisofs.1  (xorriso-1.4.6):xorrisofs.1  (xorriso-1.4.8)
skipping to change at line 665 skipping to change at line 665
The precondition for a bootable ISO image is to have in the ISO image the files of a boot loader. The The precondition for a bootable ISO image is to have in the ISO image the files of a boot loader. The
boot facilities of computers get directed to such files, which usually execute further program files boot facilities of computers get directed to such files, which usually execute further program files
from the ISO image. xorrisofs can produce several kinds of boot block or boot record, which become from the ISO image. xorrisofs can produce several kinds of boot block or boot record, which become
part of the ISO image, and get interpreted by the according boot facility . part of the ISO image, and get interpreted by the according boot facility .
An El Torito boot record points the bootstrapping facility to a boot catalog with one or more boot An El Torito boot record points the bootstrapping facility to a boot catalog with one or more boot
images, which are binary program files stored in the ISO image. The cont ent of the boot image files is images, which are binary program files stored in the ISO image. The cont ent of the boot image files is
not in the scope of El Torito. not in the scope of El Torito.
xorriso composes the boot catalog according to the boot image files given and structured by options -b, xorriso composes the boot catalog according to the boot image files given and structured by options -b,
-e, -el-torito-alt-boot, and --efi-boot. Often it contains only one entry . -e, -eltorito-alt-boot, and --efi-boot. Often it contains only one entry.
Normally the boot images are data files inside the ISO fil esystem. By special path Normally the boot images are data files inside the ISO fil esystem. By special path
"--interval:appended_partition_NNN:all::" it is possible to refer to an appended partition. The number "--interval:appended_partition_NNN:all::" it is possible to refer to an appended partition. The number
NNN gives the partition number as used with the corresponding option -app end_partition. E.g.: NNN gives the partition number as used with the corresponding option -app end_partition. E.g.:
-append_partition 2 0xef /tmp/efi.img -append_partition 2 0xef /tmp/efi.img
-e --interval:appended_partition_2:all:: -e --interval:appended_partition_2:all::
El Torito gets interpreted by boot facilities PC-BIOS and EFI. Most bootable GNU/Linux CDs are El Torito gets interpreted by boot facilities PC-BIOS and EFI. Most bootable GNU/Linux CDs are
equipped with ISOLINUX or GRUB boot images for PC-BIOS. equipped with ISOLINUX or GRUB boot images for PC-BIOS.
xorrisofs supports the example options out of the ISOLINUX wiki, t he options used in GRUB script xorrisofs supports the example options out of the ISOLINUX wiki, t he options used in GRUB script
grub-mkrescue, and the example in the FreeBSD AvgLiveCD wiki. grub-mkrescue, and the example in the FreeBSD AvgLiveCD wiki.
skipping to change at line 703 skipping to change at line 703
-e iso_rr_path -e iso_rr_path
Specify the boot image file which shall be mentioned in the curre nt entry of the El Torito boot Specify the boot image file which shall be mentioned in the curre nt entry of the El Torito boot
catalog. It will be marked as suitable for EFI. catalog. It will be marked as suitable for EFI.
Option -e should be followed by option -no-emul-boot and no other El Torito options before an Option -e should be followed by option -no-emul-boot and no other El Torito options before an
eventual -eltorito-alt-boot. eventual -eltorito-alt-boot.
--efi-boot iso_rr_path --efi-boot iso_rr_path
Perform -eltorito-alt-boot, option -e with the given iso_rr_ path, -no-emul-boot, and again Perform -eltorito-alt-boot, option -e with the given iso_rr_ path, -no-emul-boot, and again
-eltorito-alt-boot. This gesture is used for achieving EFI-bootabi lity of the GRUB2 rescue CD. -eltorito-alt-boot. This gesture is used for achieving EFI-bootabi lity of the GRUB2 rescue CD.
-boot-load-size number -eltorito-platform "x86"|"PPC"|"Mac"|"efi"|0xnn|nnn
Set the number of 512-byte blocks to be loaded at boot time from t Set the Platform Id number for the next option -b or -eltorito-boo
he boot image in the current t. The number may be chosen
catalog entry. Non-emulating BIOS bootimages usually need a lo by a platform name or by a number between 0 and 255 (0x00 and 0x
ad size of 4. EFI boot images FF). "x86" = 0 is for PC-BIOS,
usually get set the number of blocks occupied by the boot image fi "PPC" = 1 for some PowerPC systems, "Mac" = 2 for some MacIntosh s
le. ystems, "efi" = 0xEF for EFI
on modern PCs with x86 compatible CPUs or others.
If the new platform id differs from the previous one, -eltorito-al
t-boot gets performed.
-boot-load-size number|"full"
Set the number of 512-byte blocks to be loaded at boot time from
the boot image in the current
catalog entry.
Non-emulating BIOS bootimages usually need a load size of 4. Neve
rtheless the default setting
of mkisofs is to use the full size of the boot image rounded
up to a multiple of 4 512-byte
blocks. This default may be explicitely enforced by the word "full
" instead of a number.
EFI boot images usually get set the number of blocks occupied by t
he boot image file.
El Torito cannot represent load sizes higher than 65535. El Torito cannot represent load sizes higher than 65535.
-hard-disk-boot -hard-disk-boot
Mark the boot image in the current catalog entry as emulated hard disk. (Not suitable for any Mark the boot image in the current catalog entry as emulated hard disk. (Not suitable for any
known boot loader.) known boot loader.)
-no-emul-boot -no-emul-boot
Mark the boot image in the current catalog entry as not emulating floppy or hard disk. (This is Mark the boot image in the current catalog entry as not emulating floppy or hard disk. (This is
to be used with all known boot loaders.) to be used with all known boot loaders.)
If neither -hard-disk-boot nor -no-emul-boot is given, then the bo ot image will be marked as If neither -hard-disk-boot nor -no-emul-boot is given, then the bo ot image will be marked as
skipping to change at line 854 skipping to change at line 864
system area as -hfsplus. It cannot be combined with -efi-boot-part or -hfsplus. system area as -hfsplus. It cannot be combined with -efi-boot-part or -hfsplus.
The ISOLINUX isohybrid MBR file must begin by a known pattern of 3 2 bytes of x86 machine code The ISOLINUX isohybrid MBR file must begin by a known pattern of 3 2 bytes of x86 machine code
which essentially does nothing. It will get overwritten by 32 byte s of APM header mock-up. which essentially does nothing. It will get overwritten by 32 byte s of APM header mock-up.
-part_like_isohybrid -part_like_isohybrid
Control whether -isohybrid-gpt-basdat, -isohybrid-gpt-hfsplus, an d -isohybrid-apm-hfsplus apply Control whether -isohybrid-gpt-basdat, -isohybrid-gpt-hfsplus, an d -isohybrid-apm-hfsplus apply
even if not -isohybrid-mbr is present. No MBR partition of type 0 xee emerges, even if GPT gets even if not -isohybrid-mbr is present. No MBR partition of type 0 xee emerges, even if GPT gets
produced. Gaps between GPT and APM partitions will not be filled by more partitions. Appended produced. Gaps between GPT and APM partitions will not be filled by more partitions. Appended
partitions get mentioned in APM if other APM partitions emerge. partitions get mentioned in APM if other APM partitions emerge.
-iso_mbr_part_type "default"|number
Set the partition type of the MBR partition which represents the I
SO or at least protects it.
Number may be 0x00 to 0xff. The text "default" re-enables th
e default types of the various
occasions to create an ISO MBR partition.
This is without effect if no such partition emerges by other setti
ngs or if the partition type
is prescribed mandatorily like 0xee for GPT protective MBR or 0x96
for CHRP.
--protective-msdos-label --protective-msdos-label
Patch the System Area by a simple PC-DOS partition table where par tition 1 claims the range of Patch the System Area by a simple PC-DOS partition table where p artition 1 claims the range of
the ISO image but leaves the first block unclaimed. the ISO image but leaves the first block unclaimed.
--mbr-force-bootable --mbr-force-bootable
Enforce an MBR partition with "bootable/active" flag if options li ke --protective-msdos-label or Enforce an MBR partition with "bootable/active" flag if options li ke --protective-msdos-label or
--grub2-mbr are given. These options normally cause the flag to b --grub2-mbr are given. These options normally cause the fla
e set if there is an MBR g to be set if there is an MBR
partition of type other than 0xee or 0xef. If no such partiti partition of type other than 0xee or 0xef. If no such partition e
on exists, then no bootflag is xists, then no bootflag is
set, unless --mbr-force-bootable forces creation of a dummy partit set, unless --mbr-force-bootable forces creation of a dummy parti
ion of type 0x00 which covers tion of type 0x00 which covers
only the first block of the ISO image. only the first block of the ISO image.
If no bootable MBR is indicated by other options and a
partition gets created by
-append_partition, then --mbr-force-bootable causes a bootfla
g like it would do with e.g.
--protective-msdos-label.
-partition_offset 2kb_block_adr -partition_offset 2kb_block_adr
Cause a partition table with a single partition that begins at th Cause a partition table with a single partition that begins at the
e given block address. This is given block address. This is
counted in 2048 byte blocks, not in 512 byte blocks. If the block counted in 2048 byte blocks, not in 512 byte blocks. If the blo
address is non-zero then it ck address is non-zero then it
must be at least 16. Values larger than 16 are hardly of use must be at least 16. Values larger than 16 are hardly of use.
. A non-zero partition offset A non-zero partition offset
causes two superblocks to be generated and two sets of directory causes two superblocks to be generated and two sets of dire
trees. The image is then ctory trees. The image is then
mountable from its absolute start as well as from the partition st art. mountable from its absolute start as well as from the partition st art.
The offset value of an ISO image gets preserved when a new sessi on is added to a loaded image. The offset value of an ISO image gets preserved when a new session is added to a loaded image.
So the value defined here is only in effect if a new ISO image get s written. So the value defined here is only in effect if a new ISO image get s written.
-partition_hd_cyl number -partition_hd_cyl number
Set the number of heads per cylinder for the MBR partition table. 0 chooses a default value. Set the number of heads per cylinder for the MBR partition tabl e. 0 chooses a default value.
Maximum is 255. Maximum is 255.
-partition_sec_hd number -partition_sec_hd number
Set the number of sectors per head for the MBR partition tabl e. 0 chooses a default value. Set the number of sectors per head for the MBR partition table. 0 chooses a default value.
Maximum is 63. Maximum is 63.
The product partition_sec_hd * partition_hd_cyl * 512 is the cy The product partition_sec_hd * partition_hd_cyl * 512 is th
linder size. It should be e cylinder size. It should be
divisible by 2048 in order to make exact alignment possible. divisible by 2048 in order to make exact alignment possible. W
With appended partitions and ith appended partitions and
-appended_part_as_gpt there is no limit for the number of cylinder -appended_part_as_gpt there is no limit for the number of cylind
s. Else there may be at most ers. Else there may be at most
1024 of them. If the cylinder size is too small to stay bel 1024 of them. If the cylinder size is too small to stay below
ow the limit, then appropriate the limit, then appropriate
values of partition_hd_cyl are chosen with partition_sec_hd 32 or values of partition_hd_cyl are chosen with partition_sec_hd 32
63. If the image is larger or 63. If the image is larger
than 8,422,686,720 bytes, then the cylinder size constraints cann than 8,422,686,720 bytes, then the cylinder size constraints canno
ot be fulfilled for MBR. They t be fulfilled for MBR. They
seem not overly important anyway. Flat block addresses in partiti on tables are good for 1 TiB. seem not overly important anyway. Flat block addresses in partiti on tables are good for 1 TiB.
-partition_cyl_align mode -partition_cyl_align mode
Control image size alignment to an integer number of cylinders. I Control image size alignment to an integer number of cylinders.
t is prescribed by isohybrid It is prescribed by isohybrid
specs and it seems to please program fdisk. Cylinder size must specs and it seems to please program fdisk. Cylinder size must be
be divisible by 2048. Images divisible by 2048. Images
larger than 8,323,596,288 bytes cannot be aligned in MBR partition table. larger than 8,323,596,288 bytes cannot be aligned in MBR partition table.
Mode "auto" is default. Alignment by padding happens only if optio n -isohybrid-mbr is given. Mode "auto" is default. Alignment by padding happens only if optio n -isohybrid-mbr is given.
Mode "on" causes alignment by padding with option --protective-msd os-label too. Mode "all" is Mode "on" causes alignment by padding with option --protective-m sdos-label too. Mode "all" is
like "on" but also pads up partitions from -append_partition to an aligned size. like "on" but also pads up partitions from -append_partition to an aligned size.
Mode "off" disables alignment unconditionally. Mode "off" disables alignment unconditionally.
-append_partition partition_number type_code disk_path -append_partition partition_number type_code disk_path
Cause a prepared filesystem image to be appended to the ISO Cause a prepared filesystem image to be appended to the ISO image
image and to be described by a and to be described by a
partition table entry in a boot block at the start of the emergin partition table entry in a boot block at the start of the eme
g ISO image. The partition rging ISO image. The partition
entry will bear the size of the submitted file rounded up to the entry will bear the size of the submitted file rounded up to the n
next multiple of 2048 bytes or ext multiple of 2048 bytes or
to the next multiple of the cylinder size. to the next multiple of the cylinder size.
Beware of subsequent multi-session runs. The appended partition wi ll get overwritten. Beware of subsequent multi-session runs. The appended partition wi ll get overwritten.
partition_number may be 1 to 4. Number 1 will put the whole ISO im partition_number may be 1 to 4. Number 1 will put the whole ISO
age into the unclaimed space image into the unclaimed space
before partition 1. So together with most xorriso MBR or GPT f before partition 1. So together with most xorriso MBR or GPT featu
eatures, number 2 would be the res, number 2 would be the
most natural choice. most natural choice.
The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal n The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal
umber between 0x00 and 0xff. number between 0x00 and 0xff.
Not all those numbers will yield usable results. For a list of Not all those numbers will yield usable results. For a list of cod
codes search the Internet for es search the Internet for
"Partition Types" or run fdisk command "L". This code matters onl y with MBR, not with GPT. "Partition Types" or run fdisk command "L". This code matters onl y with MBR, not with GPT.
If some other command causes the production of GPT, then the appended partitions will be If some other command causes the production of GPT, then t he appended partitions will be
mentioned there too, even if not -appended_part_as_gpt is given. mentioned there too, even if not -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. In this case the MBR shows a Marks partitions from -append_partition in GPT rather than in MBR. In this case the MBR shows a
single partition of type 0xee which covers the whole output data. single partition of type 0xee which covers the whole output data.
By default, appended partitions get marked in GPT only if GPT is produced because of other By default, appended partitions get marked in GPT only if GP T is produced because of other
options. options.
-appended_part_as_apm -appended_part_as_apm
Marks partitions from -append_partition in Apple Partition Map, to o. Marks partitions from -append_partition in Apple Partition Map, to o.
By default, appended partitions get marked in APM only if AP M is produced because of other By default, appended partitions get marked in APM only if APM is produced because of other
options and -part_like_isohybrid is enabled. options and -part_like_isohybrid is enabled.
-efi-boot-part disk_path -efi-boot-part disk_path
Copy a file from disk into the emerging ISO image and mark it by Copy a file from disk into the emerging ISO image and mark i
a GPT entry as EFI System t by a GPT entry as EFI System
Partition. EFI boot firmware is supposed to use a FAT filesystem Partition. EFI boot firmware is supposed to use a FAT filesystem i
image in such a partition for mage in such a partition for
booting from USB stick or hard disk. booting from USB stick or hard disk.
Instead of a disk_path, the word --efi-boot-image may be given. I t exposes in GPT the content Instead of a disk_path, the word --efi-boot-image may be given. It exposes in GPT the content
of the first El Torito EFI boot image as EFI system partition. EFI boot images are introduced by of the first El Torito EFI boot image as EFI system partition. EFI boot images are introduced by
options -e or --efi-boot. The affected EFI boot image cannot show up in HFS+ because it is options -e or --efi-boot. The affected EFI boot image cannot show up in HFS+ because it is
stored outside the HFS+ partition. stored outside the HFS+ partition.
--gpt_disk_guid value --gpt_disk_guid value
Control whether an emerging GPT shall get a randomly generated di Control whether an emerging GPT shall get a randomly generated dis
sk GUID or whether the GUID is k GUID or whether the GUID is
supplied by the user. Value "random" is default. Value "modifi supplied by the user. Value "random" is default. Value "mod
cation-date" produces a low ification-date" produces a low
quality GUID from the value set by option --modification-date=. quality GUID from the value set by option --modification-date=.
A string of 32 hex digits, or a RFC 4122 compliant GUID string ma A string of 32 hex digits, or a RFC 4122 compliant GUID string may
y be used to set the disk GUID be used to set the disk GUID
directly. UEFI prescribes the first three components of a R directly. UEFI prescribes the first three components of a
FC 4122 GUID string to be RFC 4122 GUID string to be
byte-swapped in the binary representation: byte-swapped in the binary representation:
E.g. --gpt_disk_guid 2303cd2a-73c7-424a-a298-25632da7f446 equals --gpt_disk_guid E.g. --gpt_disk_guid 2303cd2a-73c7-424a-a298-25632da7f446 equals --gpt_disk_guid
2acd0323c7734a42a29825632da7f446 2acd0323c7734a42a29825632da7f446
The partition GUIDs get generated by minimally varying the disk GU ID. The partition GUIDs get generated by minimally varying the disk GU ID.
-chrp-boot-part -chrp-boot-part
Mark the block range of the whole emerging ISO image as MBR partit Mark the block range of the whole emerging ISO image as MBR parti
ion of type 0x96. This is not tion of type 0x96. This is not
compatible with any other feature that produces MBR parti compatible with any other feature that produces MBR partit
tion entries. It makes GPT ion entries. It makes GPT
unrecognizable. unrecognizable.
CHRP is often used in conjunction with HFS. It is not yet test CHRP is often used in conjunction with HFS. It is not yet t
ed whether HFS+ filesystems ested whether HFS+ filesystems
produced with option -hfsplus would boot on any CHRP capable ma produced with option -hfsplus would boot on any CHRP capable machi
chine which does not boot pure ne which does not boot pure
ISO 9660 as well. ISO 9660 as well.
-chrp-boot -chrp-boot
Alias of -chrp-boot-part. Alias of -chrp-boot-part.
-prep-boot-part disk_path -prep-boot-part disk_path
Copy a file from disk into the emerging ISO image and mark it by a Copy a file from disk into the emerging ISO image and mark it by
MBR partition entry of type a MBR partition entry of type
0x41. PReP boot firmware is supposed to read the content 0x41. PReP boot firmware is supposed to read the content of t
of the partition as single ELF he partition as single ELF
executable file. This option is compatible with other MBR partiti ons and with GPT. executable file. This option is compatible with other MBR partiti ons and with GPT.
-mips-boot iso_rr_path -mips-boot iso_rr_path
Declare a data file in the image to be a MIPS Big Endian boot file Declare a data file in the image to be a MIPS Big Endian boot
and cause production of a file and cause production of a
MIPS Big Endian Volume Header. This is mutually exclusive with p MIPS Big Endian Volume Header. This is mutually exclusive with pro
roduction of other boot blocks duction of other boot blocks
like MBR. It will overwrite the first 512 bytes of any data provi like MBR. It will overwrite the first 512 bytes of any data
ded by -G. Up to 15 boot provided by -G. Up to 15 boot
files can be declared by multiple -mips-boot options. files can be declared by multiple -mips-boot options.
-mipsel-boot iso_rr_path -mipsel-boot iso_rr_path
Declare a data file in the image to be the MIPS Little Endi an boot file. This is mutually Declare a data file in the image to be the MIPS Little Endian b oot file. This is mutually
exclusive with other boot blocks. It will overwrite the first 512 bytes of any data provided by exclusive with other boot blocks. It will overwrite the first 512 bytes of any data provided by
-G. Only a single boot file can be declared by -mipsel-boot. -G. Only a single boot file can be declared by -mipsel-boot.
-B disk_path[,disk_path ...] -B disk_path[,disk_path ...]
Cause one or more data files on disk to be written after the en Cause one or more data files on disk to be written after the end o
d of the ISO image. A SUN Disk f the ISO image. A SUN Disk
Label will be written into the first 512 bytes of the ISO image Label will be written into the first 512 bytes of the ISO i
which lists this image as mage which lists this image as
partition 1 and the given disk_paths as partition 2 up to 8. partition 1 and the given disk_paths as partition 2 up to 8.
The disk files should contain suitable boot images for SUN SPARC s ystems. The disk files should contain suitable boot images for SUN SPARC s ystems.
The pseudo disk_path "..." causes that all empty partition ent The pseudo disk_path "..." causes that all empty partition entries
ries become copies of the last become copies of the last
non-empty entry. If no other disk_path is given before "..." then non-empty entry. If no other disk_path is given before "..." th
all partitions describe the en all partitions describe the
ISO image. In this case, the boot loader code has to be imported b y option -G. ISO image. In this case, the boot loader code has to be imported b y option -G.
-sparc-boot disk_path[,disk_path ...] -sparc-boot disk_path[,disk_path ...]
Alias of -B. Alias of -B.
-sparc-label text -sparc-label text
Set the ASCII label text of a SUN Disk Label. Set the ASCII label text of a SUN Disk Label.
--grub2-sparc-core iso_rr_path --grub2-sparc-core iso_rr_path
Cause the content address and size of the given data file in the Cause the content address and size of the given data file in the i
image to be written after the mage to be written after the
SUN Disk Label. Both numbers are counted in bytes. The address is SUN Disk Label. Both numbers are counted in bytes. The address i
written as 64 bit big-endian s written as 64 bit big-endian
number to byte 0x228. The size is written as 32 bit big-endian nu mber to byte 0x230. number to byte 0x228. The size is written as 32 bit big-endian nu mber to byte 0x230.
-hppa-cmdline text -hppa-cmdline text
Set the PALO command line for HP-PA. Up to 1023 characters are permitted by default. With Set the PALO command line for HP-PA. Up to 1023 characters are permitted by default. With
-hppa-hdrversion 4 the limit is 127. -hppa-hdrversion 4 the limit is 127.
Note that the first five -hppa options are mandatory, if any of th e -hppa options is given. Only Note that the first five -hppa options are mandatory, if any of th e -hppa options is given. Only
option -hppa-hdrversion is allowed to be missing. option -hppa-hdrversion is allowed to be missing.
-hppa-bootloader iso_rr_path -hppa-bootloader iso_rr_path
Designate the given path as HP-PA bootloader file. Designate the given path as HP-PA bootloader file.
-hppa-kernel-32 iso_rr_path -hppa-kernel-32 iso_rr_path
Designate the given path as HP-PA 32 bit kernel file. Designate the given path as HP-PA 32 bit kernel file.
-hppa-kernel-64 iso_rr_path -hppa-kernel-64 iso_rr_path
Designate the given path as HP-PA 64 bit kernel file. Designate the given path as HP-PA 64 bit kernel file.
-hppa-ramdisk iso_rr_path -hppa-ramdisk iso_rr_path
Designate the given path as HP-PA RAM disk file. Designate the given path as HP-PA RAM disk file.
-hppa-hdrversion number -hppa-hdrversion number
Choose between PALO header version 5 (default) and version 4. Fo r the appropriate value see in Choose between PALO header version 5 (default) and version 4. For the appropriate value see in
PALO source code: PALOHDRVERSION. PALO source code: PALOHDRVERSION.
-alpha-boot iso_rr_path -alpha-boot iso_rr_path
Declare a data file in the image to be the DEC Alpha SRM Secondary Declare a data file in the image to be the DEC Alpha SRM Second
Bootstrap Loader and cause ary Bootstrap Loader and cause
production of a boot sector which points to it. This is mutuall production of a boot sector which points to it. This is mutually
y exclusive with production of exclusive with production of
other boot blocks like MBR. other boot blocks like MBR.
Character sets: Character sets:
Character sets should not matter as long as only english alphanumeric ch Character sets should not matter as long as only english alphanumeri
aracters are used for file c characters are used for file
names or as long as all writers and readers of the medium use the same names or as long as all writers and readers of the medium use the same ch
character set. Outside these aracter set. Outside these
constraints it may be necessary to let xorriso convert byte codes. constraints it may be necessary to let xorriso convert byte codes.
A conversion from input character set to the output character set is perf ormed when an ISO image gets A conversion from input character set to the output character set is pe rformed when an ISO image gets
written. Vice versa there is a conversion from output character set to t he input character set when an written. Vice versa there is a conversion from output character set to t he input character set when an
ISO image gets loaded. The sets can be defined by options -input-char set and -output-charset, if ISO image gets loaded. The sets can be defined by options -input-c harset and -output-charset, if
needed. needed.
-input-charset character_set_name -input-charset character_set_name
Set the character set from which to convert disk file names wh en inserting them into the ISO Set the character set from which to convert disk file names when i nserting them into the ISO
image. image.
-output-charset character_set_name -output-charset character_set_name
Set the character set from which to convert names of loaded ISO i mages and to which to convert Set the character set from which to convert names of loaded ISO images and to which to convert
names when writing ISO images. names when writing ISO images.
Jigdo Template Extraction: Jigdo Template Extraction:
From man genisoimage: "Jigdo is a tool to help in the distribution From man genisoimage: "Jigdo is a tool to help in the distribution of la
of large files like CD and DVD rge files like CD and DVD
images; see http://atterer.net/jigdo/ for more details. Debian CDs and DV images; see http://atterer.net/jigdo/ for more details. Debian CDs and D
D ISO images are published on VD ISO images are published on
the web in jigdo format to allow end users to download them more efficien tly." the web in jigdo format to allow end users to download them more efficien tly."
If the use of libjte was enabled at compile time of xorriso, then xorris If the use of libjte was enabled at compile time of xorriso, then xorriso
ofs can produce a .jigdo and a fs can produce a .jigdo and a
.template file together with a single-session ISO image. If not, then .template file together with a single-session ISO image. If not, t
Jigdo options will cause a hen Jigdo options will cause a
FAILURE event, which normally leads to program abort. FAILURE event, which normally leads to program abort.
One may determine the ability for Jigdo by: One may determine the ability for Jigdo by:
$ xorrisofs -version 2>&1 | grep '^libjte' && echo YES $ xorrisofs -version 2>&1 | grep '^libjte' && echo YES
The .jigdo file contains checksums and symbolic file addresses. T he .template file contains the The .jigdo file contains checksums and symbolic file addresses. The .template file contains the
compressed ISO image with reference tags instead of the content bytes of the listed files. compressed ISO image with reference tags instead of the content bytes of the listed files.
Input for this process are the normal arguments for a xorrisofs session w ith no image loaded, and a Input for this process are the normal arguments for a xorrisofs sessi on with no image loaded, and a
.md5 file which lists those data files which may be listed in the .jigdo file and externally referenced .md5 file which lists those data files which may be listed in the .jigdo file and externally referenced
in the .template file. Each designated file is represented in the .md5 f ile by a single text line: in the .template file. Each designated file is represented in the .md5 f ile by a single text line:
MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 bl anks, symbolic file address MD5 as 32 hex digits, 2 blanks, size as 12 decimal digits or blanks, 2 bl anks, symbolic file address
The file address in an .md5 line has to bear the same basename as the dis The file address in an .md5 line has to bear the same basename as the
k_path of the file which it disk_path of the file which it
shall match. The directory path of the file address is decisive for shall match. The directory path of the file address is decisive for To=
To=From mapping, not for file From mapping, not for file
recognition. After To=From mapping, the file address gets written into t recognition. After To=From mapping, the file address gets written into
he .jigdo file. Jigdo restore the .jigdo file. Jigdo restore
tools will convert these addresses into really reachable data source tools will convert these addresses into really reachable data source add
addresses from which they can resses from which they can
read. read.
If the list of jigdo parameters is not empty, then padding will be counte d as part of the ISO image. If the list of jigdo parameters is not empty, then padding will be counte d as part of the ISO image.
-jigdo-jigdo disk_path -jigdo-jigdo disk_path
Set the disk_path for the .jigdo file with the checksums and downl oad addresses for filling the Set the disk_path for the .jigdo file with the checksums and down load addresses for filling the
holes in .template. holes in .template.
-jigdo-template disk_path -jigdo-template disk_path
Set the disk_path for the .template file with the holed and compre ssed ISO image copy. Set the disk_path for the .template file with the holed and compre ssed ISO image copy.
-jigdo-min-file-size size -jigdo-min-file-size size
Set the minimum size for a data file to be listed in the .jigd Set the minimum size for a data file to be listed in the .jigdo fi
o file and being a hole in the le and being a hole in the
.template file. size may be a plain number counting bytes, or a .template file. size may be a plain number counting bytes, or
number with appended letter a number with appended letter
"k", "m", "g" to count KiB (1024 bytes), MiB (1024 KiB), or GiB (1 024 MiB). "k", "m", "g" to count KiB (1024 bytes), MiB (1024 KiB), or GiB (1 024 MiB).
-jigdo-force-md5 disk_path_pattern -jigdo-force-md5 disk_path_pattern
adds a regular expression pattern which will get compared with adds a regular expression pattern which will get compared with the
the absolute disk_path of any absolute disk_path of any
data file that was not found in the .md5 list. A match causes a M data file that was not found in the .md5 list. A match causes
ISHAP event, which normally a MISHAP event, which normally
does not abort the program run but finally causes a non-zero exit value of the program. does not abort the program run but finally causes a non-zero exit value of the program.
-jigdo-exclude disk_path_pattern -jigdo-exclude disk_path_pattern
Add a regular expression pattern which will get compared with the absolute disk_path of any data Add a regular expression pattern which will get compared with the absolute disk_path of any data
file. A match causes the file to stay in .template in any case. file. A match causes the file to stay in .template in any case.
-jigdo-map To=From -jigdo-map To=From
Add a string pair of the form To=From to the parameter list. If a Add a string pair of the form To=From to the parameter list. If
data file gets listed in the a data file gets listed in the
.jigdo file, then it is referred by the file address from its li .jigdo file, then it is referred by the file address from its line
ne in the .md5 file. This file in the .md5 file. This file
address gets checked whether it begins with the From string. If so address gets checked whether it begins with the From string. I
, then this string will be f so, then this string will be
replaced by the To string and a ':' character, before it goes replaced by the To string and a ':' character, before it goes into
into the .jigdo file. The From the .jigdo file. The From
string should end by a '/' character. string should end by a '/' character.
-md5-list disk_path -md5-list disk_path
Set the disk_path where to find the .md5 input file. Set the disk_path where to find the .md5 input file.
-jigdo-template-compress "gzip"|"bzip2" -jigdo-template-compress "gzip"|"bzip2"
Choose one of "bzip2" or "gzip" for the compression of the templat e file. The jigdo file is put Choose one of "bzip2" or "gzip" for the compression of the templa te file. The jigdo file is put
out uncompressed. out uncompressed.
-checksum_algorithm_iso list_of_names -checksum_algorithm_iso list_of_names
Choose one or more of "md5", "sha1", "sha256", "sha512" f Choose one or more of "md5", "sha1", "sha256", "sha512" for t
or the auxiliary "# Image Hex" he auxiliary "# Image Hex"
checksums in the .jigdo file. The list_of_names may e.g. look l checksums in the .jigdo file. The list_of_names may e.g. look
ike "md5,sha1,sha512". Value like "md5,sha1,sha512". Value
"all" chooses all available algorithms. Note that MD5 stays alway s enabled. "all" chooses all available algorithms. Note that MD5 stays alway s enabled.
-checksum_algorithm_template list_of_names -checksum_algorithm_template list_of_names
Choose the algorithms for the "# Template Hex" checksums in t he .jigdo file. The rules for Choose the algorithms for the "# Template Hex" checksums in the . jigdo file. The rules for
list_of_names are the same as with -checksum_algorithm_iso. list_of_names are the same as with -checksum_algorithm_iso.
Miscellaneous options: Miscellaneous options:
-print-size -print-size
Print to stdandard output the foreseeable number of 2048 byte bloc ks in the emerging ISO image. Print to stdandard output the foreseeable number of 2048 byte blo cks in the emerging ISO image.
Do not produce this image. Do not produce this image.
The result depends on several settings. The result depends on several settings.
If option --emul-toc is given, then padding (see -pad) is no t counted as part of the image If option --emul-toc is given, then padding (see -pad) is not cou nted as part of the image
size. In this case either use -no-pad or add 150 (= 300 KiB) to th e resulting number. size. In this case either use -no-pad or add 150 (= 300 KiB) to th e resulting number.
If mkisofs emulation ends after option -print-size, then the prope rties of the most recently If mkisofs emulation ends after option -print-size, then the p roperties of the most recently
specified boot image file cannot be edited by subsequent xorriso c ommands. specified boot image file cannot be edited by subsequent xorriso c ommands.
--no_rc --no_rc
Only if used as first argument this option prevents reading and in terpretation of startup files. Only if used as first argument this option prevents reading and in terpretation of startup files.
See section FILES below. See section FILES below.
-help -help
List supported options to stderr. Original mkisofs options bear their original mkisofs List supported options to stderr. Original mkisofs options bear their original mkisofs
description texts. description texts.
-quiet -quiet
Suppress most messages of the program run, except those which indi cate problems or errors. Suppress most messages of the program run, except those which indi cate problems or errors.
-gui -gui
Increase the frequency of pacifier messages while writing an ISO i mage. Increase the frequency of pacifier messages while writing an ISO i mage.
-log-file disk_path -log-file disk_path
Truncate file disk_path to 0 size and redirect to it all messages which would normally appear on Truncate file disk_path to 0 size and redirect to it all messages which would normally appear on
skipping to change at line 1155 skipping to change at line 1175
Overview of examples: Overview of examples:
A simple image production run A simple image production run
Set ISO image paths by -graft-points Set ISO image paths by -graft-points
Perform multi-session runs Perform multi-session runs
Let xorrisofs work underneath growisofs Let xorrisofs work underneath growisofs
Incremental backup of a few directory trees Incremental backup of a few directory trees
Incremental backup with accumulated trees Incremental backup with accumulated trees
Create bootable images for PC-BIOS and EFI Create bootable images for PC-BIOS and EFI
A simple image production run A simple image production run
A prepared file tree in directory ./for_iso gets copied into the root dir A prepared file tree in directory ./for_iso gets copied into the root di
ectory of the ISO image. File rectory of the ISO image. File
permissions get set to read-only for everybody. Joliet attributes fo permissions get set to read-only for everybody. Joliet attributes for M
r Microsoft systems get added. icrosoft systems get added.
The resulting image gets written as data file ./image.iso on disk. The resulting image gets written as data file ./image.iso on disk.
$ xorrisofs -r -J -o ./image.iso ./for_iso $ xorrisofs -r -J -o ./image.iso ./for_iso
Set ISO image paths by -graft-points Set ISO image paths by -graft-points
Without option -graft-points each given disk file is copied into the root Without option -graft-points each given disk file is copied into the ro
directory of the ISO image, ot directory of the ISO image,
maintaining its name. If a directory is given, then its files and sub-d maintaining its name. If a directory is given, then its files and sub-dir
irectories are copied into the ectories are copied into the
root directory, maintaining their names. root directory, maintaining their names.
$ xorrisofs ... /home/me/datafile /tmp/directory $ xorrisofs ... /home/me/datafile /tmp/directory
yields in the ISO image root directory: yields in the ISO image root directory:
/datafile /datafile
/file_1_from_directory /file_1_from_directory
... ...
/file_N_from_directory /file_N_from_directory
With option -graft-points it is possible to put files and directories to arbitrary paths in the ISO With option -graft-points it is possible to put files and directories to arbitrary paths in the ISO
image. image.
$ xorrisofs ... -graft-points /home/me/datafile /dir=/tmp/directory $ xorrisofs ... -graft-points /home/me/datafile /dir=/tmp/directory
yields in the ISO image root directory: yields in the ISO image root directory:
/datafile /datafile
/dir /dir
Eventually needed parent directories in the image will be created automat ically: Eventually needed parent directories in the image will be created automat ically:
/datafiles/file1=/home/me/datafile /datafiles/file1=/home/me/datafile
yields in the ISO image: yields in the ISO image:
/datafiles/file1 /datafiles/file1
The attributes of directory /datafiles get copied from /home/me on disk. The attributes of directory /datafiles get copied from /home/me on disk.
Normally one should avoid = and \ characters in the ISO part of a pathspe c. But if it must be, one may Normally one should avoid = and \ characters in the ISO part of a pathspe c. But if it must be, one may
escape them: escape them:
/with_\=_and_\\/file=/tmp/directory/file /with_\=_and_\\/file=/tmp/directory/file
yields in the ISO image: yields in the ISO image:
/with_=_and_\/file /with_=_and_\/file
Perform multi-session runs Perform multi-session runs
This example works for multi-session media only: CD-R[W], DVD-R[W], DVD+R This example works for multi-session media only: CD-R[W], DVD-R[W], DV
, BD-R. Add cdrskin option D+R, BD-R. Add cdrskin option
--grow_overwriteable_iso to all -as cdrecord runs in order to ena --grow_overwriteable_iso to all -as cdrecord runs in order to enable
ble multi-session emulation on 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:
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1 $ 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)
$ 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 read v ia /dev/sr0. Its device driver Always eject the drive tray between sessions. The old sessions get read v ia /dev/sr0. Its device driver
might not be aware of the changed content before it loads the medium aga in. In this case the previous might not be aware of the changed content before it loads the medium agai n. In this case the previous
session would not be loaded and the new session would contain only the ne wly added files. session would not be loaded and the new session would contain only the ne wly added files.
For the same reason do not let xorriso -as cdrecord load the medium, but rather do this manually or by For the same reason do not let xorriso -as cdrecord load the medium, but rather do this manually or by
a program that reads from /dev/sr0. a program that reads from /dev/sr0.
Let xorrisofs work underneath growisofs Let xorrisofs work underneath growisofs
growisofs expects an ISO formatter program which understands options -C and -M. A variable is defined growisofs expects an ISO formatter program which understands options -C a nd -M. A variable is defined
to override the hardcoded default name. to override the hardcoded default name.
$ export MKISOFS="xorrisofs" $ export MKISOFS="xorrisofs"
$ growisofs -Z /dev/dvd /some/files $ growisofs -Z /dev/dvd /some/files
$ growisofs -M /dev/dvd /more/files $ growisofs -M /dev/dvd /more/files
If no "xorrisofs" is available on your system, then you will have to crea te a link pointing to the If no "xorrisofs" is available on your system, then you will have to create a link pointing to the
xorriso binary and tell growisofs to use it. E.g. by: xorriso binary and tell growisofs to use it. E.g. by:
$ ln -s $(which xorriso) "$HOME/xorrisofs" $ ln -s $(which xorriso) "$HOME/xorrisofs"
$ export MKISOFS="$HOME/xorrisofs" $ export MKISOFS="$HOME/xorrisofs"
One may quit mkisofs emulation by argument "--" and make use of a ll xorriso commands. growisofs One may quit mkisofs emulation by argument "--" and make use of all xorriso commands. growisofs
dislikes options which start with "-o" but -outdev must be set to "-". S o use "outdev" instead: dislikes options which start with "-o" but -outdev must be set to "-". S o use "outdev" instead:
$ growisofs -Z /dev/dvd --for_backup -- \ $ growisofs -Z /dev/dvd --for_backup -- \
outdev - -update_r /my/files /files outdev - -update_r /my/files /files
$ growisofs -M /dev/dvd --for_backup -- \ $ growisofs -M /dev/dvd --for_backup -- \
outdev - -update_r /my/files /files outdev - -update_r /my/files /files
Note that --for_backup is given in the mkisofs emulation. To preserve th e recorded extra data it must Note that --for_backup is given in the mkisofs emulation. To preserve t he recorded extra data it must
already be in effect, when the emulation loads the image. already be in effect, when the emulation loads the image.
Incremental backup of a few directory trees Incremental backup of a few directory trees
This changes the directory trees /open_source_project and /personal_mail This changes the directory trees /open_source_project and /personal_mail
in the ISO image so that they in the ISO image so that they
become exact copies of their disk counterparts. ISO file objects get cre become exact copies of their disk counterparts. ISO file objects get
ated, deleted or get their created, deleted or get their
attributes adjusted accordingly. attributes adjusted accordingly.
ACL, xattr, hard links and MD5 checksums will be recorded. It is expe ACL, xattr, hard links and MD5 checksums will be recorded. It is expecte
cted that inode numbers in the d that inode numbers in the
disk filesystem are persistent over cycles of mounting and booting. File disk filesystem are persistent over cycles of mounting and booting. Fi
s with names matching *.o or les with names matching *.o or
*.swp get excluded explicitly. *.swp get excluded explicitly.
To be used several times on the same medium, whenever an update of the t wo disk trees to the medium is To be used several times on the same medium, whenever an update of the tw o disk trees to the medium is
desired. Begin with a blank medium and update it until he run fails grace fully due to lack of remaining desired. Begin with a blank medium and update it until he run fails grace fully 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 manua lly or by a program that reads Do not let xorriso -as cdrecord load the medium, but rather do this manua lly or by a program that reads
from /dev/sr0. from /dev/sr0.
$ dd if=/dev/sr0 count=1 >/dev/null 2>&1 $ 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)
$ 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 capacity on media and if the expected This makes sense if the full backup leaves substantial remaining capacit y on media and if the expected
changes are much smaller than the full backup. changes are much smaller than the full backup.
Better do not use your youngest backup for -old-root. Have at least two media which you use Better do not use your youngest backup for -old-root. Have at leas t two media which you use
alternatingly. So only older backups get endangered by the new write oper ation, while the newest backup alternatingly. So only older backups get endangered by the new write oper ation, while the newest backup
is stored safely on a different medium. is stored safely on a different medium.
Always have a blank medium ready to perform a full backup in case t he update attempt fails due to Always have a blank medium ready to perform a full backup in case the u pdate attempt fails due to
insufficient remaining capacity. This failure will not spoil the old medi um, of course. insufficient remaining capacity. This failure will not spoil the old medi um, of course.
If inode numbers on disk are not persistent, then use option --old-root- no-ino . In this case an If inode numbers on disk are not persistent, then use option --old- root-no-ino . In this case an
update run will compare recorded MD5 sums against the current file conten t on hard disk. update run will compare recorded MD5 sums against the current file conten t on hard disk.
With mount option -o "sbsector=" on GNU/Linux or -s on FreeBSD or NetBS D it is possible to access the With mount option -o "sbsector=" on GNU/Linux or -s on FreeBSD or NetBSD it is possible to access the
session trees which represent the older backup versions. With CD media, G NU/Linux mount accepts session session trees which represent the older backup versions. With CD media, G NU/Linux mount accepts session
numbers directly by its option "session=". numbers directly by its option "session=".
Multi-session media and most overwriteable media written by xorriso c an tell the sbsectors of their Multi-session media and most overwriteable media written by xorriso can t ell the sbsectors of their
sessions by xorriso option -toc: sessions by xorriso option -toc:
$ xorriso -dev /dev/sr0 -toc $ xorriso -dev /dev/sr0 -toc
xorriso can print the matching mount command for a session number: xorriso can print the matching mount command for a session number:
$ xorriso -mount_cmd /dev/sr0 session 12 /mnt $ xorriso -mount_cmd /dev/sr0 session 12 /mnt
or for a volume id that matches a search expression: or for a volume id that matches a search expression:
$ xorriso -mount_cmd /dev/sr0 volid '*2008_12_05*' /mnt $ xorriso -mount_cmd /dev/sr0 volid '*2008_12_05*' /mnt
Both yield on standard output something like: Both yield on standard output something like:
mount -t iso9660 -o nodev,noexec,nosuid,ro,sbsector=1460256 '/dev/sr0' '/mnt' mount -t iso9660 -o nodev,noexec,nosuid,ro,sbsector=1460256 '/dev/sr0' '/mnt'
The superuser may let xorriso execute the mount command directly: The superuser may let xorriso execute the mount command directly:
# osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt # osirrox -mount /dev/sr0 "volid" '*2008_12_05*' /mnt
Incremental backup with accumulated trees Incremental backup with accumulated trees
Solaris does not offer the option to mount older sessions. In order to k eep them accessible, one may Solaris does not offer the option to mount older sessions. In order to keep them accessible, one may
map all files to a file tree under a session directory and accumulate tho se directories from session to map all files to a file tree under a session directory and accumulate tho se directories from session to
session. The -root tree is cloned from the -old-root tree before it gets compared with the appropriate session. The -root tree is cloned from the -old-root tree before it gets compared with the appropriate
trees on disk. trees on disk.
This demands to know the previously used session directory name. This demands to know the previously used session directory name.
With the first session: With the first session:
$ 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 \
skipping to change at line 1310 skipping to change at line 1330
$ 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 new -r oot is /session3. And so on. With the third session, option -old-root refers to /session2. The new -r oot is /session3. And so on.
Create bootable images for PC-BIOS and EFI Create bootable images for PC-BIOS and EFI
The SYSLINUX/ISOLINUX boot loader suite is popular for booting PC-BIOS. The SYSLINUX/ISOLINUX boot loader suite is popular for booting PC-BIOS.
The ISOLINUX wiki prescribes The ISOLINUX wiki prescribes
to create on disk a directory ./CD_root and to copy all desired fi to create on disk a directory ./CD_root and to copy all desired files
les underneath that directory. underneath that directory.
Especially file isolinux.bin shall be copied to ./CD_root/isolinux/isolin Especially file isolinux.bin shall be copied to ./CD_root/isolinux/is
ux.bin . This is the boot olinux.bin . This is the boot
image file. image file.
The prescribed mkisofs options can be used unchanged with xorrisofs: The prescribed mkisofs options can be used unchanged with xorrisofs:
$ xorrisofs -o output.iso \ $ xorrisofs -o output.iso \
-b isolinux/isolinux.bin -c isolinux/boot.cat \ -b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \ -no-emul-boot -boot-load-size 4 -boot-info-table \
./CD_root ./CD_root
Put it on CD by a burn program. E.g.: Put it on CD by a burn program. E.g.:
$ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed output.iso $ xorriso -as cdrecord -v dev=/dev/sr0 blank=as_needed output.iso
The image from above example will boot from CD, DVD or BD, bu The image from above example will boot from CD, DVD or BD, but no
t not from USB stick or other t from USB stick or other
hard-disk-like devices. This can be done by help of an isohybrid MBR. hard-disk-like devices. This can be done by help of an isohybrid M
Syslinux provides matching BR. Syslinux provides matching
template files as isohdp[fp]x*.bin . E.g. /usr/lib/syslinux/isohdpfx.bin . template files as isohdp[fp]x*.bin . E.g. /usr/lib/syslinux/isohdpfx.bin .
If a few hundred KB of size do not matter, then option -partition_ If a few hundred KB of size do not matter, then option -partition_offset
offset can be used to create a can be used to create a
partition table where partition 1 starts not at block 0. This facilitates partition table where partition 1 starts not at block 0. This facilita
later manipulations of the tes later manipulations of the
USB stick by tools for partitioning and formatting. USB stick by tools for partitioning and formatting.
The image from the following example will be prepared for booting via MB R and its first partition will The image from the following example will be prepared for booting via MBR and its first partition will
start at hard disk block 64. start at hard disk block 64.
It will also boot from optical media. It will also boot from optical media.
$ xorrisofs -o output.iso \ $ xorrisofs -o output.iso \
-b isolinux/isolinux.bin -c isolinux/boot.cat \ -b isolinux/isolinux.bin -c isolinux/boot.cat \
-no-emul-boot -boot-load-size 4 -boot-info-table \ -no-emul-boot -boot-load-size 4 -boot-info-table \
-isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \ -isohybrid-mbr /usr/lib/syslinux/isohdpfx.bin \
-partition_offset 16 \ -partition_offset 16 \
./CD_root ./CD_root
Become superuser and copy the image to the unpartitioned base device file of the USB stick. On Become superuser and copy the image to the unpartitioned base de vice file of the USB stick. On
GNU/Linux this is e.g. /dev/sdb, not /dev/sdb1. GNU/Linux this is e.g. /dev/sdb, not /dev/sdb1.
CAUTION: This will overwrite any partitioning on the USB stick and make r emaining data unaccessible. CAUTION: This will overwrite any partitioning on the USB stick and make r emaining data unaccessible.
So first make sure you got the correct address of the intended device. E.g. by reading 100 MiB data So first make sure you got the correct address of the intended device. E .g. by reading 100 MiB data
from it and watching it blinking: from it and watching it blinking:
# dd bs=2K if=/dev/sdb count=50K >/dev/null # dd bs=2K if=/dev/sdb count=50K >/dev/null
Now copy the image onto it Now copy the image onto it
# dd bs=2K if=output.iso of=/dev/sdb # dd bs=2K if=output.iso of=/dev/sdb
Now for EFI: Now for EFI:
The boot image file has to be the image of an EFI System Partition, The boot image file has to be the image of an EFI System Partiti
i.e. a FAT filesystem with on, i.e. a FAT filesystem with
directory /EFI/BOOT and boot files with EFI prescribed names: BOOTIA32.E directory /EFI/BOOT and boot files with EFI prescribed names: BOOTIA32.EF
FI for 32 bit x86, BOOTx64.EFI I for 32 bit x86, BOOTx64.EFI
for 64 bit AMD/x86 (in UEFI-2.4 there is indeed a lower case "x"), BOOTAA for 64 bit AMD/x86 (in UEFI-2.4 there is indeed a lower case "x"), BO
64.EFI for 64 bit ARM. The OTAA64.EFI for 64 bit ARM. The
software in the FAT filesystem should be able to find and inspect the software in the FAT filesystem should be able to find and inspect the ISO
ISO filesystem for boot loader filesystem for boot loader
configuration and start of operating system. GRUB2 program grub-mkima configuration and start of operating system. GRUB2 program grub-m
ge can produce such a FAT kimage can produce such a FAT
filesystem with suitable content, which then uses further GRUB2 software from the ISO filesystem. filesystem with suitable content, which then uses further GRUB2 software from the ISO filesystem.
EFI boot equipment may be combined with above ISOLINUX isohybrid for PC EFI boot equipment may be combined with above ISOLINUX isohybrid for PC-B
-BIOS in a not really UEFI-2.4 IOS in a not really UEFI-2.4
compliant way, which obviously works well. It yields MBR and GPT partitio compliant way, which obviously works well. It yields MBR and GPT part
n tables, both with nested ition tables, both with nested
partitions. Assumed the EFI System Partition image is ready as ./CD_r partitions. Assumed the EFI System Partition image is ready as ./CD_roo
oot/boot/grub/efi.img, add the t/boot/grub/efi.img, add the
following options before the directory address ./CD_root: following options before the directory address ./CD_root:
-eltorito-alt-boot -e 'boot/grub/efi.img' -no-emul-boot \ -eltorito-alt-boot -e 'boot/grub/efi.img' -no-emul-boot \
-isohybrid-gpt-basdat \ -isohybrid-gpt-basdat \
More compliant with UEFI-2.4 is to decide for either MBR or GPT and to ap pend a copy of the EFI System More compliant with UEFI-2.4 is to decide for either MBR or GPT and to a ppend a copy of the EFI System
Partition in order to avoid overlap of ISO partition and EFI partition. H ere for MBR: Partition in order to avoid overlap of ISO partition and EFI partition. H ere for MBR:
-eltorito-alt-boot -e 'boot/grub/efi.img' -no-emul-boot \ -eltorito-alt-boot -e 'boot/grub/efi.img' -no-emul-boot \
-append_partition 2 0xef ./CD_root/boot/grub/efi.img \ -append_partition 2 0xef ./CD_root/boot/grub/efi.img \
The resulting ISOs are supposed to boot from optical media and U SB stick. One may omit option The resulting ISOs are supposed to boot from optical media and USB s tick. One may omit option
-eltorito-alt-boot if no option -b is used to make the ISO bootable via P C-BIOS. -eltorito-alt-boot if no option -b is used to make the ISO bootable via P C-BIOS.
For ISOs with pure GRUB2 boot equipment consider to use GRUB2 tool g rub-mkrescue as frontend to For ISOs with pure GRUB2 boot equipment consider to use GRUB2 too l grub-mkrescue as frontend to
xorrisofs. xorrisofs.
If you have a bootable ISO filesystem and want to know its equipment pl us a proposal how to reproduce If you have a bootable ISO filesystem and want to know its equipment plus a proposal how to reproduce
it, try: it, try:
$ xorriso -hfsplus on -indev IMAGE.iso \ $ xorriso -hfsplus on -indev IMAGE.iso \
-report_el_torito plain -report_system_area plain \ -report_el_torito plain -report_system_area plain \
-print "" -print "======= Proposal for xorrisofs options:" \ -print "" -print "======= Proposal for xorrisofs options:" \
-report_el_torito as_mkisofs -report_el_torito as_mkisofs
FILES FILES
Startup files: Startup files:
If not --no_rc is given as the first argument then xorrisofs attempts on startup to read and execute If not --no_rc is given as the first argument then xorrisofs attempts on startup to read and execute
lines from the following files: lines from the following files:
/etc/default/xorriso /etc/default/xorriso
/etc/opt/xorriso/rc /etc/opt/xorriso/rc
/etc/xorriso/xorriso.conf /etc/xorriso/xorriso.conf
$HOME/.xorrisorc $HOME/.xorrisorc
The files are read in the sequence given here, but none of them is requir ed to exist. The lines are not The files are read in the sequence given here, but none of them is requir ed to exist. The lines are not
interpreted as xorrisofs options but as generic xorriso commands. See man xorriso. interpreted as xorrisofs options but as generic xorriso commands. See man xorriso.
After the xorriso startup files, the program tries one by one to open for reading: After the xorriso startup files, the program tries one by one to open for reading:
./.mkisofsrc ./.mkisofsrc
$MKISOFSRC $MKISOFSRC
$HOME/.mkisofsrc $HOME/.mkisofsrc
$(dirname $0)/.mkisofsrc $(dirname $0)/.mkisofsrc
On success it interprets the file content and does not try further files. The last address is used On success it interprets the file content and does not try further fi les. The last address is used
only if start argument 0 has a non-trivial dirname. only if start argument 0 has a non-trivial dirname.
The reader currently interprets the following NAME=VALUE pairs: The reader currently interprets the following NAME=VALUE pairs:
APPI default for -A APPI default for -A
PUBL default for -publisher PUBL default for -publisher
SYSI default for -sysid SYSI default for -sysid
VOLI default for -V VOLI default for -V
VOLS default for -volset VOLS default for -volset
Any other lines will be silently ignored. Any other lines will be silently ignored.
ENVIRONMENT ENVIRONMENT
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 is supposed to be either 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 tells the seconds since ja nuary 1st 1970. If it contains undefined or to contain a decimal number which tells the seconds since ja nuary 1st 1970. If it contains
a number, then it is used as time value to set the default of --modifi cation-date=. --gpt_disk_guid a number, then it is used as time value to set the default of --modific ation-date=. --gpt_disk_guid
defaults to "modification-date". The default of --set_all_file_dates is then "set_to_mtime". defaults to "modification-date". The default of --set_all_file_dates is then "set_to_mtime".
Startup files and program options can override the effect of SOURCE_DATE_ EPOCH. Startup files and program options can override the effect of SOURCE_DATE_ EPOCH.
SEE ALSO SEE ALSO
For generic xorriso command mode For generic xorriso command mode
xorriso(1) xorriso(1)
For the cdrecord emulation of xorriso For the cdrecord emulation of xorriso
xorrecord(1) xorrecord(1)
skipping to change at line 1438 skipping to change at line 1458
ACL and xattr ACL and xattr
getfacl(1), setfacl(1), getfattr(1), setfattr(1) getfacl(1), setfacl(1), getfattr(1), setfattr(1)
MD5 checksums MD5 checksums
md5sum(1) md5sum(1)
On FreeBSD the commands for xattr and MD5 differ On FreeBSD the commands for xattr and MD5 differ
getextattr(8), setextattr(8), md5(1) getextattr(8), setextattr(8), md5(1)
BUGS BUGS
To report bugs, request help, or suggest enhancements for xorriso, please send electronic mail to the To report bugs, request help, or suggest enhancements for xorriso, plea se send electronic mail to the
public list <bug-xorriso@gnu.org>. If more privacy is desired, mail to < scdbackup@gmx.net>. public list <bug-xorriso@gnu.org>. If more privacy is desired, mail to < scdbackup@gmx.net>.
Please describe what you expect xorriso to do, the program arguments o r dialog commands by which you Please describe what you expect xorriso to do, the program arguments or d ialog commands by which you
tried to achieve it, the messages of xorriso, and the undesirable outcome of your program run. tried to achieve it, the messages of xorriso, and the undesirable outcome of your program run.
Expect to get asked more questions before solutions can be proposed. Expect to get asked more questions before solutions can be proposed.
AUTHOR AUTHOR
Thomas Schmitt <scdbackup@gmx.net> Thomas Schmitt <scdbackup@gmx.net>
for libburnia-project.org for libburnia-project.org
COPYRIGHT COPYRIGHT
Copyright (c) 2011 - 2016 Thomas Schmitt Copyright (c) 2011 - 2017 Thomas Schmitt
Permission is granted to distribute this text freely. It shall only be Permission is granted to distribute this text freely. It shall onl
modified in sync with the y be modified in sync with the
technical properties of xorriso. If you make use of the license to deriv technical properties of xorriso. If you make use of the license to derive
e modified versions of xorriso modified versions of xorriso
then you are entitled to modify this text under that same license. then you are entitled to modify this text under that same license.
CREDITS CREDITS
xorrisofs is in part based on work by Vreixo Formoso who provides libisof xorrisofs is in part based on work by Vreixo Formoso who provides libi
s together with Mario Danic sofs together with Mario Danic
who also leads the libburnia team. Vladimir Serbinenko contribute who also leads the libburnia team. Vladimir Serbinenko contributed th
d the HFS+ filesystem code and e HFS+ filesystem code and
related knowledge. related knowledge.
Compliments towards Joerg Schilling whose cdrtools served me for ten year s. Compliments towards Joerg Schilling whose cdrtools served me for ten year s.
Version 1.4.6, Sep 16, 2016 XORRISOFS(1) Version 1.4.8, Sep 12, 2017 XORRISOFS(1)
 End of changes. 97 change blocks. 
251 lines changed or deleted 283 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)