diff --git a/xorriso/base_obj.c b/xorriso/base_obj.c index 9bc7d0c9..9ddeba82 100644 --- a/xorriso/base_obj.c +++ b/xorriso/base_obj.c @@ -266,6 +266,8 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag) m->boot_image_emul= 0; m->boot_emul_default= 1; m->boot_image_load_size= 4 * 512; /* hearsay out of libisofs/demo/iso.c */ + m->boot_img_size_default= 1; + m->boot_img_full_size= 0; memset(m->boot_id_string, 0, sizeof(m->boot_id_string)); memset(m->boot_selection_crit, 0, sizeof(m->boot_selection_crit)); diff --git a/xorriso/emulators.c b/xorriso/emulators.c index d0ab1e2a..b9dc934b 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -752,6 +752,8 @@ int Xorriso_genisofs_add_boot(struct XorrisO *xorriso, int flag) { int ret; + if(xorriso->boot_img_size_default && xorriso->boot_image_emul == 0) + xorriso->boot_img_full_size= 1; ret= Xorriso_attach_boot_image(xorriso, 0); if(ret <= 0) xorriso->boot_image_bin_path[0]= 0; @@ -2445,8 +2447,13 @@ problem_handler_2:; if(i+1>=argc) goto not_enough_args; i++; - sscanf(argv[i], "%d", &ret); - xorriso->boot_image_load_size= ret * 512; + if(strcmp(argv[i], "full") == 0) { + xorriso->boot_img_full_size= 1; + } else { + sscanf(argv[i], "%d", &ret); + xorriso->boot_image_load_size= ret * 512; + } + xorriso->boot_img_size_default= 0; } else if(strcmp(argpt, "-eltorito-id") == 0 || strcmp(argpt, "-eltorito-selcrit") == 0) { if(i+1>=argc) @@ -2624,6 +2631,11 @@ problem_handler_boot:; was_failure= 1; } + /* Enforce the -boot-load-size default of mkisofs */ + if(with_boot_image && xorriso->boot_img_size_default && + xorriso->boot_image_emul == 0) + xorriso->boot_img_full_size= 1; + if(xorriso->no_emul_toc & 1) xorriso->do_padding_by_libisofs= 1; diff --git a/xorriso/iso_img.c b/xorriso/iso_img.c index f0d9f0bd..c8132832 100644 --- a/xorriso/iso_img.c +++ b/xorriso/iso_img.c @@ -372,6 +372,7 @@ int Xorriso_get_volid(struct XorrisO *xorriso, char volid[33], int flag) bit2= is_default bit3= append -boot_image any next bit4= concentrate boot options + bit5= override load_size by "full" */ int Xorriso_boot_item_status(struct XorrisO *xorriso, char *cat_path, char *bin_path, int platform_id, @@ -389,6 +390,8 @@ int Xorriso_boot_item_status(struct XorrisO *xorriso, char *cat_path, no_defaults= flag & 1; line= xorriso->result_line; + if(flag & 32) + load_size= -1; if((flag & 16) && bin_path[0] != 0) { /* Concentrate boot options. */ @@ -422,11 +425,14 @@ int Xorriso_boot_item_status(struct XorrisO *xorriso, char *cat_path, file_size= 0; ret= Xorriso_iso_lstat(xorriso, bin_path, &stbuf, 2 | 4); - if(ret == 0) + if(ret == 0) { file_size= ((stbuf.st_size / (off_t) 512) + !!(stbuf.st_size % (off_t) 512)) * 512; + if(flag & 32) + load_size= file_size * 512; + } if(platform_id == 0xef && (patch_isolinux & 0x3ff) == 0 && - load_size == file_size && is_default_id && emul == 0) { + load_size / 512 == file_size && is_default_id && emul == 0) { sprintf(line, "-boot_image any efi_path="); Text_shellsafe(bin_path, line, 1); strcat(line, "\n"); @@ -466,9 +472,14 @@ int Xorriso_boot_item_status(struct XorrisO *xorriso, char *cat_path, if(!(is_default && no_defaults)) Xorriso_status_result(xorriso,filter,fp,flag&2); - is_default= (load_size == 2048 || (flag & 4)); - sprintf(line, "-boot_image %s load_size=%lu\n", - form, (unsigned long) load_size); + if(flag & 32) { + is_default= 0; + sprintf(line, "-boot_image %s load_size=full", form); + } else { + is_default= (load_size == 2048 || (flag & 4)); + sprintf(line, "-boot_image %s load_size=%lu\n", + form, (unsigned long) load_size); + } if(!(is_default && no_defaults)) Xorriso_status_result(xorriso,filter,fp,flag&2); diff --git a/xorriso/opts_a_c.c b/xorriso/opts_a_c.c index 94175c53..4ee300e4 100644 --- a/xorriso/opts_a_c.c +++ b/xorriso/opts_a_c.c @@ -813,6 +813,7 @@ treatment_patch:; strcat(xorriso->boot_image_bin_path, "isolinux.bin"); strcat(xorriso->boot_image_cat_path, "boot.cat"); xorriso->boot_image_load_size= 4 * 512; + xorriso->boot_img_size_default= 0; xorriso->keep_boot_image= 0; xorriso->patch_isolinux_image= (xorriso->patch_isolinux_image & ~3) | 1; strcpy(xorriso->boot_image_bin_form, formpt); @@ -843,8 +844,10 @@ treatment_patch:; xorriso->keep_boot_image= 0; if(isolinux_grub) { xorriso->patch_isolinux_image= (xorriso->patch_isolinux_image & ~3) | 1; - if(xorriso->boot_image_bin_path[0]) + if(xorriso->boot_image_bin_path[0]) { xorriso->boot_image_load_size= 4 * 512; + xorriso->boot_img_size_default= 0; + } strcpy(xorriso->boot_image_bin_form, formpt); } else strcpy(xorriso->boot_image_bin_form, "any"); @@ -968,15 +971,20 @@ treatment_patch:; was_ok= 0; } else if(strncmp(treatpt, "load_size=", 10) == 0) { - num= Scanf_io_size(treatpt + 10, 0); - if(num < 512 && isolinux_grub) { - sprintf(xorriso->info_text, - "-boot_image %s : load_size too small (%s < 512)", - formpt, treatpt + 10); - Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); - {ret= 0; goto ex;} + if(strcmp(treatpt + 10, "full") == 0) { + xorriso->boot_img_full_size= 1; + } else { + num= Scanf_io_size(treatpt + 10, 0); + if(num < 512 && isolinux_grub) { + sprintf(xorriso->info_text, + "-boot_image %s : load_size too small (%s < 512)", + formpt, treatpt + 10); + Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0); + {ret= 0; goto ex;} + } + xorriso->boot_image_load_size= num; } - xorriso->boot_image_load_size= num; + xorriso->boot_img_size_default= 0; } else if(strncmp(treatpt, "id_string=", 10) == 0) { memset(xorriso->boot_id_string, 0, 29); diff --git a/xorriso/write_run.c b/xorriso/write_run.c index 0e45f80d..a18f7b18 100644 --- a/xorriso/write_run.c +++ b/xorriso/write_run.c @@ -753,8 +753,14 @@ int Xorriso_attach_boot_image(struct XorrisO *xorriso, int flag) } Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0); } - /* The function will understand negative short as positive unsigned */ - el_torito_set_load_size(bootimg, (short) (load_size / 512)); + + if(xorriso->boot_img_full_size) { + el_torito_set_full_load(bootimg, 1); + } else { + /* The function will understand negative short as positive unsigned */ + el_torito_set_load_size(bootimg, (short) (load_size / 512)); + } + el_torito_set_id_string(bootimg, xorriso->boot_id_string); el_torito_set_selection_crit(bootimg, xorriso->boot_selection_crit); ret= Xorriso_set_isolinux_options(xorriso, image, 1); @@ -768,6 +774,8 @@ int Xorriso_attach_boot_image(struct XorrisO *xorriso, int flag) xorriso->boot_image_emul= 0; xorriso->boot_emul_default= 1; xorriso->boot_image_load_size= 4 * 512; + xorriso->boot_img_size_default= 1; + xorriso->boot_img_full_size= 0; memset(xorriso->boot_id_string, 0, sizeof(xorriso->boot_id_string)); memset(xorriso->boot_selection_crit, 0, sizeof(xorriso->boot_selection_crit)); diff --git a/xorriso/xorriso.1 b/xorriso/xorriso.1 index 7742642d..8bfa3932 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.4.7, Sep 16, 2016" +.TH XORRISO 1 "Version 1.4.7, Nov 13, 2016" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -3324,7 +3324,9 @@ It controls the boot medium emulation code of a boot image. The default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD cdboot. .br \fBload_size=\fR is a value which depends on the boot image. -Default 2048 should be overridden only if a better value is known. +Default is 2048 which matches the expectations of most boot images. +The special value "full" means the full size of the boot image file +rounded up to a multiple of 2048 bytes. Maximum is 33,552,384 bytes. .br \fBboot_info_table=on\fR causes address patching to bytes 8 to 63 of the boot image which is given by "any" "bin_path=". diff --git a/xorriso/xorriso.info b/xorriso/xorriso.info index a70d050b..0598f4b7 100644 --- a/xorriso/xorriso.info +++ b/xorriso/xorriso.info @@ -2800,7 +2800,10 @@ Examples: default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD cdboot. *load_size=* is a value which depends on the boot image. Default - 2048 should be overridden only if a better value is known. + is 2048 which matches the expectations of most boot images. The + special value "full" means the full size of the boot image file + rounded up to a multiple of 2048 bytes. Maximum is 33,552,384 + bytes. *boot_info_table=on* causes address patching to bytes 8 to 63 of the boot image which is given by "any" "bin_path=". "boot_info_table=off" disables this patching. @@ -5177,7 +5180,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top * -alter_date sets timestamps in ISO image: Manip. (line 136) * -alter_date_r sets timestamps in ISO image: Manip. (line 171) * -append_partition adds arbitrary file after image end: Bootable. - (line 401) + (line 404) * -application_id sets application id: SetWrite. (line 191) * -application_use sets application use field: SetWrite. (line 266) * -as emulates mkisofs or cdrecord: Emulation. (line 13) @@ -5419,12 +5422,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 392) +* APM block size: Bootable. (line 395) * APM, _definition: Extras. (line 42) * Appendable media, _definition: Media. (line 38) -* Appended Filesystem Image, -append_partition: Bootable. (line 401) -* Appended partition, in APM: Bootable. (line 272) -* Appended partition, in MBR or GPT: Bootable. (line 265) +* Appended Filesystem Image, -append_partition: Bootable. (line 404) +* Appended partition, in APM: Bootable. (line 275) +* Appended partition, in MBR or GPT: Bootable. (line 268) * Automatic execution order, of arguments, -x: ArgSort. (line 16) * Backslash Interpretation, _definition: Processing. (line 53) * Backup, enable fast incremental, -disk_dev_ino: Loading. (line 226) @@ -5442,15 +5445,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Character set, learn from image, -auto_charset: Loading. (line 123) * Character Set, of terminal, -local_charset: Charset. (line 57) * Character Set, _definition: Charset. (line 6) -* CHRP partition, _definition: Bootable. (line 277) +* CHRP partition, _definition: Bootable. (line 280) * Closed media, _definition: Media. (line 44) * 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 321) -* Cylinder size, _definition: Bootable. (line 306) +* Cylinder alignment, _definition: Bootable. (line 324) +* Cylinder size, _definition: Bootable. (line 309) * Damaged track and session, close, -close_damaged: Writing. (line 164) -* DEC Alpha SRM boot sector, production: Bootable. (line 378) +* DEC Alpha SRM boot sector, production: Bootable. (line 381) * Delete, from ISO image, -rm: Manip. (line 20) * Delete, from ISO image, -rm_r: Manip. (line 26) * Delete, ISO directory, -rmdir: Manip. (line 29) @@ -5481,7 +5484,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 286) +* EFI system partition, _definition: Bootable. (line 289) * El Torito, _definition: Extras. (line 19) * Emulation, -as: Emulation. (line 13) * Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 155) @@ -5504,17 +5507,17 @@ 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, control GUID, -boot_image gpt_disk_guid=: Bootable. (line 220) +* GPT, control GUID, -boot_image gpt_disk_guid=: Bootable. (line 223) * GPT, _definition: Extras. (line 39) * Group, global in ISO image, -gid: SetWrite. (line 287) * 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 134) -* HFS+ allocation block size: Bootable. (line 389) -* HFS+ serial number: Bootable. (line 386) +* HFS+ allocation block size: Bootable. (line 392) +* HFS+ serial number: Bootable. (line 389) * hidden, set in ISO image, -hide: Manip. (line 174) -* HP-PA boot sector, production: Bootable. (line 361) +* HP-PA boot sector, production: Bootable. (line 364) * Image reading, cache size, -data_cache_size: Loading. (line 332) * Image, demand volume ID, -assert_volid: Loading. (line 111) * Image, discard pending changes, -rollback: Writing. (line 9) @@ -5568,15 +5571,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Linux device type, -scsi_dev_family: AqDrive. (line 43) * List delimiter, _definition: Processing. (line 9) * Local Character Set, _definition: Charset. (line 11) -* MBR bootable/active flag, enforce: Bootable. (line 332) -* MBR, set, -boot_image system_area=: Bootable. (line 197) +* MBR bootable/active flag, enforce: Bootable. (line 335) +* MBR, set, -boot_image system_area=: Bootable. (line 200) * MBR, _definition: Extras. (line 27) * MD5, control handling, -md5: Loading. (line 182) * Media, erase, -blank: Writing. (line 57) * Media, format, -format: Writing. (line 87) * Media, list formats, -list_formats: Writing. (line 129) * Media, list write speeds, -list_speeds: Writing. (line 140) -* MIPS boot file, activation: Bootable. (line 340) +* MIPS boot file, activation: Bootable. (line 343) * mkisofs, Emulation: Emulation. (line 17) * Modifying, _definition: Methods. (line 28) * Multi-session media, _definition: Media. (line 7) @@ -5603,15 +5606,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Ownership, global in ISO image, -uid: SetWrite. (line 284) * Ownership, in ISO image, -chown: Manip. (line 43) * Ownership, in ISO image, -chown_r: Manip. (line 47) -* Partition offset, _definition: Bootable. (line 296) -* Partition table, _definition: Bootable. (line 246) +* Partition offset, _definition: Bootable. (line 299) +* Partition table, _definition: Bootable. (line 249) * Pathspec, _definition: SetInsert. (line 117) * 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 25) * Permissions, in ISO image, -chmod: Manip. (line 55) * Permissions, in ISO image, -chmod_r: Manip. (line 66) -* PReP partition, _definition: Bootable. (line 281) +* PReP partition, _definition: Bootable. (line 284) * Problems, reporting: Bugreport. (line 6) * Process, consolidate text output, -pkt_output: Frontend. (line 7) * Process, control abort on error, -abort_on: Exception. (line 27) @@ -5671,10 +5674,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Session, select as input, -load: Loading. (line 33) * Session, _definition: Model. (line 6) * Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26) -* SUN Disk Label, production: Bootable. (line 351) -* SUN SPARC boot images, activation: Bootable. (line 424) +* SUN Disk Label, production: Bootable. (line 354) +* SUN SPARC boot images, activation: Bootable. (line 427) * Symbolic link, create, -lns: Insert. (line 166) -* System area, _definition: Bootable. (line 197) +* System area, _definition: Bootable. (line 200) * Table-of-content, search sessions, -rom_toc_scan: Loading. (line 278) * Table-of-content, show, -toc: Inquiry. (line 27) * Timestamps, set in ISO image, -alter_date: Manip. (line 136) @@ -5741,40 +5744,40 @@ Node: Filter100989 Node: Writing105611 Node: SetWrite115767 Node: Bootable140526 -Node: Jigdo165871 -Node: Charset170130 -Node: Exception173459 -Node: DialogCtl179588 -Node: Inquiry182190 -Node: Navigate190978 -Node: Verify199273 -Node: Restore209151 -Node: Emulation217764 -Node: Scripting228223 -Node: Frontend236006 -Node: Examples245632 -Node: ExDevices246810 -Node: ExCreate247471 -Node: ExDialog248771 -Node: ExGrowing250042 -Node: ExModifying250851 -Node: ExBootable251361 -Node: ExCharset251916 -Node: ExPseudo252812 -Node: ExCdrecord253739 -Node: ExMkisofs254059 -Node: ExGrowisofs255416 -Node: ExException256570 -Node: ExTime257028 -Node: ExIncBackup257486 -Node: ExRestore261512 -Node: ExRecovery262458 -Node: Files263030 -Node: Environ264364 -Node: Seealso265070 -Node: Bugreport265787 -Node: Legal266378 -Node: CommandIdx267390 -Node: ConceptIdx284578 +Node: Jigdo166026 +Node: Charset170285 +Node: Exception173614 +Node: DialogCtl179743 +Node: Inquiry182345 +Node: Navigate191133 +Node: Verify199428 +Node: Restore209306 +Node: Emulation217919 +Node: Scripting228378 +Node: Frontend236161 +Node: Examples245787 +Node: ExDevices246965 +Node: ExCreate247626 +Node: ExDialog248926 +Node: ExGrowing250197 +Node: ExModifying251006 +Node: ExBootable251516 +Node: ExCharset252071 +Node: ExPseudo252967 +Node: ExCdrecord253894 +Node: ExMkisofs254214 +Node: ExGrowisofs255571 +Node: ExException256725 +Node: ExTime257183 +Node: ExIncBackup257641 +Node: ExRestore261667 +Node: ExRecovery262613 +Node: Files263185 +Node: Environ264519 +Node: Seealso265225 +Node: Bugreport265942 +Node: Legal266533 +Node: CommandIdx267545 +Node: ConceptIdx284733  End Tag Table diff --git a/xorriso/xorriso.texi b/xorriso/xorriso.texi index 1bcb444e..f319f5dc 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.4.7, Sep 16, 2016" +@c man .TH XORRISO 1 "Version 1.4.7, Nov 13, 2016" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -3865,7 +3865,9 @@ It controls the boot medium emulation code of a boot image. The default "no_emulation" is suitable for ISOLINUX, GRUB, FreeBSD cdboot. @* @strong{load_size=} is a value which depends on the boot image. -Default 2048 should be overridden only if a better value is known. +Default is 2048 which matches the expectations of most boot images. +The special value "full" means the full size of the boot image file +rounded up to a multiple of 2048 bytes. Maximum is 33,552,384 bytes. @* @strong{boot_info_table=on} causes address patching to bytes 8 to 63 of the boot image which is given by "any" "bin_path=". diff --git a/xorriso/xorriso_private.h b/xorriso/xorriso_private.h index 95ae941f..0ea6242e 100644 --- a/xorriso/xorriso_private.h +++ b/xorriso/xorriso_private.h @@ -410,6 +410,8 @@ struct XorrisO { /* the global context of xorriso */ */ int boot_emul_default; /* 1= boot_image_emul is still default */ off_t boot_image_load_size; + int boot_img_size_default; /* 1= boot_image_load_size is still default */ + int boot_img_full_size; /* 1= override boot_image_load_size by image size */ unsigned char boot_id_string[29]; unsigned char boot_selection_crit[21]; diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index cec21728..7e941e4a 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2016.10.23.095558" +#define Xorriso_timestamP "2016.11.13.101258" diff --git a/xorriso/xorrisofs.1 b/xorriso/xorrisofs.1 index eab16b2e..30b79a92 100644 --- a/xorriso/xorrisofs.1 +++ b/xorriso/xorrisofs.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 XORRISOFS 1 "Version 1.4.7, Sep 16, 2016" +.TH XORRISOFS 1 "Version 1.4.7, Nov 09, 2016" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -931,7 +931,7 @@ the ISO image. The content of the boot image files is not in the scope of El Torito. .br xorriso composes the boot catalog according to the boot image -files given and structured by options \-b, \-e, \-el\-torito\-alt\-boot, +files given and structured by options \-b, \-e, \-eltorito\-alt\-boot, and \-\-efi\-boot. Often it contains only one entry. .br Normally the boot images are data files inside the ISO filesystem. By @@ -988,10 +988,15 @@ Perform \-eltorito\-alt\-boot, option \-e with the given iso_rr_path, \-no\-emul\-boot, and again \-eltorito\-alt\-boot. This gesture is used for achieving EFI\-bootability of the GRUB2 rescue CD. .TP -\fB\-boot-load-size\fR number +\fB\-boot-load-size\fR number|"full" Set the number of 512\-byte blocks to be loaded at boot time from the boot image in the current catalog entry. +.br Non\-emulating BIOS bootimages usually need a load size of 4. +Nevertheless the default setting of mkisofs is to use the full size of the +boot image rounded up to a multiple of 4 512\-byte blocks. This default +may be explicitely enforced by the word "full" instead of a number. +.br EFI boot images usually get set the number of blocks occupied by the boot image file. .br diff --git a/xorriso/xorrisofs.info b/xorriso/xorrisofs.info index 3323b498..5b2cb01a 100644 --- a/xorriso/xorrisofs.info +++ b/xorriso/xorrisofs.info @@ -837,7 +837,7 @@ boot catalog with one or more boot images, which are binary program files stored in the ISO image. The content of the boot image files is not in the scope of El Torito. xorriso composes the boot catalog according to the boot image files -given and structured by options -b, -e, -el-torito-alt-boot, and +given and structured by options -b, -e, -eltorito-alt-boot, and --efi-boot. Often it contains only one entry. Normally the boot images are data files inside the ISO filesystem. By special path "-interval:appended_partition_NNN:all::" it is possible to @@ -881,11 +881,16 @@ the System Area. Perform -eltorito-alt-boot, option -e with the given iso_rr_path, -no-emul-boot, and again -eltorito-alt-boot. This gesture is used for achieving EFI-bootability of the GRUB2 rescue CD. --boot-load-size number +-boot-load-size number|"full" Set the number of 512-byte blocks to be loaded at boot time from - the boot image in the current catalog entry. Non-emulating BIOS - bootimages usually need a load size of 4. EFI boot images usually - get set the number of blocks occupied by the boot image file. + the boot image in the current catalog entry. + Non-emulating BIOS bootimages usually need a load size of 4. + Nevertheless the default setting of mkisofs is to use the full size + of the boot image rounded up to a multiple of 4 512-byte blocks. + This default may be explicitely enforced by the word "full" instead + of a number. + EFI boot images usually get set the number of blocks occupied by + the boot image file. El Torito cannot represent load sizes higher than 65535. -hard-disk-boot Mark the boot image in the current catalog entry as emulated hard @@ -1884,13 +1889,13 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * --acl Recording of ACLs: SetExtras. (line 95) * --application_use set Application Use field: ImageId. (line 79) -* --boot-catalog-hide Hide El Torito boot catalog: Bootable. (line 107) +* --boot-catalog-hide Hide El Torito boot catalog: Bootable. (line 112) * --efi-boot El Torito EFI boot image: Bootable. (line 59) * --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 220) -* --grub2-boot-info Patch El Torito boot image: Bootable. (line 95) +* --grub2-boot-info Patch El Torito boot image: Bootable. (line 100) * --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 81) * --grub2-sparc-core SUN SPARC core file: SystemArea. (line 275) * --hardlinks Recording of hardlink relations: SetExtras. (line 116) @@ -1936,9 +1941,9 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -b El Torito PC-BIOS boot image: Bootable. (line 38) * -B SUN SPARC boot images: SystemArea. (line 260) * -biblio set Biblio File path: ImageId. (line 62) -* -boot-info-table Patch El Torito boot image: Bootable. (line 90) +* -boot-info-table Patch El Torito boot image: Bootable. (line 95) * -boot-load-size El Torito boot image load size: Bootable. (line 63) -* -c El Torito boot catalog name: Bootable. (line 100) +* -c El Torito boot catalog name: Bootable. (line 105) * -C set load address and write address offset: Loading. (line 25) * -cdrecord-params set load address and write address offset: Loading. (line 46) @@ -1960,10 +1965,10 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -efi-boot-part EFI boot partition: SystemArea. (line 210) * -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 105) -* -eltorito-id El Torito boot section id string: Bootable. (line 79) +* -eltorito-catalog El Torito boot catalog name: Bootable. (line 110) +* -eltorito-id El Torito boot section id string: Bootable. (line 84) * -eltorito-selcrit El Torito boot selection criteria: Bootable. - (line 86) + (line 91) * -exclude exclude disk files from inserting: SetInsert. (line 37) * -exclude-list exclude disk files from inserting: SetInsert. (line 44) * -f follow symbolic links on disk: SetInsert. (line 22) @@ -1977,7 +1982,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -graft-points enable target=source pathspecs: SetInsert. (line 28) * -gui increase frequency of pacifier messages: Miscellaneous. (line 29) -* -hard-disk-boot El Torito boot image emulation: Bootable. (line 69) +* -hard-disk-boot El Torito boot image emulation: Bootable. (line 74) * -help list supported options: Miscellaneous. (line 21) * -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 201) * -hfs-bless-by HFS+ blessing: SetExtras. (line 191) @@ -2038,7 +2043,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -mips-boot MIPS Big Endian boot image: SystemArea. (line 249) * -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 255) * -N omit version number in ISO file names: SetCompl. (line 64) -* -no-emul-boot El Torito boot image emulation: Bootable. (line 72) +* -no-emul-boot El Torito boot image emulation: Bootable. (line 77) * -no-pad do not add zeros to ISO tree: SetProduct. (line 93) * -o set output file address: SetProduct. (line 8) * -old-exclude exclude disk files from inserting: SetInsert. (line 42) @@ -2119,17 +2124,17 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Block address, set sorting weight, --sort-weight-patterns: SetProduct. (line 76) * Bootability, boot catalog hidden, --boot-catalog-hide: Bootable. - (line 107) + (line 112) * Bootability, boot catalog name, -c, -eltorito-catalog: Bootable. - (line 100) + (line 105) * Bootability, boot image emulation, -hard-disk-boot: Bootable. - (line 69) + (line 74) * Bootability, boot image load size, -boot-load-size: Bootable. (line 63) * Bootability, boot image patching, --grub2-boot-info: Bootable. - (line 95) + (line 100) * Bootability, boot image patching, -boot-info-table: Bootable. - (line 90) + (line 95) * Bootability, bootable MBR partition, --mbr-force-bootable: SystemArea. (line 131) * Bootability, control, --grub2-sparc-core: SystemArea. (line 275) @@ -2147,9 +2152,9 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Bootability, control, -mips-boot: SystemArea. (line 249) * Bootability, control, -mipsel-boot: SystemArea. (line 255) * Bootability, El Torito section id string, -eltorito-id: Bootable. - (line 79) + (line 84) * Bootability, El Torito selection criteria, -eltorito-selcrit: Bootable. - (line 86) + (line 91) * Bootability, fill System Area e.g. by MBR, -G, --embedded-boot, -generic-boot: SystemArea. (line 68) * Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 233) @@ -2167,7 +2172,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top (line 108) * Bootability, next entry, -eltorito-alt-boot: Bootable. (line 47) * Bootability, no boot image emulation, -no-emul-boot: Bootable. - (line 72) + (line 77) * Bootability, partitions like with isohybrid, -part_like_isohybrid: SystemArea. (line 120) * Bootability, patch System Area partition table, --protective-msdos-label: SystemArea. @@ -2335,24 +2340,24 @@ Node: SetExtras21966 Node: SetHide32539 Node: ImageId33843 Node: Bootable38125 -Node: SystemArea43653 -Node: Charset60333 -Node: Jigdo61358 -Node: Miscellaneous65635 -Node: Examples67280 -Node: ExSimple67774 -Node: ExGraft68257 -Node: ExMkisofs69557 -Node: ExGrowisofs70823 -Node: ExIncBackup72013 -Node: ExIncBckAcc75174 -Node: ExBootable76863 -Node: Files81045 -Node: Environ82140 -Node: Seealso82911 -Node: Bugreport83562 -Node: Legal84155 -Node: CommandIdx85052 -Node: ConceptIdx100490 +Node: SystemArea43896 +Node: Charset60576 +Node: Jigdo61601 +Node: Miscellaneous65878 +Node: Examples67523 +Node: ExSimple68017 +Node: ExGraft68500 +Node: ExMkisofs69800 +Node: ExGrowisofs71066 +Node: ExIncBackup72256 +Node: ExIncBckAcc75417 +Node: ExBootable77106 +Node: Files81288 +Node: Environ82383 +Node: Seealso83154 +Node: Bugreport83805 +Node: Legal84398 +Node: CommandIdx85295 +Node: ConceptIdx100733  End Tag Table diff --git a/xorriso/xorrisofs.texi b/xorriso/xorrisofs.texi index d07b109f..cb93f986 100644 --- a/xorriso/xorrisofs.texi +++ b/xorriso/xorrisofs.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 XORRISOFS 1 "Version 1.4.7, Sep 16, 2016" +@c man .TH XORRISOFS 1 "Version 1.4.7, Nov 09, 2016" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -1270,7 +1270,7 @@ the ISO image. The content of the boot image files is not in the scope of El Torito. @* xorriso composes the boot catalog according to the boot image -files given and structured by options -b, -e, -el-torito-alt-boot, +files given and structured by options -b, -e, -eltorito-alt-boot, and @minus{}@minus{}efi-boot. Often it contains only one entry. @* Normally the boot images are data files inside the ISO filesystem. By @@ -1339,12 +1339,17 @@ Perform -eltorito-alt-boot, option -e with the given iso_rr_path, -no-emul-boot, and again -eltorito-alt-boot. This gesture is used for achieving EFI-bootability of the GRUB2 rescue CD. @c man .TP -@item -boot-load-size number +@item -boot-load-size number|"full" @kindex -boot-load-size El Torito boot image load size @cindex Bootability, boot image load size, -boot-load-size Set the number of 512-byte blocks to be loaded at boot time from the boot image in the current catalog entry. +@* Non-emulating BIOS bootimages usually need a load size of 4. +Nevertheless the default setting of mkisofs is to use the full size of the +boot image rounded up to a multiple of 4 512-byte blocks. This default +may be explicitely enforced by the word "full" instead of a number. +@* EFI boot images usually get set the number of blocks occupied by the boot image file. @*