New -as mkisofs options --gpt-iso-bootable and --gpt-iso-not-ro

This commit is contained in:
Thomas Schmitt 2021-05-25 21:22:43 +02:00
parent db5d4eb867
commit 23d0d8e90a
5 changed files with 123 additions and 69 deletions

View File

@ -636,6 +636,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"-isohybrid-gpt-basdat", "-isohybrid-gpt-hfsplus",
"-isohybrid-apm-hfsplus", "--grub2-boot-info", "-joliet-utf16",
"-appended_part_as_gpt", "-appended_part_as_apm", "--mbr-force-bootable",
"--gpt-iso-bootable", "--gpt-iso-not-ro",
"-part_like_isohybrid", "--zisofs-version-2", "--zisofs2-susp-z2",
"--zisofs2-susp-zf",
""
@ -906,6 +907,8 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" --embedded-boot FILE Alias of -G",
" --protective-msdos-label Patch System Area by partition table",
" --mbr-force-bootable Enforce existence of bootable flag in MBR",
" --gpt-iso-bootable Set Legacy BIOS bootable flag in ISO partition",
" --gpt-iso-not-ro Do not set Read-only flag in ISO partition",
" -partition_offset LBA Make image mountable by first partition, too",
" -partition_sec_hd NUMBER Define number of sectors per head",
" -partition_hd_cyl NUMBER Define number of heads per cylinder",
@ -1960,6 +1963,8 @@ not_enough_args:;
strcmp(argpt, "-eltorito-alt-boot")==0 ||
strcmp(argpt, "--protective-msdos-label")==0 ||
strcmp(argpt, "--mbr-force-bootable")==0 ||
strcmp(argpt, "--gpt-iso-bootable")==0 ||
strcmp(argpt, "--gpt-iso-not-ro")==0 ||
strcmp(argpt, "--boot-catalog-hide")==0 ||
strcmp(argpt, "-isohybrid-gpt-basdat")==0 ||
strcmp(argpt, "-isohybrid-gpt-hfsplus")==0 ||
@ -2653,6 +2658,12 @@ problem_handler_2:;
} else if(strcmp(argpt, "--mbr-force-bootable") == 0) {
xorriso->system_area_options= xorriso->system_area_options | (1 << 15);
} else if(strcmp(argpt, "--gpt-iso-bootable") == 0) {
xorriso->system_area_options= xorriso->system_area_options | (1 << 16);
} else if(strcmp(argpt, "--gpt-iso-not-ro") == 0) {
xorriso->system_area_options= xorriso->system_area_options | (1 << 17);
} else if(strcmp(argpt, "--boot-catalog-hide")==0) {
xorriso->boot_image_cat_hidden|= 3;
} else if(strcmp(argpt, "-partition_offset") == 0 ||

View File

@ -1 +1 @@
#define Xorriso_timestamP "2021.05.25.191826"
#define Xorriso_timestamP "2021.05.25.192155"

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.5, Jan 30, 2021"
.TH XORRISOFS 1 "Version 1.5.5, May 25, 2021"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -1309,6 +1309,17 @@ If no bootable MBR is indicated by other options and a partition gets created
by \-append_partition, then \-\-mbr\-force\-bootable causes a
bootflag like it would do with e.g. \-\-protective\-msdos\-label.
.TP
\fB--gpt-iso-bootable\fR
Set bit 2 of the GPT partition flags for the ISO 9660 partition if such a GPT
partition emerges. This bit is specified as "Legacy BIOS bootable" but its
true significance is unclear.
Some GPT\-aware BIOS might want to see it in some partition.
.TP
\fB--gpt-iso-not-ro\fR
Do not set bit 60 of the GPT partition flags for the ISO 9660 partition if such
a GPT partition emerges. This bit is specified as "Read\-only" and thus
appropriate. But it is unusual in GPT disk partitions.
.TP
\fB\-partition_offset\fR 2kb_block_adr
Cause a partition table with a single partition that begins at the
given block address. This is counted in 2048 byte

View File

@ -1144,6 +1144,16 @@ Examples:
If no bootable MBR is indicated by other options and a partition
gets created by -append_partition, then --mbr-force-bootable causes
a bootflag like it would do with e.g. --protective-msdos-label.
--gpt-iso-bootable
Set bit 2 of the GPT partition flags for the ISO 9660 partition if
such a GPT partition emerges. This bit is specified as "Legacy
BIOS bootable" but its true significance is unclear. Some
GPT-aware BIOS might want to see it in some partition.
--gpt-iso-not-ro
Do not set bit 60 of the GPT partition flags for the ISO 9660
partition if such a GPT partition emerges. This bit is specified
as "Read-only" and thus appropriate. But it is unusual in GPT disk
partitions.
-partition_offset 2kb_block_adr
Cause a partition table with a single partition that begins at the
given block address. This is counted in 2048 byte blocks, not in
@ -2002,10 +2012,13 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --embedded-boot Fill System Area e.g. by MBR: SystemArea. (line 79)
* --emul-toc enable table-of-content emulation: SetProduct. (line 33)
* --for_backup Enable backup fidelity: SetExtras. (line 92)
* --gpt_disk_guid GPT GUID: SystemArea. (line 250)
* --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 260)
* --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 305)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 315)
* --hardlinks Recording of hardlink relations: SetExtras. (line 130)
* --mbr-force-bootable Enforce MBR bootable/active flag: SystemArea.
(line 148)
@ -2045,16 +2058,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 42)
* -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 328)
* -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 338)
* -appended_part_as_apm Appended partitions in APM: SystemArea.
(line 234)
(line 244)
* -appended_part_as_gpt Appended partitions in GPT: SystemArea.
(line 228)
(line 238)
* -append_partition Append MBR or GPT partition after image: SystemArea.
(line 198)
(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 290)
* -B SUN SPARC boot images: SystemArea. (line 300)
* -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)
@ -2066,8 +2079,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 272)
* -chrp-boot-part CHRP partition: SystemArea. (line 263)
* -chrp-boot CHRP partition: SystemArea. (line 282)
* -chrp-boot-part CHRP partition: SystemArea. (line 273)
* -copyright set Copyright File path: ImageId. (line 66)
* -D allow deep directory hierarchies: SetExtras. (line 60)
* -d omit trailing dot in ISO file names: SetCompl. (line 50)
@ -2078,7 +2091,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -disallow_dir_id_ext enforce ISO level 1 directory names: SetCompl.
(line 23)
* -e El Torito EFI boot image: Bootable. (line 53)
* -efi-boot-part EFI boot partition: SystemArea. (line 240)
* -efi-boot-part EFI boot partition: SystemArea. (line 250)
* -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)
@ -2124,12 +2137,12 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 15)
* -hide-rr-moved set deep directory relocation target: SetExtras.
(line 90)
* -hppa-bootloader HP-PA bootloader file: SystemArea. (line 317)
* -hppa-cmdline HP-PA PALO command line: SystemArea. (line 311)
* -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 325)
* -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 319)
* -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 321)
* -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 323)
* -hppa-bootloader HP-PA bootloader file: SystemArea. (line 327)
* -hppa-cmdline HP-PA PALO command line: SystemArea. (line 321)
* -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 335)
* -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 329)
* -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 331)
* -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 333)
* -input-charset set character set of disk file names: Charset.
(line 17)
* -iso-level define ISO 9660 limitations: SetCompl. (line 7)
@ -2166,8 +2179,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl.
(line 61)
* -md5-list set path of input checksum file: Jigdo. (line 81)
* -mips-boot MIPS Big Endian boot image: SystemArea. (line 279)
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 285)
* -mips-boot MIPS Big Endian boot image: SystemArea. (line 289)
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 295)
* -N omit version number in ISO file names: SetCompl. (line 64)
* -no-emul-boot El Torito boot image emulation: Bootable. (line 86)
* -no-pad do not add zeros to ISO tree: SetProduct. (line 101)
@ -2183,15 +2196,15 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -p set Preparer Id: ImageId. (line 47)
* -P set Publisher Id: ImageId. (line 28)
* -pad add 300 KiB of zeros to ISO tree: SetProduct. (line 94)
* -partition_cyl_align Image size alignment: SystemArea. (line 187)
* -partition_hd_cyl MBR heads per cylinder: SystemArea. (line 170)
* -partition_cyl_align Image size alignment: SystemArea. (line 197)
* -partition_hd_cyl MBR heads per cylinder: SystemArea. (line 180)
* -partition_offset Make mountable by partition 1: SystemArea.
(line 159)
* -partition_sec_hd MBR sectors per head: SystemArea. (line 173)
(line 169)
* -partition_sec_hd MBR sectors per head: SystemArea. (line 183)
* -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 274)
* -prep-boot-part PReP partition: SystemArea. (line 284)
* -preparer set Preparer Id: ImageId. (line 55)
* -prev-session set path for loading existing ISO image: Loading.
(line 21)
@ -2208,8 +2221,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -root redirect ISO root directory: SetInsert. (line 75)
* -rr_reloc_dir set deep directory relocation target: SetExtras.
(line 74)
* -sparc-boot SUN SPARC boot images: SystemArea. (line 301)
* -sparc-label SUN Disk Label text: SystemArea. (line 303)
* -sparc-boot SUN SPARC boot images: SystemArea. (line 311)
* -sparc-label SUN Disk Label text: SystemArea. (line 313)
* -sysid set System Id: ImageId. (line 43)
* -transparent-compression enable recognition of zisofs files: SetInsert.
(line 53)
@ -2239,7 +2252,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Abstract File, set path, -abstract: ImageId. (line 57)
* ACL, record and load, --acl: SetExtras. (line 103)
* APM, mark appended partitions, -appended_part_as_apm: SystemArea.
(line 234)
(line 244)
* APM, _definition: SystemArea. (line 16)
* Application Id, set, -A, -appid: ImageId. (line 34)
* Backup, enable fidelity, --for_backup: SetExtras. (line 92)
@ -2264,30 +2277,34 @@ 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 305)
* Bootability, control, --grub2-sparc-core: SystemArea. (line 315)
* Bootability, control, --efi-boot: Bootable. (line 59)
* Bootability, control, -alpha-boot: SystemArea. (line 328)
* Bootability, control, -alpha-boot: SystemArea. (line 338)
* Bootability, control, -b, -eltorito-boot: Bootable. (line 38)
* Bootability, control, -B, -sparc-boot: SystemArea. (line 290)
* Bootability, control, -B, -sparc-boot: SystemArea. (line 300)
* Bootability, control, -e: Bootable. (line 53)
* Bootability, control, -eltorito-platform: Bootable. (line 63)
* Bootability, control, -hppa-bootloader: SystemArea. (line 317)
* Bootability, control, -hppa-cmdline: SystemArea. (line 311)
* Bootability, control, -hppa-hdrversion: SystemArea. (line 325)
* Bootability, control, -hppa-kernel_32: SystemArea. (line 319)
* Bootability, control, -hppa-kernel_64: SystemArea. (line 321)
* Bootability, control, -hppa-ramdisk: SystemArea. (line 323)
* Bootability, control, -mips-boot: SystemArea. (line 279)
* Bootability, control, -mipsel-boot: SystemArea. (line 285)
* Bootability, control, -hppa-bootloader: SystemArea. (line 327)
* Bootability, control, -hppa-cmdline: SystemArea. (line 321)
* Bootability, control, -hppa-hdrversion: SystemArea. (line 335)
* Bootability, control, -hppa-kernel_32: SystemArea. (line 329)
* Bootability, control, -hppa-kernel_64: SystemArea. (line 331)
* Bootability, control, -hppa-ramdisk: SystemArea. (line 333)
* Bootability, control, -mips-boot: SystemArea. (line 289)
* Bootability, control, -mipsel-boot: SystemArea. (line 295)
* 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 263)
* Bootability, for EFI, -efi-boot-part: SystemArea. (line 240)
* Bootability, for PReP, -prep-boot-part: SystemArea. (line 274)
* Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 273)
* Bootability, for EFI, -efi-boot-part: SystemArea. (line 250)
* Bootability, for PReP, -prep-boot-part: SystemArea. (line 284)
* Bootability, GPT Legacy BIOS bootable, --gpt-iso-bootable: SystemArea.
(line 159)
* Bootability, GPT Read-only flag, --gpt-iso-not-ro: SystemArea.
(line 164)
* Bootability, install ISOLINUX isohybrid MBR, -isohybrid-mbr: SystemArea.
(line 87)
* Bootability, install modern GRUB2 MBR, --grub2-mbr: SystemArea.
@ -2305,7 +2322,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 303)
* Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 313)
* Bootability, type of ISO MBR partition, -iso_mbr_part_type: SystemArea.
(line 129)
* Bugs, reporting: Bugreport. (line 6)
@ -2324,7 +2341,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Disk files, exclude, -hide-list: SetInsert. (line 44)
* Disk files, exclude, -m, -exclude, -x, -old-exclude: SetInsert.
(line 31)
* Disk GUID, for GPT, --gpt_disk_guid: SystemArea. (line 250)
* Disk GUID, for GPT, --gpt_disk_guid: SystemArea. (line 260)
* disk_path, _definition: Insert. (line 7)
* ECMA-119, _definition: Standards. (line 6)
* El Torito, _definition: Bootable. (line 13)
@ -2333,7 +2350,7 @@ 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 228)
(line 238)
* GPT, _definition: SystemArea. (line 13)
* Group, for all files, -gid: SetProduct. (line 83)
* HFS+, enables production: SetExtras. (line 164)
@ -2351,7 +2368,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Hiding, from ISO and Rock Ridge, -hide-list: SetHide. (line 15)
* Hiding, from Joliet, -hide-joliet: SetHide. (line 18)
* Hiding, from Joliet, -hide-joliet-list: SetHide. (line 22)
* Image size, alignment, -partition_cyl_align: SystemArea. (line 187)
* Image size, alignment, -partition_cyl_align: SystemArea. (line 197)
* Incremental insertion, disable disk ino, --old-root-no-ino: SetInsert.
(line 93)
* Incremental insertion, disable MD5, --old-root-no-md5: SetInsert.
@ -2409,16 +2426,16 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Joliet, _definition: Standards. (line 21)
* Links, follow on disk, -f, -follow-links: SetInsert. (line 22)
* Links, record and load hard links, --hardlinks: SetExtras. (line 130)
* MBR, GPT, append partition, -append_partition: SystemArea. (line 198)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 170)
* MBR, sectors per head, -partition_sec_hd <1>: SystemArea. (line 173)
* MBR, GPT, append partition, -append_partition: SystemArea. (line 208)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 180)
* MBR, sectors per head, -partition_sec_hd <1>: SystemArea. (line 183)
* MBR, _definition: SystemArea. (line 9)
* MD5, record and load, --md5: SetExtras. (line 122)
* Message output, increase frequency, -gui: Miscellaneous. (line 29)
* Message output, redirect stderr, -log-file: Miscellaneous. (line 33)
* Message output, suppress, -quiet: Miscellaneous. (line 25)
* Mountability, by non-trivial partition 1, -partition_offset: SystemArea.
(line 159)
(line 169)
* Options, list, -help: Miscellaneous. (line 21)
* Output file, set address, -o, -output: SetProduct. (line 8)
* Ownership, for all files, -uid: SetProduct. (line 79)
@ -2484,23 +2501,23 @@ Node: SetHide34672
Node: ImageId35976
Node: Bootable40258
Node: SystemArea46544
Node: Charset65074
Node: Jigdo66099
Node: Miscellaneous71069
Node: Examples72714
Node: ExSimple73208
Node: ExGraft73691
Node: ExMkisofs74991
Node: ExGrowisofs76799
Node: ExIncBackup77989
Node: ExIncBckAcc81165
Node: ExBootable82870
Node: Files87052
Node: Environ88147
Node: Seealso89020
Node: Bugreport89671
Node: Legal90264
Node: CommandIdx91161
Node: ConceptIdx107943
Node: Charset65603
Node: Jigdo66628
Node: Miscellaneous71598
Node: Examples73243
Node: ExSimple73737
Node: ExGraft74220
Node: ExMkisofs75520
Node: ExGrowisofs77328
Node: ExIncBackup78518
Node: ExIncBckAcc81694
Node: ExBootable83399
Node: Files87581
Node: Environ88676
Node: Seealso89549
Node: Bugreport90200
Node: Legal90793
Node: CommandIdx91690
Node: ConceptIdx108682

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.5, Jan 30, 2021"
@c man .TH XORRISOFS 1 "Version 1.5.5, May 25, 2021"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -1725,6 +1725,21 @@ If no bootable MBR is indicated by other options and a partition gets created
by -append_partition, then @minus{}@minus{}mbr-force-bootable causes a
bootflag like it would do with e.g. @minus{}@minus{}protective-msdos-label.
@c man .TP
@item @minus{}@minus{}gpt-iso-bootable
@kindex @minus{}@minus{}gpt-iso-bootable Set Legacy BIOS bootable flag
@cindex Bootability, GPT Legacy BIOS bootable, @minus{}@minus{}gpt-iso-bootable
Set bit 2 of the GPT partition flags for the ISO 9660 partition if such a GPT
partition emerges. This bit is specified as "Legacy BIOS bootable" but its
true significance is unclear.
Some GPT-aware BIOS might want to see it in some partition.
@c man .TP
@item @minus{}@minus{}gpt-iso-not-ro
@kindex @minus{}@minus{}gpt-iso-not-ro Do not set Read-only flag
@cindex Bootability, GPT Read-only flag, @minus{}@minus{}gpt-iso-not-ro
Do not set bit 60 of the GPT partition flags for the ISO 9660 partition if such
a GPT partition emerges. This bit is specified as "Read-only" and thus
appropriate. But it is unusual in GPT disk partitions.
@c man .TP
@item -partition_offset 2kb_block_adr
@kindex -partition_offset Make mountable by partition 1
@cindex Mountability, by non-trivial partition 1, -partition_offset