New -boot_image bootspec appended_gpt_with_gaps=

This commit is contained in:
Thomas Schmitt 2024-12-16 18:21:28 +01:00
parent 2049dfc996
commit 6deb2435ab
8 changed files with 179 additions and 78 deletions

View File

@ -1234,6 +1234,16 @@ interval_text_long:;
if(was_ok) if(was_ok)
is_change= 1; is_change= 1;
} else if(strncmp(treatpt, "appended_gpt_with_gaps=", 23) == 0) {
if(strcmp(treatpt + 23, "on") == 0) {
xorriso->iso_mbr_part_flag |= 2;
} else if(strcmp(treatpt + 23, "off") == 0) {
xorriso->iso_mbr_part_flag &= ~2;
} else
was_ok= 0;
if(was_ok)
is_change= 1;
} else if(strncmp(treatpt, "gpt_disk_guid=", 14) == 0) { } else if(strncmp(treatpt, "gpt_disk_guid=", 14) == 0) {
ret= Xorriso_parse_gpt_guid(xorriso, treatpt + 14, 0); ret= Xorriso_parse_gpt_guid(xorriso, treatpt + 14, 0);
if(ret <= 0) if(ret <= 0)

View File

@ -3103,6 +3103,15 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
} }
} }
is_default= (xorriso->iso_mbr_part_flag & 2) == 0;
if(is_default) {
sprintf(line, "-boot_image any appended_gpt_with_gaps=off\n");
} else {
sprintf(line, "-boot_image any appended_gpt_with_gaps=on\n");
}
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso, filter, fp, flag & 2);
is_default= (xorriso->part_like_isohybrid == 0); is_default= (xorriso->part_like_isohybrid == 0);
sprintf(line, "-boot_image any part_like_isohybrid=%s\n", sprintf(line, "-boot_image any part_like_isohybrid=%s\n",
xorriso->part_like_isohybrid ? "on" : "off"); xorriso->part_like_isohybrid ? "on" : "off");

View File

