diff --git a/xorriso/opts_a_c.c b/xorriso/opts_a_c.c index a51d4b44..b3ec6176 100644 --- a/xorriso/opts_a_c.c +++ b/xorriso/opts_a_c.c @@ -303,45 +303,74 @@ int Xorriso_option_append_partition(struct XorrisO *xorriso, char *partno_text, static char *part_type_names[] = {"FAT12", "FAT16", "Linux", "", NULL}; static int part_type_codes[] = { 0x01, 0x06, 0x83, 0x00}; - sscanf(partno_text, "%d", &partno); - if(partno < 1 || partno > Xorriso_max_appended_partitionS) { - sprintf(xorriso->info_text, - "-append_partition: Partition number '%s' is out of range (1...%d)", - partno_text, Xorriso_max_appended_partitionS); - Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); - return(0); - } - for(i= 0; part_type_names[i] != NULL; i++) - if(strcmp(part_type_names[i], type_text) == 0) - break; - if(part_type_names[i] != NULL) - type_code= part_type_codes[i]; - if(type_code < 0) { - ret= Xorriso_parse_type_guid(xorriso, type_text, guid, &type_code, 0); - if(ret > 0) - guid_valid= 1; - } - - if(type_code < 0) { - tpt= type_text; - if(strncmp(tpt, "0x", 2) == 0) - tpt+= 2; - else - goto bad_type; - unum= 0xffffffff; - sscanf(tpt, "%X", &unum); - if(unum > 0xff) { -bad_type:; + if(strcmp(partno_text, "all") == 0) { + if(strcmp(type_text, "revoke") != 0 && image_path[0] != 0) { sprintf(xorriso->info_text, -"-append_partition: Partition type '%s' is out of range (0x00...0xff or GUID)", - type_text); + "-append_partition: Pseudo partition number 'all' works only with type code 'revoke' or empty disk path"); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); + return(0); + } + partno= -1; + } else { + sscanf(partno_text, "%d", &partno); + if(partno < 1 || partno > Xorriso_max_appended_partitionS) { + sprintf(xorriso->info_text, + "-append_partition: Partition number '%s' is out of range (1...%d)", + partno_text, Xorriso_max_appended_partitionS); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); return(0); } - type_code= unum; } - disable= (image_path[0] == 0); + if(strcmp(type_text, "revoke") == 0) { + disable= 1; + } else { + for(i= 0; part_type_names[i] != NULL; i++) + if(strcmp(part_type_names[i], type_text) == 0) + break; + if(part_type_names[i] != NULL) + type_code= part_type_codes[i]; + if(type_code < 0) { + ret= Xorriso_parse_type_guid(xorriso, type_text, guid, &type_code, 0); + if(ret > 0) + guid_valid= 1; + } + if(type_code < 0) { + tpt= type_text; + if(strncmp(tpt, "0x", 2) == 0) + tpt+= 2; + else + goto bad_type; + unum= 0xffffffff; + sscanf(tpt, "%X", &unum); + if(unum > 0xff) { +bad_type:; + sprintf(xorriso->info_text, +"-append_partition: Partition type '%s' is out of range (0x00...0xff or GUID)", + type_text); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); + return(0); + } + type_code= unum; + } + disable= (image_path[0] == 0); + } + + if(partno == -1) { + /* All partitions */ + set_changed= 0; + for(i= 0; i < Xorriso_max_appended_partitionS; i++) { + /* For now only pseudo-type 'revoke' works for all partitions */ + if(xorriso->appended_partitions[i - 1] != NULL) { + if(xorriso->appended_partitions[i - 1][0] != 0) + set_changed= 1; + free(xorriso->appended_partitions[i - 1]); + xorriso->appended_partitions[i - 1]= NULL; + } + } + goto work_done; + } + set_changed= 1; if(xorriso->appended_partitions[partno - 1] != NULL) { if(strcmp(xorriso->appended_partitions[partno - 1], image_path) == 0) @@ -354,6 +383,7 @@ bad_type:; } if(disable) goto work_done; + xorriso->appended_partitions[partno - 1]= strdup(image_path); if(xorriso->appended_partitions[partno - 1] == NULL) { Xorriso_no_malloc_memory(xorriso, NULL, 0); diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index e06b8092..ddb98b58 100644 --- a/xorriso/xorriso.1 +++ b/xorriso/xorriso.1 @@ -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 XORRISO 1 "Version 1.5.7, Jun 07, 2023" +.TH XORRISO 1 "Version 1.5.7, Aug 07, 2023" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -3591,10 +3591,12 @@ and to write the loaded system area content without alterations. \fBdiscard\fR gives up the El Torito boot catalog and its boot images. regardless whether loaded from an ISO filesystem or defined by commands. Any BIOS or EFI related boot options get revoked. -Nevertheless, loaded system area data stay valid. If desired, they have to be -erased by +Nevertheless, loaded system area data and the possibly defined appended +partitions stay valid. If desired, they have to be erased by .br \-boot_image any system_area=/dev/zero +.br + \-append_partition all revoke \- .br \fBkeep\fR keeps or copies El Torito boot images unaltered and writes a new catalog. .br @@ -3615,23 +3617,49 @@ you do know that the images need no patching, use "any" "keep". \fBreplay\fR is a more modern version of "patch", which not only cares for existing El Torito boot equipment but also for the recognizable boot provisions in the System Area. It discards any existing \-boot_image -setting and executes the commands proposed by command \-report_el_torito "cmd". +setting including the system area and executes the commands proposed by +command \-report_el_torito "cmd". .br This action will only succeed if the file objects mentioned in the output of command \-report_el_torito "cmd" are still available. Do not remove or rename boot image files after \-indev. .br -Drop unknown El Torito: \-boot_image "any" "discard" -.br -Maintain recognizable stuff: \-boot_image "any" "replay" -.br -El Torito only for GRUB: \-boot_image "grub" "patch" -.br -El Torito only for ISOLINUX: \-boot_image "isolinux" "patch" +Out of historical reasons \fBreplay\fR does not revoke all possibly made +\-append_partition settings but only overwrites those for which the loaded +ISO image provides candidates. .br \fBshow_status\fR will print what is known about the loaded boot images and their designated fate. .br +Examples: +.br +Drop unknown El Torito: +.br + \-boot_image any discard +.br +Drop El Torito, system area, appended partitions: +.br + \-boot_image any discard +.br + \-boot_image any system_area=/dev/zero +.br + \-append_partition all revoke \- +.br +Maintain recognizable stuff after revoking possibly made \-append_partition +settings to surely get only the partitions from the loaded ISO: +.br + \-append_partition all revoke \- +.br + \-boot_image any replay +.br +Re\-adjust El Torito only for GRUB: +.br + \-boot_image grub patch +.br +Re\-adjust El Torito only for ISOLINUX: +.br + \-boot_image isolinux patch +.br A \fBbootspec\fR is a word of the form name=value. It is used to describe the parameters of a boot feature. @@ -4027,10 +4055,9 @@ In APM, 48465300\-0000\-11AA\-AA11\-00306543ECAC will be mapped to partition type "Apple_HFS", any other to "Data". .br If some other command causes the production of GPT, then the appended -partitions will be mentioned there too. +partitions will be mentioned there too. GPT can be forced by .br -The disk_path must provide the necessary data bytes at commit time. -An empty disk_path disables this feature for the given partition number. + \-boot_image "any" "appended_part_as=gpt" .br With SUN Disk Label (selected by \-boot_image any sparc_label=): .br @@ -4038,8 +4065,20 @@ partition_number may be 2 to 8. Number 1 will always be the ISO image. Partition start addresses are aligned to 320 KiB. The type_code does not matter. Submit 0x0. .br -Partition image name "." causes the partition to become a copy of the next +disk_path "." causes the partition to become a copy of the next lower valid one. +.br +With MBR, GPT, and SUN alike: +.br +The disk_path must provide the necessary data bytes at commit time. +.br +Issueing \-append_partition with a partition number that was already used in +a previous \-append_partition command does not cause an error but silently +overrides the previous setting. +.br +The pseudo type_code "revoke" or an empty disk_path prevent the partition from +being appended. The pseudo partition number "all" may be used in this case to +revoke all previous \-append_partition settings. .TP .B Jigdo Template Extraction: .PP diff --git a/xorriso/xorriso.info b/xorriso/xorriso.info index 42d7e466..c511c504 100644 --- a/xorriso/xorriso.info +++ b/xorriso/xorriso.info @@ -3038,9 +3038,11 @@ Examples: *discard* gives up the El Torito boot catalog and its boot images. regardless whether loaded from an ISO filesystem or defined by commands. Any BIOS or EFI related boot options get revoked. - Nevertheless, loaded system area data stay valid. If desired, they - have to be erased by + Nevertheless, loaded system area data and the possibly defined + appended partitions stay valid. If desired, they have to be erased + by -boot_image any system_area=/dev/zero + -append_partition all revoke - *keep* keeps or copies El Torito boot images unaltered and writes a new catalog. *patch* applies patching to existing El Torito boot images if they @@ -3057,17 +3059,32 @@ Examples: *replay* is a more modern version of "patch", which not only cares for existing El Torito boot equipment but also for the recognizable boot provisions in the System Area. It discards any existing - -boot_image setting and executes the commands proposed by command - -report_el_torito "cmd". + -boot_image setting including the system area and executes the + commands proposed by command -report_el_torito "cmd". This action will only succeed if the file objects mentioned in the output of command -report_el_torito "cmd" are still available. Do not remove or rename boot image files after -indev. - Drop unknown El Torito: -boot_image "any" "discard" - Maintain recognizable stuff: -boot_image "any" "replay" - El Torito only for GRUB: -boot_image "grub" "patch" - El Torito only for ISOLINUX: -boot_image "isolinux" "patch" + Out of historical reasons *replay* does not revoke all possibly + made -append_partition settings but only overwrites those for which + the loaded ISO image provides candidates. *show_status* will print what is known about the loaded boot images and their designated fate. + Examples: + Drop unknown El Torito: + -boot_image any discard + Drop El Torito, system area, appended partitions: + -boot_image any discard + -boot_image any system_area=/dev/zero + -append_partition all revoke - + Maintain recognizable stuff after revoking possibly made + -append_partition settings to surely get only the partitions from + the loaded ISO: + -append_partition all revoke - + -boot_image any replay + Re-adjust El Torito only for GRUB: + -boot_image grub patch + Re-adjust El Torito only for ISOLINUX: + -boot_image isolinux patch A *bootspec* is a word of the form name=value. It is used to describe the parameters of a boot feature. The names "dir", @@ -3400,16 +3417,25 @@ Examples: 48465300-0000-11AA-AA11-00306543ECAC will be mapped to partition 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. - The disk_path must provide the necessary data bytes at commit time. - An empty disk_path disables this feature for the given partition - number. + appended partitions will be mentioned there too. GPT can be forced + by + -boot_image "any" "appended_part_as=gpt" With SUN Disk Label (selected by -boot_image any sparc_label=): partition_number may be 2 to 8. Number 1 will always be the ISO image. Partition start addresses are aligned to 320 KiB. The type_code does not matter. Submit 0x0. - Partition image name "." causes the partition to become a copy of - the next lower valid one. + disk_path "." causes the partition to become a copy of the next + lower valid one. + With MBR, GPT, and SUN alike: + The disk_path must provide the necessary data bytes at commit time. + + Issueing -append_partition with a partition number that was already + used in a previous -append_partition command does not cause an + error but silently overrides the previous setting. + The pseudo type_code "revoke" or an empty disk_path prevent the + partition from being appended. The pseudo partition number "all" + may be used in this case to revoke all previous -append_partition + settings.  File: xorriso.info, Node: Jigdo, Next: Charset, Prev: Bootable, Up: Commands @@ -5685,7 +5711,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -alter_date sets timestamps in ISO image: Manip. (line 139) * -alter_date_r sets timestamps in ISO image: Manip. (line 174) * -append_partition adds arbitrary file after image end: Bootable. - (line 433) + (line 450) * -application_id sets application id: SetWrite. (line 218) * -application_use sets application use field: SetWrite. (line 293) * -as emulates mkisofs or cdrecord: Emulation. (line 13) @@ -5937,12 +5963,12 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * ACL, show in ISO image, -getfacl: Navigate. (line 60) * ACL, show in ISO image, -getfacl_r: Navigate. (line 66) * ACL, _definition: Extras. (line 50) -* APM block size: Bootable. (line 424) +* APM block size: Bootable. (line 441) * APM, _definition: Extras. (line 42) * Appendable media, _definition: Media. (line 43) -* Appended Filesystem Image, -append_partition: Bootable. (line 433) -* Appended partition, in APM: Bootable. (line 291) -* Appended partition, in MBR or GPT: Bootable. (line 284) +* Appended Filesystem Image, -append_partition: Bootable. (line 450) +* Appended partition, in APM: Bootable. (line 308) +* Appended partition, in MBR or GPT: Bootable. (line 301) * Automatic execution order, of arguments, -x: ArgSort. (line 16) * Backslash Interpretation, _definition: Processing. (line 57) * Backup, enable fast incremental, -disk_dev_ino: Loading. (line 255) @@ -5960,15 +5986,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Character set, learn from image, -auto_charset: Loading. (line 117) * Character Set, of terminal, -local_charset: Charset. (line 57) * Character Set, _definition: Charset. (line 6) -* CHRP partition, _definition: Bootable. (line 296) +* CHRP partition, _definition: Bootable. (line 313) * Closed media, _definition: Media. (line 49) * Comment, #: Scripting. (line 156) * Control, signal handling, -signal_handling: Exception. (line 66) * Create, new ISO image, _definition: Methods. (line 7) -* Cylinder alignment, _definition: Bootable. (line 340) -* Cylinder size, _definition: Bootable. (line 325) +* Cylinder alignment, _definition: Bootable. (line 357) +* Cylinder size, _definition: Bootable. (line 342) * Damaged track and session, close, -close_damaged: Writing. (line 209) -* DEC Alpha SRM boot sector, production: Bootable. (line 410) +* DEC Alpha SRM boot sector, production: Bootable. (line 427) * Delete, from ISO image, -rm: Manip. (line 20) * Delete, from ISO image, -rm_r: Manip. (line 26) * Delete, ISO directory, -rmdir: Manip. (line 29) @@ -6000,7 +6026,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Drive, _definition: Drives. (line 6) * EA, _definition: Extras. (line 66) * ECMA-119, _definition: Model. (line 6) -* EFI system partition, _definition: Bootable. (line 305) +* EFI system partition, _definition: Bootable. (line 322) * El Torito, _definition: Extras. (line 19) * Emulation, -as: Emulation. (line 13) * Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 155) @@ -6025,19 +6051,19 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Filter, _definition: Filter. (line 6) * Frontend program, start at pipes, -launch_frontend: Frontend. (line 141) -* GPT Legacy BIOS bootable flag, set for ISO: Bootable. (line 362) -* GPT read-only flag, do not set for ISO: Bootable. (line 367) -* GPT, control GUID, -boot_image gpt_disk_guid=: Bootable. (line 225) +* GPT Legacy BIOS bootable flag, set for ISO: Bootable. (line 379) +* GPT read-only flag, do not set for ISO: Bootable. (line 384) +* GPT, control GUID, -boot_image gpt_disk_guid=: Bootable. (line 242) * GPT, _definition: Extras. (line 39) * Group, global in ISO image, -gid: SetWrite. (line 314) * Group, in ISO image, -chgrp: Manip. (line 49) * Group, in ISO image, -chgrp_r: Manip. (line 53) * Growing, _definition: Methods. (line 20) * Hard links, control handling, -hardlinks: Loading. (line 128) -* HFS+ allocation block size: Bootable. (line 421) -* HFS+ serial number: Bootable. (line 418) +* HFS+ allocation block size: Bootable. (line 438) +* HFS+ serial number: Bootable. (line 435) * hidden, set in ISO image, -hide: Manip. (line 177) -* HP-PA boot sector, production: Bootable. (line 393) +* HP-PA boot sector, production: Bootable. (line 410) * Image reading, cache size, -data_cache_size: Loading. (line 361) * Image, demand volume ID, -assert_volid: Loading. (line 105) * Image, discard pending changes, -rollback: Writing. (line 9) @@ -6094,15 +6120,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Linux device type, -scsi_dev_family: AqDrive. (line 95) * List delimiter, _definition: Processing. (line 13) * Local Character Set, _definition: Charset. (line 11) -* MBR bootable/active flag, enforce: Bootable. (line 351) -* MBR, set, -boot_image system_area=: Bootable. (line 200) +* MBR bootable/active flag, enforce: Bootable. (line 368) +* MBR, set, -boot_image system_area=: Bootable. (line 217) * MBR, _definition: Extras. (line 27) * MD5, control handling, -md5: Loading. (line 183) * Media, erase, -blank: Writing. (line 57) * Media, format, -format: Writing. (line 87) * Media, list formats, -list_formats: Writing. (line 128) * Media, list write speeds, -list_speeds: Writing. (line 139) -* MIPS boot file, activation: Bootable. (line 372) +* MIPS boot file, activation: Bootable. (line 389) * mkisofs, Emulation: Emulation. (line 17) * Modifying, _definition: Methods. (line 28) * Multi-session media, _definition: Media. (line 7) @@ -6130,15 +6156,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Ownership, global in ISO image, -uid: SetWrite. (line 311) * Ownership, in ISO image, -chown: Manip. (line 43) * Ownership, in ISO image, -chown_r: Manip. (line 47) -* Partition offset, _definition: Bootable. (line 315) -* Partition table, _definition: Bootable. (line 265) +* Partition offset, _definition: Bootable. (line 332) +* Partition table, _definition: Bootable. (line 282) * Pathspec, _definition: SetInsert. (line 125) * Pattern expansion, for disk paths, -disk_pattern: Insert. (line 34) * Pattern expansion, for ISO paths, -iso_rr_pattern: Manip. (line 10) * Pattern expansion, _definition: Processing. (line 29) * Permissions, in ISO image, -chmod: Manip. (line 55) * Permissions, in ISO image, -chmod_r: Manip. (line 66) -* PReP partition, _definition: Bootable. (line 300) +* PReP partition, _definition: Bootable. (line 317) * Problems, reporting: Bugreport. (line 6) * Process, consolidate text output, -pkt_output: Frontend. (line 7) * Process, control abort on error, -abort_on: Exception. (line 27) @@ -6200,10 +6226,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Session, select as input, -load: Loading. (line 54) * Session, _definition: Model. (line 6) * Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26) -* SUN Disk Label, production: Bootable. (line 383) -* SUN SPARC boot images, activation: Bootable. (line 464) +* SUN Disk Label, production: Bootable. (line 400) +* SUN SPARC boot images, activation: Bootable. (line 480) * Symbolic link, create, -lns: Insert. (line 191) -* System area, _definition: Bootable. (line 200) +* System area, _definition: Bootable. (line 217) * Table-of-content, search sessions, -rom_toc_scan: Loading. (line 307) * Table-of-content, show, -toc: Inquiry. (line 27) * Timestamps, set in ISO image, -alter_date: Manip. (line 139) @@ -6271,40 +6297,40 @@ Node: Filter110498 Node: Writing115120 Node: SetWrite127614 Node: Bootable158889 -Node: Jigdo186770 -Node: Charset191773 -Node: Exception195102 -Node: DialogCtl201231 -Node: Inquiry203833 -Node: Navigate215091 -Node: Verify223798 -Node: Restore234947 -Node: Emulation247155 -Node: Scripting257611 -Node: Frontend265394 -Node: Examples275020 -Node: ExDevices276198 -Node: ExCreate276859 -Node: ExDialog278159 -Node: ExGrowing279430 -Node: ExModifying280239 -Node: ExBootable280749 -Node: ExCharset281304 -Node: ExPseudo282200 -Node: ExCdrecord283127 -Node: ExMkisofs283447 -Node: ExGrowisofs285344 -Node: ExException286497 -Node: ExTime286955 -Node: ExIncBackup287413 -Node: ExRestore291439 -Node: ExRecovery292385 -Node: Files292957 -Node: Environ294291 -Node: Seealso295039 -Node: Bugreport295756 -Node: Legal296347 -Node: CommandIdx297359 -Node: ConceptIdx315257 +Node: Jigdo187867 +Node: Charset192870 +Node: Exception196199 +Node: DialogCtl202328 +Node: Inquiry204930 +Node: Navigate216188 +Node: Verify224895 +Node: Restore236044 +Node: Emulation248252 +Node: Scripting258708 +Node: Frontend266491 +Node: Examples276117 +Node: ExDevices277295 +Node: ExCreate277956 +Node: ExDialog279256 +Node: ExGrowing280527 +Node: ExModifying281336 +Node: ExBootable281846 +Node: ExCharset282401 +Node: ExPseudo283297 +Node: ExCdrecord284224 +Node: ExMkisofs284544 +Node: ExGrowisofs286441 +Node: ExException287594 +Node: ExTime288052 +Node: ExIncBackup288510 +Node: ExRestore292536 +Node: ExRecovery293482 +Node: Files294054 +Node: Environ295388 +Node: Seealso296136 +Node: Bugreport296853 +Node: Legal297444 +Node: CommandIdx298456 +Node: ConceptIdx316354  End Tag Table diff --git a/xorriso/xorriso.texi b/xorriso/xorriso.texi index a90f1b0d..9edcf1ef 100644 --- a/xorriso/xorriso.texi +++ b/xorriso/xorriso.texi @@ -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 XORRISO 1 "Version 1.5.7, Jun 07, 2023" +@c man .TH XORRISO 1 "Version 1.5.7, Aug 07, 2023" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -4145,10 +4145,12 @@ and to write the loaded system area content without alterations. @strong{discard} gives up the El Torito boot catalog and its boot images. regardless whether loaded from an ISO filesystem or defined by commands. Any BIOS or EFI related boot options get revoked. -Nevertheless, loaded system area data stay valid. If desired, they have to be -erased by +Nevertheless, loaded system area data and the possibly defined appended +partitions stay valid. If desired, they have to be erased by @* -boot_image any system_area=/dev/zero +@* + -append_partition all revoke - @* @strong{keep} keeps or copies El Torito boot images unaltered and writes a new catalog. @* @@ -4169,23 +4171,49 @@ you do know that the images need no patching, use "any" "keep". @strong{replay} is a more modern version of "patch", which not only cares for existing El Torito boot equipment but also for the recognizable boot provisions in the System Area. It discards any existing -boot_image -setting and executes the commands proposed by command -report_el_torito "cmd". +setting including the system area and executes the commands proposed by +command -report_el_torito "cmd". @* This action will only succeed if the file objects mentioned in the output of command -report_el_torito "cmd" are still available. Do not remove or rename boot image files after -indev. @* -Drop unknown El Torito: -boot_image "any" "discard" -@* -Maintain recognizable stuff: -boot_image "any" "replay" -@* -El Torito only for GRUB: -boot_image "grub" "patch" -@* -El Torito only for ISOLINUX: -boot_image "isolinux" "patch" +Out of historical reasons @strong{replay} does not revoke all possibly made +-append_partition settings but only overwrites those for which the loaded +ISO image provides candidates. @* @strong{show_status} will print what is known about the loaded boot images and their designated fate. @* +Examples: +@* +Drop unknown El Torito: +@* + -boot_image any discard +@* +Drop El Torito, system area, appended partitions: +@* + -boot_image any discard +@* + -boot_image any system_area=/dev/zero +@* + -append_partition all revoke - +@* +Maintain recognizable stuff after revoking possibly made -append_partition +settings to surely get only the partitions from the loaded ISO: +@* + -append_partition all revoke - +@* + -boot_image any replay +@* +Re-adjust El Torito only for GRUB: +@* + -boot_image grub patch +@* +Re-adjust El Torito only for ISOLINUX: +@* + -boot_image isolinux patch +@* @sp 1 A @strong{bootspec} is a word of the form name=value. It is used to describe @@ -4609,10 +4637,9 @@ In APM, 48465300-0000-11AA-AA11-00306543ECAC will be mapped to partition 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. +partitions will be mentioned there too. GPT can be forced by @* -The disk_path must provide the necessary data bytes at commit time. -An empty disk_path disables this feature for the given partition number. + -boot_image "any" "appended_part_as=gpt" @* @cindex SUN SPARC boot images, activation With SUN Disk Label (selected by -boot_image any sparc_label=): @@ -4621,8 +4648,20 @@ partition_number may be 2 to 8. Number 1 will always be the ISO image. Partition start addresses are aligned to 320 KiB. The type_code does not matter. Submit 0x0. @* -Partition image name "." causes the partition to become a copy of the next +disk_path "." causes the partition to become a copy of the next lower valid one. +@* +With MBR, GPT, and SUN alike: +@* +The disk_path must provide the necessary data bytes at commit time. +@* +Issueing -append_partition with a partition number that was already used in +a previous -append_partition command does not cause an error but silently +overrides the previous setting. +@* +The pseudo type_code "revoke" or an empty disk_path prevent the partition from +being appended. The pseudo partition number "all" may be used in this case to +revoke all previous -append_partition settings. @end table @c man .TP @c man .B Jigdo Template Extraction: diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index c7048d81..b56b88f0 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2023.08.06.133040" +#define Xorriso_timestamP "2023.08.07.132608"