New -as mkisofs option -appended_gpt_with_gaps

This commit is contained in:
Thomas Schmitt 2024-12-16 18:25:58 +01:00
parent 6deb2435ab
commit f8d09f39de
5 changed files with 165 additions and 59 deletions

View File

@ -2454,6 +2454,9 @@ not_enough_args:;
} else if(strcmp(argpt, "-appended_part_as_apm") == 0) {
xorriso->appended_as_apm= 1;
} else if(strcmp(argpt, "-appended_gpt_with_gaps") == 0) {
xorriso->iso_mbr_part_flag |= 2;
} else if(strcmp(argpt, "-B") == 0 ||
strcmp(argpt, "-sparc-boot") == 0) {
i++;

View File

@ -1 +1 @@
#define Xorriso_timestamP "2024.12.16.172102"
#define Xorriso_timestamP "2024.12.16.172439"

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISOFS 1 "Version 1.5.7, Nov 01, 2024"
.TH XORRISOFS 1 "Version 1.5.7, Nov 17, 2024"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -1430,6 +1430,8 @@ of the cylinder size.
Beware of subsequent multi\-session runs. The appended partition will get
overwritten.
.br
With \fBMBR\fR:
.br
partition_number may be 1 to 4. Number 1 will put the whole ISO image into
the unclaimed space before partition 1. So together with most xorriso MBR
or GPT features, number 2 would be the most natural choice.
@ -1452,6 +1454,22 @@ type "Apple_HFS", any other to "Data".
If some other command causes the production of GPT, then the appended
partitions will be mentioned there too, even if not \-appended_part_as_gpt
is given.
.br
\fBGPT\fR can be forced by option \-appended_part_as_gpt.
.br
partition_number may be 1 to 8. But other than with MBR partitions it is not
guaranteed that the resulting GPT partition will have this number, because
it might get occupied by a partition entry which fills a gap in the coverage
of the whole emerging image.
.br
The chance to get the desired partition number is increased much by
option \-appended_gpt_with_gaps.
.br
The type_code may be the same as described with MBR. Given GUIDs are used
unchanged. Given MBR partition types get translated. 0xef becomes
C12A7328\-F81F\-11D2\-BA4B\-00A0C93EC93B, others become
EBD0A0A2\-B9E5\-4433\-87C0\-68B6B72699C7.
.br
.TP
\fB\-appended_part_as_gpt\fR
Marks partitions from \-append_partition in GPT rather than in MBR.
@ -1479,6 +1497,22 @@ parameter partition_number.
By default, appended partitions get marked in APM only if APM is produced
because of other options and \-part_like_isohybrid is enabled.
.TP
\fB\-appended_gpt_with_gaps\fR
Possibly leave some parts of the resulting image unclaimed by partitions in
the emerging GPT in order to increase he chance to get in GPT the
partition numbers given with option \-append_partition.
.br
The ISO 9660 filesystem gets marked by a GPT partition
only if none of the appended partitions has partition number 1,
and if no other command causes a partition inside the emerging ISO 9660
filesystem, and if \-partition_offset is 16.
.br
If this option is not given, then gap filling partitions will be inserted
so that no part of the emerging image after block 16 is unclaimed by GPT
partitions. This happens only if partitions get appended and a valid GPT
emerges, e.g. by option \-appended_part_as_gpt.
Commands which produce isohybrid\-style invalid GPT disable gap filling.
.TP
\fB\-efi-boot-part\fR disk_path
Copy a file from disk into the emerging ISO image and mark it by a GPT entry as
EFI System Partition. EFI boot firmware is supposed to use a FAT filesystem

View File

@ -1242,6 +1242,7 @@ Examples:
2048 bytes or to the next multiple of the cylinder size.
Beware of subsequent multi-session runs. The appended partition
will get overwritten.
With *MBR*:
partition_number may be 1 to 4. Number 1 will put the whole ISO
image into the unclaimed space before partition 1. So together
with most xorriso MBR or GPT features, number 2 would be the most
@ -1264,6 +1265,17 @@ Examples:
If some other command causes the production of GPT, then the
appended partitions will be mentioned there too, even if not
-appended_part_as_gpt is given.
*GPT* can be forced by option -appended_part_as_gpt.
partition_number may be 1 to 8. But other than with MBR partitions
it is not guaranteed that the resulting GPT partition will have
this number, because it might get occupied by a partition entry
which fills a gap in the coverage of the whole emerging image.
The chance to get the desired partition number is increased much by
option -appended_gpt_with_gaps.
The type_code may be the same as described with MBR. Given GUIDs
are used unchanged. Given MBR partition types get translated.
0xef becomes C12A7328-F81F-11D2-BA4B-00A0C93EC93B, others become
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7.
-appended_part_as_gpt
Marks partitions from -append_partition in GPT rather than in MBR.
In this case the MBR shows a single partition of type 0xee which
@ -1286,6 +1298,21 @@ Examples:
By default, appended partitions get marked in APM only if APM is
produced because of other options and -part_like_isohybrid is
enabled.
-appended_gpt_with_gaps
Possibly leave some parts of the resulting image unclaimed by
partitions in the emerging GPT in order to increase he chance to
get in GPT the partition numbers given with option
-append_partition.
The ISO 9660 filesystem gets marked by a GPT partition only if none
of the appended partitions has partition number 1, and if no other
command causes a partition inside the emerging ISO 9660 filesystem,
and if -partition_offset is 16.
If this option is not given, then gap filling partitions will be
inserted so that no part of the emerging image after block 16 is
unclaimed by GPT partitions. This happens only if partitions get
appended and a valid GPT emerges, e.g. by option
-appended_part_as_gpt. Commands which produce isohybrid-style
invalid GPT disable gap filling.
-efi-boot-part disk_path
Copy a file from disk into the emerging ISO image and mark it by a
GPT entry as EFI System Partition. EFI boot firmware is supposed
@ -2082,10 +2109,10 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --gpt-iso-bootable Set Legacy BIOS bootable flag: SystemArea.
(line 159)
* --gpt-iso-not-ro Do not set Read-only flag: SystemArea. (line 164)
* --gpt_disk_guid GPT GUID: SystemArea. (line 270)
* --gpt_disk_guid GPT GUID: SystemArea. (line 297)
* --grub2-boot-info Patch El Torito boot image: Bootable. (line 109)
* --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 81)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 325)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 352)
* --hardlinks Recording of hardlink relations: SetExtras. (line 146)
* --lfa_flags Recording of Linux file attributes: SetExtras. (line 126)
* --mbr-force-bootable Enforce MBR bootable/active flag: SystemArea.
@ -2127,16 +2154,16 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -A set Application Id: ImageId. (line 34)
* -abstract set Abstract File path: ImageId. (line 57)
* -allow-lowercase lowercase in ISO file names: SetCompl. (line 43)
* -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 348)
* -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 375)
* -appended_part_as_apm Appended partitions in APM: SystemArea.
(line 253)
(line 265)
* -appended_part_as_gpt Appended partitions in GPT: SystemArea.
(line 238)
(line 250)
* -append_partition Append MBR or GPT partition after image: SystemArea.
(line 208)
* -appid set Application Id: ImageId. (line 41)
* -b El Torito PC-BIOS boot image: Bootable. (line 38)
* -B SUN SPARC boot images: SystemArea. (line 310)
* -B SUN SPARC boot images: SystemArea. (line 337)
* -biblio set Biblio File path: ImageId. (line 62)
* -boot-info-table Patch El Torito boot image: Bootable. (line 104)
* -boot-load-size El Torito boot image load size: Bootable. (line 72)
@ -2148,8 +2175,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -checksum_algorithm_iso choose .jigdo checksums: Jigdo. (line 86)
* -checksum_algorithm_template choose .template checksums: Jigdo.
(line 92)
* -chrp-boot CHRP partition: SystemArea. (line 292)
* -chrp-boot-part CHRP partition: SystemArea. (line 283)
* -chrp-boot CHRP partition: SystemArea. (line 319)
* -chrp-boot-part CHRP partition: SystemArea. (line 310)
* -copyright set Copyright File path: ImageId. (line 66)
* -cut_out insert piece of data file or device: SetInsert. (line 22)
* -D allow deep directory hierarchies: SetExtras. (line 60)
@ -2161,7 +2188,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -disallow_dir_id_ext enforce ISO level 1 directory names: SetCompl.
(line 24)
* -e El Torito EFI boot image: Bootable. (line 53)
* -efi-boot-part EFI boot partition: SystemArea. (line 260)
* -efi-boot-part EFI boot partition: SystemArea. (line 287)
* -eltorito-alt-boot begin next boot catalog entry: Bootable. (line 47)
* -eltorito-boot El Torito PC-BIOS boot image: Bootable. (line 45)
* -eltorito-catalog El Torito boot catalog name: Bootable. (line 119)
@ -2210,12 +2237,12 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -hide-rr-moved set deep directory relocation target: SetExtras.
(line 90)
* -hide_iso_path keep a file invisible in ISO tree: SetHide. (line 31)
* -hppa-bootloader HP-PA bootloader file: SystemArea. (line 337)
* -hppa-cmdline HP-PA PALO command line: SystemArea. (line 331)
* -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 345)
* -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 339)
* -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 341)
* -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 343)
* -hppa-bootloader HP-PA bootloader file: SystemArea. (line 364)
* -hppa-cmdline HP-PA PALO command line: SystemArea. (line 358)
* -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 372)
* -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 366)
* -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 368)
* -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 370)
* -input-charset set character set of disk file names: Charset.
(line 17)
* -iso-level define ISO 9660 limitations: SetCompl. (line 7)
@ -2252,8 +2279,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl.
(line 62)
* -md5-list set path of input checksum file: Jigdo. (line 81)
* -mips-boot MIPS Big Endian boot image: SystemArea. (line 299)
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 305)
* -mips-boot MIPS Big Endian boot image: SystemArea. (line 326)
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 332)
* -N omit version number in ISO file names: SetCompl. (line 65)
* -no-emul-boot El Torito boot image emulation: Bootable. (line 86)
* -no-pad do not add zeros to ISO tree: SetProduct. (line 101)
@ -2277,7 +2304,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -part_like_isohybrid Mark partitions like with isohybrid: SystemArea.
(line 122)
* -path-list read pathspecs from disk file: SetInsert. (line 8)
* -prep-boot-part PReP partition: SystemArea. (line 294)
* -prep-boot-part PReP partition: SystemArea. (line 321)
* -preparer set Preparer Id: ImageId. (line 55)
* -prev-session set path for loading existing ISO image: Loading.
(line 21)
@ -2294,8 +2321,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -root redirect ISO root directory: SetInsert. (line 85)
* -rr_reloc_dir set deep directory relocation target: SetExtras.
(line 74)
* -sparc-boot SUN SPARC boot images: SystemArea. (line 321)
* -sparc-label SUN Disk Label text: SystemArea. (line 323)
* -sparc-boot SUN SPARC boot images: SystemArea. (line 348)
* -sparc-label SUN Disk Label text: SystemArea. (line 350)
* -sysid set System Id: ImageId. (line 43)
* -transparent-compression enable recognition of zisofs files: SetInsert.
(line 63)
@ -2312,6 +2339,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -volset set Volume Set Id: ImageId. (line 25)
* -x exclude disk files from inserting: SetInsert. (line 49)
* -z enable recognition of zisofs files: SetInsert. (line 57)
* appended_gpt_with_gaps Sparsely filled GPT: SystemArea. (line 272)