@ -885,6 +885,7 @@ int Xorriso_make_iso_write_opts(struct XorrisO *xorriso, IsoImage *image,
{ {
int ext, i, ret, pad_by_libisofs= 0, is_bootable= 0, relax, intvl_string= 0; int ext, i, ret, pad_by_libisofs= 0, is_bootable= 0, relax, intvl_string= 0;
int intvl_check= 2; /* 3 forbids "imported_iso" */ int intvl_check= 2; /* 3 forbids "imported_iso" */
int with_appended_partition= 0;
char *out_cs, *part_image; char *out_cs, *part_image;
IsoNode *root_node; IsoNode *root_node;
uint32_t padding; uint32_t padding;
@ -981,6 +982,7 @@ int Xorriso_make_iso_write_opts(struct XorrisO *xorriso, IsoImage *image,
isoburn_igopt_set_part_type_guid(sopts, i + 1, isoburn_igopt_set_part_type_guid(sopts, i + 1,
xorriso->appended_part_type_guids[i], xorriso->appended_part_type_guids[i],
xorriso->appended_part_gpt_flags[i] & 1); xorriso->appended_part_gpt_flags[i] & 1);
with_appended_partition= 1;
} }
isoburn_igopt_set_appended_as_gpt(sopts, xorriso->appended_as_gpt); isoburn_igopt_set_appended_as_gpt(sopts, xorriso->appended_as_gpt);
isoburn_igopt_set_appended_as_apm(sopts, xorriso->appended_as_apm); isoburn_igopt_set_appended_as_apm(sopts, xorriso->appended_as_apm);
@ -989,6 +991,13 @@ int Xorriso_make_iso_write_opts(struct XorrisO *xorriso, IsoImage *image,
isoburn_igopt_set_iso_type_guid(sopts, xorriso->iso_gpt_type_guid, isoburn_igopt_set_iso_type_guid(sopts, xorriso->iso_gpt_type_guid,
xorriso->iso_mbr_part_flag & 1); xorriso->iso_mbr_part_flag & 1);
isoburn_igopt_set_gpt_guid(sopts, xorriso->gpt_guid, xorriso->gpt_guid_mode); isoburn_igopt_set_gpt_guid(sopts, xorriso->gpt_guid, xorriso->gpt_guid_mode);
/* GPT with gaps only if partitions get appended */
if(with_appended_partition && xorriso->appended_as_gpt)
isoburn_igopt_set_gpt_with_gaps(sopts, !!(xorriso->iso_mbr_part_flag & 2),
!!(xorriso->iso_mbr_part_flag & 4),
!!(xorriso->iso_mbr_part_flag & 8));
ret= isoburn_igopt_set_max_ce_entries(sopts, xorriso->max_ce_entries, ret= isoburn_igopt_set_max_ce_entries(sopts, xorriso->max_ce_entries,
xorriso->max_ce_entries_flag); xorriso->max_ce_entries_flag);
if(ret <= 0) if(ret <= 0)

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.5.7, Nov 01, 2024" .TH XORRISO 1 "Version 1.5.7, Dec 08, 2024"
.\" Please adjust this date whenever revising the manpage. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -4019,7 +4019,7 @@ Command \-volume_date "uuid" can be used to set their value.
.br .br
\fBbin_path=\fR depicts an El Torito boot image file, a binary program \fBbin_path=\fR depicts an El Torito boot image file, a binary program
which is to be started by the hardware boot facility (e.g. the BIOS) which is to be started by the hardware boot facility (e.g. the BIOS)
at boot time. at boot time. Default platform_id is 0x00 = legacy 80x86 BIOS.
.br .br
\fBefi_path=\fR depicts an El Torito boot image file that is ready for \fBefi_path=\fR depicts an El Torito boot image file that is ready for
EFI booting. This is normally a FAT filesystem image not larger than EFI booting. This is normally a FAT filesystem image not larger than
@ -4032,9 +4032,12 @@ It controls the boot medium emulation code of a boot image.
The default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD cdboot. The default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD cdboot.
.br .br
\fBload_size=\fR is a value which depends on the boot image. \fBload_size=\fR is a value which depends on the boot image.
Default is 2048 which matches the expectations of most boot images. Default for legacy BIOS is 2048 which matches the expectations of most BIOS
The special value "full" means the full size of the boot image file boot images. The special value "full" means the full size of the boot image
rounded up to a multiple of 2048 bytes. Maximum is 33,552,384 bytes. file rounded up to a multiple of 2048 bytes. Maximum is 33,552,384 bytes.
With EFI boot images the default is the full image size. Images which exceed
the maximum size get size 0 or 1, which means "up to the end of the device"
according to the UEFI specification.
.br .br
\fBboot_info_table=on\fR causes address patching to bytes 8 to 63 \fBboot_info_table=on\fR causes address patching to bytes 8 to 63
of the boot image which is given by "any" "bin_path=". of the boot image which is given by "any" "bin_path=".
@ -4188,6 +4191,23 @@ influenced by \-append_partition parameter partition_number.
By default, appended partitions get marked in APM only if APM is By default, appended partitions get marked in APM only if APM is
produced because of other options together with part_like_isohybrid="on". produced because of other options together with part_like_isohybrid="on".
.br .br
The next two settings apply only if partitions get appended by command
\-append_partition and if GPT emerges at all, e.g. by appended_part_as=gpt.
.br
\fBappended_gpt_with_gaps=on\fR increases the chance to get in GPT the
partition numbers given with command \-append_partition.
It may leave some parts of the resulting image unclaimed by partitions in
the emerging GPT. 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=16.
.br
\fBappended_gpt_with_gaps=off\fR causes the default behavior of inserting
gap filling partitions 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 appended_part_as=gpt.
Commands which produce isohybrid\-style invalid GPT disable gap filling.
.br
\fBchrp_boot_part=on\fR causes a single partition in MBR which covers \fBchrp_boot_part=on\fR causes a single partition in MBR which covers
the whole ISO image and has type 0x96. This is not compatible with any the whole ISO image and has type 0x96. This is not compatible with any
other feature that produces MBR partition entries. It makes GPT unrecognizable. other feature that produces MBR partition entries. It makes GPT unrecognizable.
@ -4400,6 +4420,9 @@ If the number of preceding partitions is too high, then a NOTE message informs
about the inability to achieve partition_number and about the actually assigned about the inability to achieve partition_number and about the actually assigned
number. number.
.br .br
The chance to get the desired partition number is increased much by
command \-boot_image "any" "appended_gpt_with_gaps=on".
.br
The type_code may be the same as described with MBR. Given GUIDs are used The type_code may be the same as described with MBR. Given GUIDs are used
unchanged. Given MBR partition types get translated. 0xef becomes unchanged. Given MBR partition types get translated. 0xef becomes
C12A7328\-F81F\-11D2\-BA4B\-00A0C93EC93B, others become C12A7328\-F81F\-11D2\-BA4B\-00A0C93EC93B, others become

View File

@ -3385,7 +3385,8 @@ Examples:
"uuid" can be used to set their value. "uuid" can be used to set their value.
*bin_path=* depicts an El Torito boot image file, a binary program *bin_path=* depicts an El Torito boot image file, a binary program
which is to be started by the hardware boot facility (e.g. the which is to be started by the hardware boot facility (e.g. the
BIOS) at boot time. BIOS) at boot time. Default platform_id is 0x00 = legacy 80x86
BIOS.
*efi_path=* depicts an El Torito boot image file that is ready for *efi_path=* depicts an El Torito boot image file that is ready for
EFI booting. This is normally a FAT filesystem image not larger EFI booting. This is normally a FAT filesystem image not larger
than 65535 blocks of 512 bytes (= 32 MiB - 512). Its load_size is than 65535 blocks of 512 bytes (= 32 MiB - 512). Its load_size is
@ -3396,10 +3397,13 @@ Examples:
default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD
cdboot. cdboot.
*load_size=* is a value which depends on the boot image. Default *load_size=* is a value which depends on the boot image. Default
is 2048 which matches the expectations of most boot images. The for legacy BIOS is 2048 which matches the expectations of most BIOS
special value "full" means the full size of the boot image file boot images. The special value "full" means the full size of the
rounded up to a multiple of 2048 bytes. Maximum is 33,552,384 boot image file rounded up to a multiple of 2048 bytes. Maximum is
bytes. 33,552,384 bytes. With EFI boot images the default is the full
image size. Images which exceed the maximum size get size 0 or 1,
which means "up to the end of the device" according to the UEFI
specification.
*boot_info_table=on* causes address patching to bytes 8 to 63 of *boot_info_table=on* causes address patching to bytes 8 to 63 of
the boot image which is given by "any" "bin_path=". the boot image which is given by "any" "bin_path=".
"boot_info_table=off" disables this patching. "boot_info_table=off" disables this patching.
@ -3530,6 +3534,22 @@ Examples:
By default, appended partitions get marked in APM only if APM is By default, appended partitions get marked in APM only if APM is
produced because of other options together with produced because of other options together with
part_like_isohybrid="on". part_like_isohybrid="on".
The next two settings apply only if partitions get appended by
command -append_partition and if GPT emerges at all, e.g. by
appended_part_as=gpt.
*appended_gpt_with_gaps=on* increases the chance to get in GPT the
partition numbers given with command -append_partition. It may
leave some parts of the resulting image unclaimed by partitions in
the emerging GPT. 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=16.
*appended_gpt_with_gaps=off* causes the default behavior of
inserting gap filling partitions 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
appended_part_as=gpt. Commands which produce isohybrid-style
invalid GPT disable gap filling.
*chrp_boot_part=on* causes a single partition in MBR which covers *chrp_boot_part=on* causes a single partition in MBR which covers
the whole ISO image and has type 0x96. This is not compatible with the whole ISO image and has type 0x96. This is not compatible with
any other feature that produces MBR partition entries. It makes any other feature that produces MBR partition entries. It makes
@ -3710,6 +3730,8 @@ Examples:
partition_number. If the number of preceding partitions is too partition_number. If the number of preceding partitions is too
high, then a NOTE message informs about the inability to achieve high, then a NOTE message informs about the inability to achieve
partition_number and about the actually assigned number. partition_number and about the actually assigned number.
The chance to get the desired partition number is increased much by
command -boot_image "any" "appended_gpt_with_gaps=on".
The type_code may be the same as described with MBR. Given GUIDs The type_code may be the same as described with MBR. Given GUIDs
are used unchanged. Given MBR partition types get translated. are used unchanged. Given MBR partition types get translated.
0xef becomes C12A7328-F81F-11D2-BA4B-00A0C93EC93B, others become 0xef becomes C12A7328-F81F-11D2-BA4B-00A0C93EC93B, others become
@ -6128,7 +6150,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -alter_date sets timestamps in ISO image: Manip. (line 181) * -alter_date sets timestamps in ISO image: Manip. (line 181)
* -alter_date_r sets timestamps in ISO image: Manip. (line 216) * -alter_date_r sets timestamps in ISO image: Manip. (line 216)
* -append_partition adds arbitrary file after image end: Bootable. * -append_partition adds arbitrary file after image end: Bootable.
(line 470) (line 490)
* -application_id sets application id: SetWrite. (line 220) * -application_id sets application id: SetWrite. (line 220)
* -application_use sets application use field: SetWrite. (line 295) * -application_use sets application use field: SetWrite. (line 295)
* -as emulates mkisofs or cdrecord: Emulation. (line 13) * -as emulates mkisofs or cdrecord: Emulation. (line 13)
@ -6400,14 +6422,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* ACL, show in ISO image, -getfacl: Navigate. (line 60) * ACL, show in ISO image, -getfacl: Navigate. (line 60)
* ACL, show in ISO image, -getfacl_r: Navigate. (line 66) * ACL, show in ISO image, -getfacl_r: Navigate. (line 66)
* ACL, _definition: Extras. (line 50) * ACL, _definition: Extras. (line 50)
* APM block size: Bootable. (line 461) * APM block size: Bootable. (line 481)
* APM, _definition: Extras. (line 42) * APM, _definition: Extras. (line 42)
* Appendable media, _definition: Media. (line 43) * Appendable media, _definition: Media. (line 43)
* Appended Filesystem Image, -append_partition: Bootable. (line 470) * Appended Filesystem Image, -append_partition: Bootable. (line 490)
* Appended partition, in APM: Bootable. (line 326) * Appended partition, gaps in GPT: Bootable. (line 340)
* Appended partition, in MBR or GPT: Bootable. (line 317) * Appended partition, in APM: Bootable. (line 330)
* Appended partitions, GPT: Bootable. (line 499) * Appended partition, in MBR or GPT: Bootable. (line 321)
* Appended partitions, MBR: Bootable. (line 480) * Appended partitions, GPT: Bootable. (line 519)
* Appended partitions, MBR: Bootable. (line 500)
* Automatic execution order, of arguments, -x: ArgSort. (line 16) * Automatic execution order, of arguments, -x: ArgSort. (line 16)
* Backslash Interpretation, _definition: Processing. (line 57) * Backslash Interpretation, _definition: Processing. (line 57)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 398) * Backup, enable fast incremental, -disk_dev_ino: Loading. (line 398)
@ -6425,15 +6448,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Character set, learn from image, -auto_charset: Loading. (line 141) * Character set, learn from image, -auto_charset: Loading. (line 141)
* Character Set, of terminal, -local_charset: Charset. (line 57) * Character Set, of terminal, -local_charset: Charset. (line 57)
* Character Set, _definition: Charset. (line 6) * Character Set, _definition: Charset. (line 6)
* CHRP partition, _definition: Bootable. (line 333) * CHRP partition, _definition: Bootable. (line 353)
* Closed media, _definition: Media. (line 49) * Closed media, _definition: Media. (line 49)
* Comment, #: Scripting. (line 164) * Comment, #: Scripting. (line 164)
* Control, signal handling, -signal_handling: Exception. (line 67) * Control, signal handling, -signal_handling: Exception. (line 67)
* Create, new ISO image, _definition: Methods. (line 7) * Create, new ISO image, _definition: Methods. (line 7)
* Cylinder alignment, _definition: Bootable. (line 377) * Cylinder alignment, _definition: Bootable. (line 397)
* Cylinder size, _definition: Bootable. (line 362) * Cylinder size, _definition: Bootable. (line 382)
* Damaged track and session, close, -close_damaged: Writing. (line 209) * Damaged track and session, close, -close_damaged: Writing. (line 209)
* DEC Alpha SRM boot sector, production: Bootable. (line 447) * DEC Alpha SRM boot sector, production: Bootable. (line 467)
* Delete, from ISO image, -rm: Manip. (line 20) * Delete, from ISO image, -rm: Manip. (line 20)
* Delete, from ISO image, -rm_r: Manip. (line 26) * Delete, from ISO image, -rm_r: Manip. (line 26)
* Delete, ISO directory, -rmdir: Manip. (line 29) * Delete, ISO directory, -rmdir: Manip. (line 29)
@ -6465,7 +6488,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, _definition: Drives. (line 6) * Drive, _definition: Drives. (line 6)
* EA, _definition: Extras. (line 66) * EA, _definition: Extras. (line 66)
* ECMA-119, _definition: Model. (line 6) * ECMA-119, _definition: Model. (line 6)
* EFI system partition, _definition: Bootable. (line 342) * EFI system partition, _definition: Bootable. (line 362)
* El Torito, _definition: Extras. (line 19) * El Torito, _definition: Extras. (line 19)
* Emulation, -as: Emulation. (line 13) * Emulation, -as: Emulation. (line 13)
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 155) * Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 155)
@ -6492,19 +6515,19 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Filter, _definition: Filter. (line 6) * Filter, _definition: Filter. (line 6)
* Frontend program, start at pipes, -launch_frontend: Frontend. * Frontend program, start at pipes, -launch_frontend: Frontend.
(line 141) (line 141)
* GPT Legacy BIOS bootable flag, set for ISO: Bootable. (line 399) * GPT Legacy BIOS bootable flag, set for ISO: Bootable. (line 419)
* GPT read-only flag, do not set for ISO: Bootable. (line 404) * GPT read-only flag, do not set for ISO: Bootable. (line 424)
* GPT, control GUID, -boot_image gpt_disk_guid=: Bootable. (line 260) * GPT, control GUID, -boot_image gpt_disk_guid=: Bootable. (line 264)
* GPT, _definition: Extras. (line 39) * GPT, _definition: Extras. (line 39)
* Group, global in ISO image, -gid: SetWrite. (line 316) * Group, global in ISO image, -gid: SetWrite. (line 316)
* Group, in ISO image, -chgrp: Manip. (line 49) * Group, in ISO image, -chgrp: Manip. (line 49)
* Group, in ISO image, -chgrp_r: Manip. (line 53) * Group, in ISO image, -chgrp_r: Manip. (line 53)
* Growing, _definition: Methods. (line 20) * Growing, _definition: Methods. (line 20)
* Hard links, control handling, -hardlinks: Loading. (line 152) * Hard links, control handling, -hardlinks: Loading. (line 152)
* HFS+ allocation block size: Bootable. (line 458) * HFS+ allocation block size: Bootable. (line 478)
* HFS+ serial number: Bootable. (line 455) * HFS+ serial number: Bootable. (line 475)
* hidden, set in ISO image, -hide: Manip. (line 219) * hidden, set in ISO image, -hide: Manip. (line 219)
* HP-PA boot sector, production: Bootable. (line 430) * HP-PA boot sector, production: Bootable. (line 450)
* Image reading, cache size, -data_cache_size: Loading. (line 510) * Image reading, cache size, -data_cache_size: Loading. (line 510)
* Image, demand volume ID, -assert_volid: Loading. (line 129) * Image, demand volume ID, -assert_volid: Loading. (line 129)
* Image, discard pending changes, -rollback: Writing. (line 9) * Image, discard pending changes, -rollback: Writing. (line 9)
@ -6570,15 +6593,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Linux file attributes, _definition: Extras. (line 84) * Linux file attributes, _definition: Extras. (line 84)
* List delimiter, _definition: Processing. (line 13) * List delimiter, _definition: Processing. (line 13)
* Local Character Set, _definition: Charset. (line 11) * Local Character Set, _definition: Charset. (line 11)
* MBR bootable/active flag, enforce: Bootable. (line 388) * MBR bootable/active flag, enforce: Bootable. (line 408)
* MBR, set, -boot_image system_area=: Bootable. (line 227) * MBR, set, -boot_image system_area=: Bootable. (line 231)
* MBR, _definition: Extras. (line 27) * MBR, _definition: Extras. (line 27)
* MD5, control handling, -md5: Loading. (line 315) * MD5, control handling, -md5: Loading. (line 315)
* Media, erase, -blank: Writing. (line 57) * Media, erase, -blank: Writing. (line 57)
* Media, format, -format: Writing. (line 87) * Media, format, -format: Writing. (line 87)
* Media, list formats, -list_formats: Writing. (line 128) * Media, list formats, -list_formats: Writing. (line 128)
* Media, list write speeds, -list_speeds: Writing. (line 139) * Media, list write speeds, -list_speeds: Writing. (line 139)
* MIPS boot file, activation: Bootable. (line 409) * MIPS boot file, activation: Bootable. (line 429)
* mkisofs, Emulation: Emulation. (line 17) * mkisofs, Emulation: Emulation. (line 17)
* Modifying, _definition: Methods. (line 28) * Modifying, _definition: Methods. (line 28)
* Multi-session media, _definition: Media. (line 7) * Multi-session media, _definition: Media. (line 7)
@ -6606,15 +6629,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Ownership, global in ISO image, -uid: SetWrite. (line 313) * Ownership, global in ISO image, -uid: SetWrite. (line 313)
* Ownership, in ISO image, -chown: Manip. (line 43) * Ownership, in ISO image, -chown: Manip. (line 43)
* Ownership, in ISO image, -chown_r: Manip. (line 47) * Ownership, in ISO image, -chown_r: Manip. (line 47)
* Partition offset, _definition: Bootable. (line 352) * Partition offset, _definition: Bootable. (line 372)
* Partition table, _definition: Bootable. (line 300) * Partition table, _definition: Bootable. (line 304)
* Pathspec, _definition: SetInsert. (line 126) * Pathspec, _definition: SetInsert. (line 126)
* Pattern expansion, for disk paths, -disk_pattern: Insert. (line 34) * Pattern expansion, for disk paths, -disk_pattern: Insert. (line 34)
* Pattern expansion, for ISO paths, -iso_rr_pattern: Manip. (line 10) * Pattern expansion, for ISO paths, -iso_rr_pattern: Manip. (line 10)
* Pattern expansion, _definition: Processing. (line 29) * Pattern expansion, _definition: Processing. (line 29)
* Permissions, in ISO image, -chmod: Manip. (line 55) * Permissions, in ISO image, -chmod: Manip. (line 55)
* Permissions, in ISO image, -chmod_r: Manip. (line 66) * Permissions, in ISO image, -chmod_r: Manip. (line 66)
* PReP partition, _definition: Bootable. (line 337) * PReP partition, _definition: Bootable. (line 357)
* Problems, reporting: Bugreport. (line 6) * Problems, reporting: Bugreport. (line 6)
* Process, consolidate text output, -pkt_output: Frontend. (line 7) * Process, consolidate text output, -pkt_output: Frontend. (line 7)
* Process, control abort on error, -abort_on: Exception. (line 28) * Process, control abort on error, -abort_on: Exception. (line 28)
@ -6676,10 +6699,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Session, select as input, -load: Loading. (line 54) * Session, select as input, -load: Loading. (line 54)
* Session, _definition: Model. (line 6) * Session, _definition: Model. (line 6)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26) * Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26)
* SUN Disk Label, production: Bootable. (line 420) * SUN Disk Label, production: Bootable. (line 440)
* SUN SPARC boot images, activation: Bootable. (line 517) * SUN SPARC boot images, activation: Bootable. (line 539)
* Symbolic link, create, -lns: Insert. (line 192) * Symbolic link, create, -lns: Insert. (line 192)
* System area, _definition: Bootable. (line 227) * System area, _definition: Bootable. (line 231)
* Table-of-content, choose info to show, -toc_info_type: Inquiry. * Table-of-content, choose info to show, -toc_info_type: Inquiry.
(line 49) (line 49)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 450) * Table-of-content, search sessions, -rom_toc_scan: Loading. (line 450)
@ -6760,40 +6783,40 @@ Node: Filter125299
Node: Writing129921 Node: Writing129921
Node: SetWrite142415 Node: SetWrite142415
Node: Bootable173847 Node: Bootable173847
Node: Jigdo205129 Node: Jigdo206572
Node: Charset210132 Node: Charset211575
Node: Exception213461 Node: Exception214904
Node: DialogCtl219650 Node: DialogCtl221093
Node: Inquiry222252 Node: Inquiry223695
Node: Navigate234947 Node: Navigate236390
Node: Verify247000 Node: Verify248443
Node: Restore258149 Node: Restore259592
Node: Emulation270356 Node: Emulation271799
Node: Scripting281932 Node: Scripting283375
Node: Frontend290187 Node: Frontend291630
Node: Examples299813 Node: Examples301256
Node: ExDevices300991 Node: ExDevices302434
Node: ExCreate301652 Node: ExCreate303095
Node: ExDialog302952 Node: ExDialog304395
Node: ExGrowing304223 Node: ExGrowing305666
Node: ExModifying305032 Node: ExModifying306475
Node: ExBootable305542 Node: ExBootable306985
Node: ExCharset306097 Node: ExCharset307540
Node: ExPseudo306993 Node: ExPseudo308436
Node: ExCdrecord307920 Node: ExCdrecord309363
Node: ExMkisofs308240 Node: ExMkisofs309683
Node: ExGrowisofs310137 Node: ExGrowisofs311580
Node: ExException311290 Node: ExException312733
Node: ExTime311748 Node: ExTime313191
Node: ExIncBackup312206 Node: ExIncBackup313649
Node: ExRestore316232 Node: ExRestore317675
Node: ExRecovery317178 Node: ExRecovery318621
Node: Files317750 Node: Files319193
Node: Environ319084 Node: Environ320527
Node: Seealso319832 Node: Seealso321275
Node: Bugreport320632 Node: Bugreport322075
Node: Legal321223 Node: Legal322666
Node: CommandIdx322235 Node: CommandIdx323678
Node: ConceptIdx341541 Node: ConceptIdx342984
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @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 .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.5.7, Nov 01, 2024" @c man .TH XORRISO 1 "Version 1.5.7, Dec 08, 2024"
@c man .\" Please adjust this date whenever revising the manpage. @c man .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @c man .\" Some roff macros, for reference:
@ -4590,7 +4590,7 @@ Command -volume_date "uuid" can be used to set their value.
@* @*
@strong{bin_path=} depicts an El Torito boot image file, a binary program @strong{bin_path=} depicts an El Torito boot image file, a binary program
which is to be started by the hardware boot facility (e.g. the BIOS) which is to be started by the hardware boot facility (e.g. the BIOS)
at boot time. at boot time. Default platform_id is 0x00 = legacy 80x86 BIOS.
@* @*
@strong{efi_path=} depicts an El Torito boot image file that is ready for @strong{efi_path=} depicts an El Torito boot image file that is ready for
EFI booting. This is normally a FAT filesystem image not larger than EFI booting. This is normally a FAT filesystem image not larger than
@ -4603,9 +4603,12 @@ It controls the boot medium emulation code of a boot image.
The default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD cdboot. The default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD cdboot.
@* @*
@strong{load_size=} is a value which depends on the boot image. @strong{load_size=} is a value which depends on the boot image.
Default is 2048 which matches the expectations of most boot images. Default for legacy BIOS is 2048 which matches the expectations of most BIOS
The special value "full" means the full size of the boot image file boot images. The special value "full" means the full size of the boot image
rounded up to a multiple of 2048 bytes. Maximum is 33,552,384 bytes. file rounded up to a multiple of 2048 bytes. Maximum is 33,552,384 bytes.
With EFI boot images the default is the full image size. Images which exceed
the maximum size get size 0 or 1, which means "up to the end of the device"
according to the UEFI specification.
@* @*
@strong{boot_info_table=on} causes address patching to bytes 8 to 63 @strong{boot_info_table=on} causes address patching to bytes 8 to 63
of the boot image which is given by "any" "bin_path=". of the boot image which is given by "any" "bin_path=".
@ -4765,6 +4768,24 @@ influenced by -append_partition parameter partition_number.
By default, appended partitions get marked in APM only if APM is By default, appended partitions get marked in APM only if APM is
produced because of other options together with part_like_isohybrid="on". produced because of other options together with part_like_isohybrid="on".
@* @*
The next two settings apply only if partitions get appended by command
-append_partition and if GPT emerges at all, e.g. by appended_part_as=gpt.
@*
@cindex Appended partition, gaps in GPT
@strong{appended_gpt_with_gaps=on} increases the chance to get in GPT the
partition numbers given with command -append_partition.
It may leave some parts of the resulting image unclaimed by partitions in
the emerging GPT. 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=16.
@*
@strong{appended_gpt_with_gaps=off} causes the default behavior of inserting
gap filling partitions 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 appended_part_as=gpt.
Commands which produce isohybrid-style invalid GPT disable gap filling.
@*
@cindex CHRP partition, _definition @cindex CHRP partition, _definition
@strong{chrp_boot_part=on} causes a single partition in MBR which covers @strong{chrp_boot_part=on} causes a single partition in MBR which covers
the whole ISO image and has type 0x96. This is not compatible with any the whole ISO image and has type 0x96. This is not compatible with any
@ -5000,6 +5021,9 @@ If the number of preceding partitions is too high, then a NOTE message informs
about the inability to achieve partition_number and about the actually assigned about the inability to achieve partition_number and about the actually assigned
number. number.
@* @*
The chance to get the desired partition number is increased much by
command -boot_image "any" "appended_gpt_with_gaps=on".
@*
The type_code may be the same as described with MBR. Given GUIDs are used The type_code may be the same as described with MBR. Given GUIDs are used
unchanged. Given MBR partition types get translated. 0xef becomes unchanged. Given MBR partition types get translated. 0xef becomes
C12A7328-F81F-11D2-BA4B-00A0C93EC93B, others become C12A7328-F81F-11D2-BA4B-00A0C93EC93B, others become

View File

@ -615,6 +615,9 @@ struct XorrisO { /* the global context of xorriso */
int iso_mbr_part_flag; int iso_mbr_part_flag;
/* Flags in case that the partition table is GPT: /* Flags in case that the partition table is GPT:
bit0= iso_gpt_type_guid is valid bit0= iso_gpt_type_guid is valid
bit1= gaps in the image coverage are allowed
bit2= with bit1: do not sort GPT partition array by start block
bit3= with bit1: do not create partition 1 for ISO filesystem
*/ */
/* See libisoburn.h isoburn_igopt_set_gpt_guid() */ /* See libisoburn.h isoburn_igopt_set_gpt_guid() */

View File

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