From 2ddf0e7d747c666aa17c2354a7327fc786e36208 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Mon, 18 Feb 2013 10:48:02 +0000 Subject: [PATCH] New -as mkisofs options -eltorito-id , -eltorito-selcrit --- libisoburn/trunk/xorriso/emulators.c | 19 +++++- libisoburn/trunk/xorriso/xorriso_timestamp.h | 2 +- libisoburn/trunk/xorriso/xorrisofs.1 | 15 ++++- libisoburn/trunk/xorriso/xorrisofs.info | 70 +++++++++++++------- libisoburn/trunk/xorriso/xorrisofs.texi | 19 +++++- 5 files changed, 96 insertions(+), 29 deletions(-) diff --git a/libisoburn/trunk/xorriso/emulators.c b/libisoburn/trunk/xorriso/emulators.c index e33e3b40..ed56bf22 100644 --- a/libisoburn/trunk/xorriso/emulators.c +++ b/libisoburn/trunk/xorriso/emulators.c @@ -589,7 +589,8 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv, static char arg1_options[][41]= { "-abstract", "-A", "-appid", "-biblio", "-b", "-B", "-boot-load-seg", "-boot-load-size", "-C", "-c", "-check-session", "-copyright", - "-dir-mode", "-file-mode", "-G", "-gid", "-hide", "-hide-list", + "-dir-mode", "-eltorito-id", "-eltorito-selcrit", + "-file-mode", "-G", "-gid", "-hide", "-hide-list", "-hidden", "-hidden-list", "-hide-joliet", "-hide-joliet-list", "-hide-hfsplus", "-hide-hfsplus-list", "-hide-udf", "-hide-udf-list", "-input-charset", "-output-charset", @@ -823,6 +824,8 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag) " -hard-disk-boot Boot image is a hard disk image", " -no-emul-boot Boot image is 'no emulation' image", " -boot-info-table Patch boot image with info table", +" -eltorito-id ID Set El Torito Id String", +" -eltorito-selcrit HEXBYTES Set El Torito Selection Criteria", " -isohybrid-gpt-basdat Mark El Torito boot image as Basic Data in GPT", " -isohybrid-gpt-hfsplus Mark El Torito boot image as HFS+ in GPT", " -isohybrid-apm-hfsplus Mark El Torito boot image as HFS+ in APM", @@ -1695,6 +1698,8 @@ not_enough_args:; strcmp(argpt, "-c") == 0 || strcmp(argpt, "-eltorito-catalog") == 0 || strcmp(argpt, "-boot-load-size") == 0 || + strcmp(argpt, "-eltorito-id") == 0 || + strcmp(argpt, "-eltorito-selcrit") == 0 || strcmp(argpt, "--embedded-boot")==0 || strcmp(argpt, "-generic-boot")==0 || strcmp(argpt, "-G") == 0 || @@ -2234,6 +2239,18 @@ problem_handler_2:; i++; sscanf(argv[i], "%d", &ret); xorriso->boot_image_load_size= ret * 512; + } else if(strcmp(argpt, "-eltorito-id") == 0 || + strcmp(argpt, "-eltorito-selcrit") == 0) { + if(i+1>=argc) + goto not_enough_args; + i++; + if(strcmp(argpt, "-eltorito-id") == 0) + sprintf(sfe, "id_string=%s", argv[i]); + else + sprintf(sfe, "sel_crit=%s", argv[i]); + ret= Xorriso_option_boot_image(xorriso, "any", sfe, 0); + if(ret <= 0) + goto problem_handler_boot; } else if(strncmp(argpt, "isolinux_mbr=", 13)==0) { sprintf(sfe, "isohybrid=%s", argpt + 13); ret= Xorriso_option_boot_image(xorriso, "isolinux", sfe, 0); diff --git a/libisoburn/trunk/xorriso/xorriso_timestamp.h b/libisoburn/trunk/xorriso/xorriso_timestamp.h index 7bf6ba71..a1943b91 100644 --- a/libisoburn/trunk/xorriso/xorriso_timestamp.h +++ b/libisoburn/trunk/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2013.01.16.181831" +#define Xorriso_timestamP "2013.02.18.104738" diff --git a/libisoburn/trunk/xorriso/xorrisofs.1 b/libisoburn/trunk/xorriso/xorrisofs.1 index 53a9dfcf..fe62cd3b 100644 --- a/libisoburn/trunk/xorriso/xorrisofs.1 +++ b/libisoburn/trunk/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.2.7, Jan 08, 2013" +.TH XORRISOFS 1 "Version 1.2.7, Feb 18, 2013" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -901,6 +901,19 @@ If neither \-hard\-disk\-boot nor \-no\-emul\-boot is given, then the boot image will be marked as emulating a floppy. (Not suitable for any known boot loader.) .TP +\fB\-eltorito-id\fR text|56_hexdigits +Define the ID string of the boot catalog +section where the boot image will be listed. If the value consists of 56 +characters [0\-9A\-Fa\-f] then it is converted into 28 bytes, else the first +28 characters become the ID string. +The ID string of the first boot image becomes the overall catalog ID. +It is limited to 24 characters. Other id_strings become section IDs. +.TP +\fB\-eltorito-selcrit\fR hexdigits +Define the Selection Criteria of the boot image. +Up to 20 bytes get read from the given characters [0\-9A\-Fa\-f]. +They get attributed to the boot image entry in the catalog. +.TP \fB\-boot-info-table\fR Overwrite certain bytes in the current boot image. The information will be supplied by xorriso in the course of image production: Block address of diff --git a/libisoburn/trunk/xorriso/xorrisofs.info b/libisoburn/trunk/xorriso/xorrisofs.info index 7b47bce9..76fba3ce 100644 --- a/libisoburn/trunk/xorriso/xorrisofs.info +++ b/libisoburn/trunk/xorriso/xorrisofs.info @@ -892,6 +892,19 @@ Sytem Area. boot image will be marked as emulating a floppy. (Not suitable for any known boot loader.) +-eltorito-id text|56_hexdigits + Define the ID string of the boot catalog section where the boot + image will be listed. If the value consists of 56 characters + [0-9A-Fa-f] then it is converted into 28 bytes, else the first 28 + characters become the ID string. The ID string of the first boot + image becomes the overall catalog ID. It is limited to 24 + characters. Other id_strings become section IDs. + +-eltorito-selcrit hexdigits + Define the Selection Criteria of the boot image. Up to 20 bytes + get read from the given characters [0-9A-Fa-f]. They get + attributed to the boot image entry in the catalog. + -boot-info-table Overwrite certain bytes in the current boot image. The information will be supplied by xorriso in the course of image production: @@ -1702,7 +1715,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * --acl Recording of ACLs: SetExtras. (line 71) * --boot-catalog-hide Hide El Torito boot catalog: Bootable. - (line 95) + (line 108) * --efi-boot El Torito EFI boot image: Bootable. (line 58) * --embedded-boot Fill System Area e.g. by MBR: SystemArea. (line 35) * --emul-toc enable table-of-content emulation: SetProduct. (line 35) @@ -1738,9 +1751,9 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -b El Torito PC-BIOS boot image: Bootable. (line 32) * -B SUN SPARC boot images: SystemArea. (line 177) * -biblio set Biblio File path: ImageId. (line 72) -* -boot-info-table Patch El Torito boot image: Bootable. (line 80) +* -boot-info-table Patch El Torito boot image: Bootable. (line 93) * -boot-load-size El Torito boot image load size: Bootable. (line 63) -* -c El Torito boot catalog name: Bootable. (line 86) +* -c El Torito boot catalog name: Bootable. (line 99) * -C set load address and write address offset: Loading. (line 28) * -cdrecord-params set load address and write address offset: Loading. (line 50) @@ -1762,7 +1775,10 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -eltorito-alt-boot begin next boot catalog entry: Bootable. (line 43) * -eltorito-boot El Torito PC-BIOS boot image: Bootable. (line 40) -* -eltorito-catalog El Torito boot catalog name: Bootable. (line 92) +* -eltorito-catalog El Torito boot catalog name: Bootable. (line 105) +* -eltorito-id El Torito boot section id string: Bootable. (line 80) +* -eltorito-selcrit El Torito boot selection criteria: Bootable. + (line 88) * -exclude exclude disk files from inserting: SetInsert. (line 42) * -exclude-list exclude disk files from inserting: SetInsert. (line 51) @@ -1905,21 +1921,25 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Biblio File, set path, -biblio: ImageId. (line 72) * Block address, set sort weight, --sort-weight: SetProduct. (line 49) * Bootability, boot catalog hidden, --boot-catalog-hide: Bootable. - (line 95) + (line 108) * Bootability, boot catalog name, -c, -eltorito-catalog: Bootable. - (line 86) + (line 99) * Bootability, boot image emulation, -hard-disk-boot: Bootable. (line 68) * Bootability, boot image load size, -boot-load-size: Bootable. (line 63) * Bootability, boot image patching, -boot-info-table: Bootable. - (line 80) + (line 93) * Bootability, control, --efi-boot: Bootable. (line 58) * Bootability, control, -b, -eltorito-boot: Bootable. (line 32) * Bootability, control, -B, -sparc-boot: SystemArea. (line 177) * Bootability, control, -e: Bootable. (line 50) * Bootability, control, -mips-boot: SystemArea. (line 164) * Bootability, control, -mipsel-boot: SystemArea. (line 171) +* Bootability, El Torito section id string, -eltorito-id: Bootable. + (line 80) +* Bootability, El Torito selection criteria, -eltorito-selcrit: Bootable. + (line 88) * Bootability, fill System Area e.g. by MBR, -G, --embedded-boot, -generic-boot: SystemArea. (line 25) * Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 149) @@ -2089,23 +2109,23 @@ Node: SetExtras20451 Node: SetHide28860 Node: ImageId30168 Node: Bootable33673 -Node: SystemArea37738 -Node: Charset47381 -Node: Jigdo48407 -Node: Miscellaneous52674 -Node: Examples54047 -Node: ExSimple54533 -Node: ExGraft55012 -Node: ExMkisofs56259 -Node: ExGrowisofs57512 -Node: ExIncBackup58684 -Node: ExIncBckAcc61792 -Node: ExBootable63468 -Node: Files65560 -Node: Seealso66634 -Node: Bugreport67290 -Node: Legal67871 -Node: CommandIdx68766 -Node: ConceptIdx82400 +Node: SystemArea38383 +Node: Charset48026 +Node: Jigdo49052 +Node: Miscellaneous53319 +Node: Examples54692 +Node: ExSimple55178 +Node: ExGraft55657 +Node: ExMkisofs56904 +Node: ExGrowisofs58157 +Node: ExIncBackup59329 +Node: ExIncBckAcc62437 +Node: ExBootable64113 +Node: Files66205 +Node: Seealso67279 +Node: Bugreport67935 +Node: Legal68516 +Node: CommandIdx69411 +Node: ConceptIdx83258  End Tag Table diff --git a/libisoburn/trunk/xorriso/xorrisofs.texi b/libisoburn/trunk/xorriso/xorrisofs.texi index c2972feb..e6041294 100644 --- a/libisoburn/trunk/xorriso/xorrisofs.texi +++ b/libisoburn/trunk/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.2.7, Jan 08, 2013" +@c man .TH XORRISOFS 1 "Version 1.2.7, Feb 18, 2013" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -1245,6 +1245,23 @@ If neither -hard-disk-boot nor -no-emul-boot is given, then the boot image will be marked as emulating a floppy. (Not suitable for any known boot loader.) @c man .TP +@item -eltorito-id text|56_hexdigits +@kindex -eltorito-id El Torito boot section id string +@cindex Bootability, El Torito section id string, -eltorito-id +Define the ID string of the boot catalog +section where the boot image will be listed. If the value consists of 56 +characters [0-9A-Fa-f] then it is converted into 28 bytes, else the first +28 characters become the ID string. +The ID string of the first boot image becomes the overall catalog ID. +It is limited to 24 characters. Other id_strings become section IDs. +@c man .TP +@item -eltorito-selcrit hexdigits +@kindex -eltorito-selcrit El Torito boot selection criteria +@cindex Bootability, El Torito selection criteria, -eltorito-selcrit +Define the Selection Criteria of the boot image. +Up to 20 bytes get read from the given characters [0-9A-Fa-f]. +They get attributed to the boot image entry in the catalog. +@c man .TP @item -boot-info-table @kindex -boot-info-table Patch El Torito boot image @cindex Bootability, boot image patching, -boot-info-table