File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
@ -2325,8 +2353,10 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Abstract File, set path, -abstract: ImageId. (line 57)
* ACL, record and load, --acl: SetExtras. (line 107)
* APM, mark appended partitions, -appended_part_as_apm: SystemArea.
(line 253)
(line 265)
* APM, _definition: SystemArea. (line 16)
* Appended partitions, GPT: SystemArea. (line 238)
* Appended partitions, MBR: SystemArea. (line 215)
* Application Id, set, -A, -appid: ImageId. (line 34)
* Backup, enable fidelity, --for_backup: SetExtras. (line 92)
* Biblio File, set path, -biblio: ImageId. (line 62)
@ -2350,30 +2380,30 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 104)
* Bootability, bootable MBR partition, --mbr-force-bootable: SystemArea.
(line 148)
* Bootability, control, --grub2-sparc-core: SystemArea. (line 325)
* Bootability, control, --grub2-sparc-core: SystemArea. (line 352)
* Bootability, control, --efi-boot: Bootable. (line 59)
* Bootability, control, -alpha-boot: SystemArea. (line 348)
* Bootability, control, -alpha-boot: SystemArea. (line 375)
* Bootability, control, -b, -eltorito-boot: Bootable. (line 38)
* Bootability, control, -B, -sparc-boot: SystemArea. (line 310)
* Bootability, control, -B, -sparc-boot: SystemArea. (line 337)
* Bootability, control, -e: Bootable. (line 53)
* Bootability, control, -eltorito-platform: Bootable. (line 63)
* Bootability, control, -hppa-bootloader: SystemArea. (line 337)
* Bootability, control, -hppa-cmdline: SystemArea. (line 331)
* Bootability, control, -hppa-hdrversion: SystemArea. (line 345)
* Bootability, control, -hppa-kernel_32: SystemArea. (line 339)
* Bootability, control, -hppa-kernel_64: SystemArea. (line 341)
* Bootability, control, -hppa-ramdisk: SystemArea. (line 343)
* Bootability, control, -mips-boot: SystemArea. (line 299)
* Bootability, control, -mipsel-boot: SystemArea. (line 305)
* Bootability, control, -hppa-bootloader: SystemArea. (line 364)
* Bootability, control, -hppa-cmdline: SystemArea. (line 358)
* Bootability, control, -hppa-hdrversion: SystemArea. (line 372)
* Bootability, control, -hppa-kernel_32: SystemArea. (line 366)
* Bootability, control, -hppa-kernel_64: SystemArea. (line 368)
* Bootability, control, -hppa-ramdisk: SystemArea. (line 370)
* Bootability, control, -mips-boot: SystemArea. (line 326)
* Bootability, control, -mipsel-boot: SystemArea. (line 332)
* Bootability, El Torito section id string, -eltorito-id: Bootable.
(line 93)
* Bootability, El Torito selection criteria, -eltorito-selcrit: Bootable.
(line 100)
* Bootability, fill System Area e.g. by MBR, -G, --embedded-boot, -generic-boot: SystemArea.
(line 68)
* Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 283)
* Bootability, for EFI, -efi-boot-part: SystemArea. (line 260)
* Bootability, for PReP, -prep-boot-part: SystemArea. (line 294)
* Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 310)
* Bootability, for EFI, -efi-boot-part: SystemArea. (line 287)
* Bootability, for PReP, -prep-boot-part: SystemArea. (line 321)
* Bootability, GPT Legacy BIOS bootable, --gpt-iso-bootable: SystemArea.
(line 159)
* Bootability, GPT Read-only flag, --gpt-iso-not-ro: SystemArea.
@ -2395,7 +2425,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 122)
* Bootability, patch System Area partition table, --protective-msdos-label: SystemArea.
(line 143)
* Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 323)
* Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 350)
* Bootability, type of ISO MBR partition, -iso_mbr_part_type: SystemArea.
(line 129)
* Bugs, reporting: Bugreport. (line 6)
@ -2414,7 +2444,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Disk files, exclude, -exclude-list: SetInsert. (line 54)
* Disk files, exclude, -m, -exclude, -x, -old-exclude: SetInsert.
(line 41)
* Disk GUID, for GPT, --gpt_disk_guid: SystemArea. (line 270)
* Disk GUID, for GPT, --gpt_disk_guid: SystemArea. (line 297)
* disk_path, _definition: Insert. (line 7)
* ECMA-119, _definition: Standards. (line 6)
* El Torito, _definition: Bootable. (line 13)
@ -2423,7 +2453,8 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* File timestamps, set all, --set_all_file_dates: SetExtras. (line 35)
* Forced output, control, --stdio_sync: SetProduct. (line 23)
* GPT, mark appended partitions, -appended_part_as_gpt: SystemArea.
(line 238)
(line 250)
* GPT, sparsely filled, -appended_gpt_with_gaps: SystemArea. (line 272)
* GPT, _definition: SystemArea. (line 13)
* Group, for all files, -gid: SetProduct. (line 83)
* HFS+, enables production: SetExtras. (line 180)
@ -2581,23 +2612,23 @@ Node: SetHide36210
Node: ImageId38209
Node: Bootable42491
Node: SystemArea48777
Node: Charset68505
Node: Jigdo69530
Node: Miscellaneous74500
Node: Examples77096
Node: ExSimple77590
Node: ExGraft78073
Node: ExMkisofs79373
Node: ExGrowisofs81181
Node: ExIncBackup82371
Node: ExIncBckAcc85547
Node: ExBootable87252
Node: Files91434
Node: Environ92529
Node: Seealso93402
Node: Bugreport94103
Node: Legal94696
Node: CommandIdx95593
Node: ConceptIdx113026
Node: Charset70088
Node: Jigdo71113
Node: Miscellaneous76083
Node: Examples78679
Node: ExSimple79173
Node: ExGraft79656
Node: ExMkisofs80956
Node: ExGrowisofs82764
Node: ExIncBackup83954
Node: ExIncBckAcc87130
Node: ExBootable88835
Node: Files93017
Node: Environ94112
Node: Seealso94985
Node: Bugreport95686
Node: Legal96279
Node: CommandIdx97176
Node: ConceptIdx114682

