From 65f55a90ef176792dc2eddd7d5fdf880a6fb712f Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Wed, 27 Jun 2012 19:20:52 +0000 Subject: [PATCH] New -as mkisofs options -hfsplus-block-size and -apm-block-size --- xorriso/emulators.c | 18 +++++++ xorriso/xorriso_timestamp.h | 2 +- xorriso/xorrisofs.1 | 23 +++++++- xorriso/xorrisofs.info | 104 +++++++++++++++++++++++------------- xorriso/xorrisofs.texi | 29 +++++++++- 5 files changed, 135 insertions(+), 41 deletions(-) diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 4fcfebe6..808a4588 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -611,6 +611,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv, "-isohybrid-mbr", "-e", "-partition_offset", "-partition_hd_cyl", "-partition_sec_hd", "-partition_cyl_align", "-untranslated_name_len", "-rr_reloc_dir", "-hfsplus-serial-no", "-prep-boot-part", "-efi-boot-part", + "-hfsplus-block-size", "-apm-block-size", "" }; static char arg2_options[][41]= { @@ -730,6 +731,8 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag) " Bless ISO_RR_PATH by BLESS_TYPE {p,i,s,9,x}", " -hfsplus-serial-no HEXSTRING", " HFS serial number: 16 characters [0-9a-fA-F]", +" -hfsplus-block-size NUMBER Set HFS+ block size", +" -apm-block-size NUMBER Set Apple Partition Map block size", " -hide GLOBFILE Hide ISO9660/RR file", " -hide-list FILE File with list of ISO9660/RR files to hide", " -hide-joliet GLOBFILE Hide Joliet file", @@ -1543,6 +1546,21 @@ illegal_c:; ret= Xorriso_option_boot_image(xorriso, "any", pathspec, 0); if(ret <= 0) goto problem_handler_2; + } else if(strcmp(argpt, "-hfsplus-block-size") == 0 || + strcmp(argpt, "-apm-block-size") == 0) { + if(i+1>=argc) + goto not_enough_args; + i++; + ret= -1; + sscanf(argv[i], "%d", &ret); + if(argpt[1] == 'h') + sprintf(sfe, "hfsplus_block_size=%d", ret); + else + sprintf(sfe, "apm_block_size=%d", ret); + ret= Xorriso_option_boot_image(xorriso, "any", sfe, 0); + if(ret <= 0) + goto problem_handler_2; + } else if(strcmp(argpt, "-graft-points")==0) { xorriso->allow_graft_points= 1; } else if(strcmp(argpt, "-path-list")==0 || diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index dd1da7a9..a43bf29a 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2012.06.27.184915" +#define Xorriso_timestamP "2012.06.27.192151" diff --git a/xorriso/xorrisofs.1 b/xorriso/xorrisofs.1 index 865915db..b1558d29 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.2.3, Jun 21, 2012" +.TH XORRISOFS 1 "Version 1.2.3, Jun 27, 2012" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -644,6 +644,24 @@ of file content data. If more ISO image data follow, then a third partition entry gets produced. Other features of xorriso might cause the need for more APM entries. .TP +\fB\-hfsplus-serial-no\fR +Set a string of 16 digits "0" to "9" +and letters "a" to "f", which will be used as unique serial number of +an emerging HFS+ filesystem. +.TP +\fB\-hfsplus-block-size\fR number +Set the allocation block size to +be used when producing HFS+ filesystems. Permissible are 512, 2048, or 0. +The latter lets the program decide. +.TP +\fB\-apm-block-size\fR number +Set the block size to be used when +describing partitions by an Apple Partition Map. Permissible are 512, 2048, +or 0. The latter lets the program decide. +.br +Note that size 512 is not compatible with production of GPT, and that +size 2048 will not be mountable \-t hfsplus at least by older Linux kernels. +.TP \fB\-hfsplus-file-creator-type\fR creator type iso_rr_path Set the HFS+ creator and type attributes of a file in the emerging image. These are two codes of 4 characters each. @@ -1048,6 +1066,9 @@ outside the HFS+ partition. Mark the block range of the whole emerging ISO image as MBR partition of type 0x41. This is not compatible with any other feature that produces MBR partition entries. It makes GPT unrecognizable. +.br +CHRP is used in conjunction with HFS. It is not yet tested whether HFS+ +filesystems produced with option \-hfsplus would boot on any CHRP capable machine. .TP \fB\-prep-boot-part\fR disk_path Copy a file from disk into the emerging ISO image and mark it by a MBR diff --git a/xorriso/xorrisofs.info b/xorriso/xorrisofs.info index bbc57110..bc136567 100644 --- a/xorriso/xorrisofs.info +++ b/xorriso/xorrisofs.info @@ -640,6 +640,24 @@ File: xorrisofs.info, Node: SetExtras, Next: SetHide, Prev: SetCompl, Up: Op Other features of xorriso might cause the need for more APM entries. +-hfsplus-serial-no + Set a string of 16 digits "0" to "9" and letters "a" to "f", which + will be used as unique serial number of an emerging HFS+ + filesystem. + +-hfsplus-block-size number + Set the allocation block size to be used when producing HFS+ + filesystems. Permissible are 512, 2048, or 0. The latter lets the + program decide. + +-apm-block-size number + Set the block size to be used when describing partitions by an + Apple Partition Map. Permissible are 512, 2048, or 0. The latter + lets the program decide. + Note that size 512 is not compatible with production of GPT, and + that size 2048 will not be mountable -t hfsplus at least by older + Linux kernels. + -hfsplus-file-creator-type creator type iso_rr_path Set the HFS+ creator and type attributes of a file in the emerging image. These are two codes of 4 characters each. @@ -1034,6 +1052,9 @@ and also not combinable with MBR, GPT, or APM. partition of type 0x41. This is not compatible with any other feature that produces MBR partition entries. It makes GPT unrecognizable. + CHRP is used in conjunction with HFS. It is not yet tested whether + HFS+ filesystems produced with option -hfsplus would boot on any + CHRP capable machine. -prep-boot-part disk_path Copy a file from disk into the emerging ISO image and mark it by a @@ -1703,7 +1724,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T (line 115) * -appid set Application Id: ImageId. (line 46) * -b El Torito PC-BIOS boot image: Bootable. (line 32) -* -B SUN SPARC boot images: SystemArea. (line 168) +* -B SUN SPARC boot images: SystemArea. (line 171) * -biblio set Biblio File path: ImageId. (line 72) * -boot-info-table Patch El Torito boot image: Bootable. (line 80) * -boot-load-size El Torito boot image load size: Bootable. (line 63) @@ -1743,11 +1764,15 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -graft-points enable target=source pathspecs: SetInsert. (line 31) * -hard-disk-boot El Torito boot image emulation: Bootable. (line 68) * -help list supported options: Miscellaneous. (line 20) -* -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 158) -* -hfs-bless-by HFS+ blessing: SetExtras. (line 147) +* -hfs-bless HFS+ blessing ppc_bootdir: SetExtras. (line 176) +* -hfs-bless-by HFS+ blessing: SetExtras. (line 165) * -hfsplus enable production of HFS+ partition: SetExtras. (line 124) +* -hfsplus-block-size set APM block size: SetExtras. (line 153) +* -hfsplus-block-size set HFS+ allocation block size: SetExtras. + (line 148) * -hfsplus-file-creator-type HFS+ creator-type attribute: SetExtras. - (line 143) + (line 161) +* -hfsplus-serial-no set HFS+ serial number: SetExtras. (line 143) * -hide keep matching files invisible in ISO tree: SetHide. (line 8) * -hide-hfsplus keep matching files invisible in HFS+ tree: SetHide. (line 29) @@ -1790,8 +1815,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl. (line 69) * -md5-list set path of readable .md5: Jigdo. (line 73) -* -mips-boot MIPS Big Endian boot image: SystemArea. (line 155) -* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 162) +* -mips-boot MIPS Big Endian boot image: SystemArea. (line 158) +* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 165) * -N omit version number in ISO file names: SetCompl. (line 73) * -no-emul-boot El Torito boot image emulation: Bootable. (line 72) * -no-pad do not add zeros to ISO tree: SetProduct. (line 76) @@ -1815,7 +1840,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T (line 75) * -partition_sec_hd MBR sectors per head: SystemArea. (line 91) * -path-list read pathspecs from disk file: SetInsert. (line 8) -* -prep-boot-part PReP partition: SystemArea. (line 149) +* -prep-boot-part PReP partition: SystemArea. (line 152) * -preparer set Preparer Id: ImageId. (line 63) * -prev-session set path for loading existing ISO image: Loading. (line 22) @@ -1833,8 +1858,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -root redirect ISO root directory: SetInsert. (line 64) * -rr_reloc_dir set deep directory relocation target: SetExtras. (line 47) -* -sparc-boot SUN SPARC boot images: SystemArea. (line 180) -* -sparc-label SUN Disk Label text: SystemArea. (line 183) +* -sparc-boot SUN SPARC boot images: SystemArea. (line 183) +* -sparc-label SUN Disk Label text: SystemArea. (line 186) * -sysid set System Id: ImageId. (line 49) * -transparent-compression enable recognition of zisofs files: SetInsert. (line 61) @@ -1879,15 +1904,15 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top (line 80) * Bootability, control, --efi-boot: Bootable. (line 58) * Bootability, control, -b, -eltorito-boot: Bootable. (line 32) -* Bootability, control, -B, -sparc-boot: SystemArea. (line 168) +* Bootability, control, -B, -sparc-boot: SystemArea. (line 171) * Bootability, control, -e: Bootable. (line 50) -* Bootability, control, -mips-boot: SystemArea. (line 155) -* Bootability, control, -mipsel-boot: SystemArea. (line 162) +* Bootability, control, -mips-boot: SystemArea. (line 158) +* Bootability, control, -mipsel-boot: SystemArea. (line 165) * Bootability, fill System Area e.g. by MBR, -G, --embedded-boot, -generic-boot: SystemArea. (line 25) * Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 143) * Bootability, for EFI, -efi-boot-part: SystemArea. (line 132) -* Bootability, for PReP, -prep-boot-part: SystemArea. (line 149) +* Bootability, for PReP, -prep-boot-part: SystemArea. (line 152) * Bootability, install ISOLINUX isohybrid MBR, -isohybrid-mbr: SystemArea. (line 38) * Bootability, mark boot image in APM, -isohybrid-apm-hfsplus: SystemArea. @@ -1901,7 +1926,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top (line 72) * Bootability, patch System Area partition table, --protective-msdos-label: SystemArea. (line 70) -* Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 183) +* Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 186) * Bugs, reporting: Bugreport. (line 6) * Character Set, for disk file names, -input-charset: Charset. (line 17) @@ -1926,10 +1951,13 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * GPT, _definition: SystemArea. (line 13) * HFS+, _definition: Standards. (line 32) * HFS+, enables production: SetExtras. (line 124) -* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 158) -* HFS+, issue blessing, -hfs-bless-by: SetExtras. (line 147) +* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 176) +* HFS+, issue blessing, -hfs-bless-by: SetExtras. (line 165) +* HFS+, set allocation block size: SetExtras. (line 148) +* HFS+, set APM block size: SetExtras. (line 153) * HFS+, set creator and type of file, -hfsplus-file-creator-type: SetExtras. - (line 143) + (line 161) +* HFS+, set serial number: SetExtras. (line 143) * Hiding, from HFS+, -hide-hfsplus: SetHide. (line 29) * Hiding, from HFS+, -hide-hfsplus-list: SetHide. (line 33) * Hiding, from ISO and Rock Ridge, -hide: SetHide. (line 8) @@ -2046,26 +2074,26 @@ Node: SetInsert9732 Node: SetProduct14148 Node: SetCompl17855 Node: SetExtras20451 -Node: SetHide27759 -Node: ImageId29067 -Node: Bootable32572 -Node: SystemArea36637 -Node: Charset45676 -Node: Jigdo46702 -Node: Miscellaneous50969 -Node: Examples52342 -Node: ExSimple52828 -Node: ExGraft53307 -Node: ExMkisofs54554 -Node: ExGrowisofs55807 -Node: ExIncBackup56979 -Node: ExIncBckAcc60087 -Node: ExBootable61763 -Node: Files63855 -Node: Seealso64929 -Node: Bugreport65585 -Node: Legal66166 -Node: CommandIdx67061 -Node: ConceptIdx80410 +Node: SetHide28470 +Node: ImageId29778 +Node: Bootable33283 +Node: SystemArea37348 +Node: Charset46556 +Node: Jigdo47582 +Node: Miscellaneous51849 +Node: Examples53222 +Node: ExSimple53708 +Node: ExGraft54187 +Node: ExMkisofs55434 +Node: ExGrowisofs56687 +Node: ExIncBackup57859 +Node: ExIncBckAcc60967 +Node: ExBootable62643 +Node: Files64735 +Node: Seealso65809 +Node: Bugreport66465 +Node: Legal67046 +Node: CommandIdx67941 +Node: ConceptIdx81575  End Tag Table diff --git a/xorriso/xorrisofs.texi b/xorriso/xorrisofs.texi index 19658f92..be4de993 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.2.3, Jun 21, 2012" +@c man .TH XORRISOFS 1 "Version 1.2.3, Jun 27, 2012" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -907,6 +907,30 @@ of file content data. If more ISO image data follow, then a third partition entry gets produced. Other features of xorriso might cause the need for more APM entries. @c man .TP +@item -hfsplus-serial-no +@kindex -hfsplus-serial-no set HFS+ serial number +@cindex HFS+, set serial number +Set a string of 16 digits "0" to "9" +and letters "a" to "f", which will be used as unique serial number of +an emerging HFS+ filesystem. +@c man .TP +@item -hfsplus-block-size number +@kindex -hfsplus-block-size set HFS+ allocation block size +@cindex HFS+, set allocation block size +Set the allocation block size to +be used when producing HFS+ filesystems. Permissible are 512, 2048, or 0. +The latter lets the program decide. +@c man .TP +@item -apm-block-size number +@kindex -hfsplus-block-size set APM block size +@cindex HFS+, set APM block size +Set the block size to be used when +describing partitions by an Apple Partition Map. Permissible are 512, 2048, +or 0. The latter lets the program decide. +@* +Note that size 512 is not compatible with production of GPT, and that +size 2048 will not be mountable -t hfsplus at least by older Linux kernels. +@c man .TP @item -hfsplus-file-creator-type creator type iso_rr_path @kindex -hfsplus-file-creator-type HFS+ creator-type attribute @cindex HFS+, set creator and type of file, -hfsplus-file-creator-type @@ -1430,6 +1454,9 @@ outside the HFS+ partition. Mark the block range of the whole emerging ISO image as MBR partition of type 0x41. This is not compatible with any other feature that produces MBR partition entries. It makes GPT unrecognizable. +@* +CHRP is used in conjunction with HFS. It is not yet tested whether HFS+ +filesystems produced with option -hfsplus would boot on any CHRP capable machine. @c man .TP @item -prep-boot-part disk_path @kindex -prep-boot-part PReP partition