End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISOFS 1 "Version 1.5.7, Nov 01, 2024"
@c man .TH XORRISOFS 1 "Version 1.5.7, Nov 17, 2024"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -1868,6 +1868,9 @@ of the cylinder size.
Beware of subsequent multi-session runs. The appended partition will get
overwritten.
@*
@cindex Appended partitions, MBR
With @strong{MBR}:
@*
partition_number may be 1 to 4. Number 1 will put the whole ISO image into
the unclaimed space before partition 1. So together with most xorriso MBR
or GPT features, number 2 would be the most natural choice.
@ -1890,6 +1893,23 @@ type "Apple_HFS", any other to "Data".
If some other command causes the production of GPT, then the appended
partitions will be mentioned there too, even if not -appended_part_as_gpt
is given.
@*
@cindex Appended partitions, GPT
@strong{GPT} can be forced by option -appended_part_as_gpt.
@*
partition_number may be 1 to 8. But other than with MBR partitions it is not
guaranteed that the resulting GPT partition will have this number, because
it might get occupied by a partition entry which fills a gap in the coverage
of the whole emerging image.
@*
The chance to get the desired partition number is increased much by
option -appended_gpt_with_gaps.
@*
The type_code may be the same as described with MBR. Given GUIDs are used
unchanged. Given MBR partition types get translated. 0xef becomes
C12A7328-F81F-11D2-BA4B-00A0C93EC93B, others become
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7.
@*
@c man .TP
@item -appended_part_as_gpt
@kindex -appended_part_as_gpt Appended partitions in GPT
@ -1921,6 +1941,24 @@ parameter partition_number.
By default, appended partitions get marked in APM only if APM is produced
because of other options and -part_like_isohybrid is enabled.
@c man .TP
@item -appended_gpt_with_gaps
@kindex appended_gpt_with_gaps Sparsely filled GPT
@cindex GPT, sparsely filled, -appended_gpt_with_gaps
Possibly leave some parts of the resulting image unclaimed by partitions in
the emerging GPT in order to increase he chance to get in GPT the
partition numbers given with option -append_partition.
@*
The ISO 9660 filesystem gets marked by a GPT partition
only if none of the appended partitions has partition number 1,
and if no other command causes a partition inside the emerging ISO 9660
filesystem, and if -partition_offset is 16.
@*
If this option is not given, then gap filling partitions will be inserted
so that no part of the emerging image after block 16 is unclaimed by GPT
partitions. This happens only if partitions get appended and a valid GPT
emerges, e.g. by option -appended_part_as_gpt.
Commands which produce isohybrid-style invalid GPT disable gap filling.
@c man .TP
@item -efi-boot-part disk_path
@kindex -efi-boot-part EFI boot partition
@cindex Bootability, for EFI, -efi-boot-part