From 651f42955d007e0889102c7d520148bb8a6ad336 Mon Sep 17 00:00:00 2001 From: Thomas Schmitt Date: Mon, 20 Nov 2023 11:50:38 +0100 Subject: [PATCH] New -as mkisofs options -cut_out and -hide_iso_path --- xorriso/emulators.c | 43 ++++++++++- xorriso/xorriso_timestamp.h | 2 +- xorriso/xorrisofs.1 | 31 +++++++- xorriso/xorrisofs.info | 138 +++++++++++++++++++++--------------- xorriso/xorrisofs.texi | 37 +++++++++- 5 files changed, 189 insertions(+), 62 deletions(-) diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 270162df..6f11bab2 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -1,7 +1,7 @@ /* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images. - Copyright 2007-2021 Thomas Schmitt, + Copyright 2007-2023 Thomas Schmitt, Provided under GPL version 2 or later. @@ -690,13 +690,17 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv, "" }; static char arg2_options[][41]= { - "-hfs-bless-by", "--scdbackup_tag", "--sort-weight", + "-hfs-bless-by", "-hide_iso_path", "--scdbackup_tag", "--sort-weight", "" }; static char arg3_options[][41]= { "-append_partition", "-hfsplus-file-creator-type", "" }; + static char arg4_options[][41]= { + "-cut_out", + "" + }; static char final_options[][41]= { "-find", "" @@ -722,6 +726,10 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv, for(i=0; arg3_options[i][0]!=0; i++) if(strcmp(arg3_options[i], cmd)==0) return(1); + *count= 4; + for(i=0; arg4_options[i][0]!=0; i++) + if(strcmp(arg4_options[i], cmd)==0) + return(1); *count= argc - 1; for(i=0; final_options[i][0]!=0; i++) if(strcmp(final_options[i], cmd)==0) @@ -809,6 +817,8 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag) " -hide-joliet-list FILE File with list of Joliet files to hide", " -hide-hfsplus GLOBFILE Hide HFS+ file", " -hide-hfsplus-list FILE File with list of HFS+ files to hide", +" -hide_iso_path HIDE_STATE ISO_RR_PATH", +" Hide file by its ISO path", " -input-charset CHARSET Local input charset for file name conversion", " -output-charset CHARSET Output charset for file name conversion", " -iso-level LEVEL Set ISO9660 conformance level (1..3) or 4 for ISO9660 version 2", @@ -942,6 +952,9 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag) " a GUID to be used if -appended_part_as_gpt.", " -appended_part_as_gpt mark appended partitions in GPT instead of MBR.", " -appended_part_as_apm mark appended partitions in APM.", +" -cut_out DISK_PATH BYTE_OFFSET BYTE_COUNT ISO_RR_PATH", +" map a byte interval of a regular disk file", +" into a regular file in the ISO image", " --modification-date=YYYYMMDDhhmmsscc", " Override date of creation and modification", " --set_all_file_dates TIME Override mtime, atime, ctime in all files", @@ -2011,6 +2024,15 @@ not_enough_args:; if(argv[i] != argpt) delay_opt_list[delay_opt_count - 1]|= 1u<<31; i++; + + } else if(strcmp(argpt, "-hide_iso_path") == 0) { + if(i + 2 >= argc) + goto not_enough_args; + delay_opt_list[delay_opt_count++]= i; + if(argv[i] != argpt) + delay_opt_list[delay_opt_count - 1]|= 1u<<31; + i+= 2; + } else if(strncmp(argpt, "--modification-date=", 20)==0) { ret= Xorriso_option_volume_date(xorriso, "uuid", argpt + 20, 0); if(ret <= 0) @@ -2328,6 +2350,15 @@ rr_reloc_dir:; if(ret <= 0) goto problem_handler_2; + } else if(strcmp(argpt, "-cut_out") == 0) { + if(i + 4 >= argc) + goto not_enough_args; + i+= 4; + ret= Xorriso_option_cut_out(xorriso, argv[i - 3], argv[i - 2], + argv[i - 1], argv[i], 0); + if(ret <= 0) + goto problem_handler_2; + } else if(argpt[0]=='-' && argpt[1]!=0) { ret= Xorriso_genisofs_fused_options(xorriso, whom, argv[i] + 1, &option_d, &iso_level, &lower_r, ra_text, 1); @@ -2759,6 +2790,14 @@ problem_handler_2:; if(ret <= 0) goto problem_handler_boot; + } else if(strcmp(argpt, "-hide_iso_path") == 0) { + int i_plus; + + i_plus= i + 2; + ret= Xorriso_option_hide(xorriso, argv[i + 1], i + 3, argv, &i_plus, 0); + if(ret <= 0) + goto problem_handler_boot; + } continue; /* regular bottom of loop */ problem_handler_boot:; diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index fafe2924..7b0ff209 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2023.08.08.114459" +#define Xorriso_timestamP "2023.11.20.105009" diff --git a/xorriso/xorrisofs.1 b/xorriso/xorrisofs.1 index 6b51b5a3..0c60ac09 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.5.7, Jun 07, 2023" +.TH XORRISOFS 1 "Version 1.5.7, Nov 12, 2023" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: @@ -224,6 +224,19 @@ enclose whitespace and make it part of pathspecs. Each mark type can enclose the marks of the other type. A trailing backslash \\ outside quotations or an open quotation cause the next input line to be appended. .TP +\fB\-cut_out\fR disk_path byte_offset byte_count iso_rr_path +Map a byte interval of a regular disk file or of a device file into a regular +file in the ISO image. The file depicted by disk_path has to support random +read access. +.br +byte_offset and byte_count may be plain numbers counting bytes, or numbers +with appended letter "d", "s", "k", "m", "g" to count disk blocks (512 bytes), +disc sectors (2048 bytes), KiB (1024 bytes), MiB (1024 KiB), or GiB (1024 MiB). +.br +E.g: +.br +\-cut_out bootable.iso 562s 18s /formerly_hidden_boot_image +.TP \fB\-f\fR .br Resolve symbolic links on disk rather than storing them as symbolic @@ -856,6 +869,22 @@ if their disk_path matches the given shell parser pattern. Perform \-hide\-hfsplus using each line out of file disk_path as argument disk_path_pattern. .TP +\fB\-hide_iso_path\fR hide_state iso_rr_path +Prevent the name of the given file from showing up in the directory trees +of ISO 9660 and/or Joliet and/or HFS+ when the image gets written. +Other than the above hide options, this one takes the path of a file +in the emerging ISO filesystem, not the path of a file on hard disk. +.br +Possible values of hide_state are: "iso_rr" for hiding from ISO 9660 tree, +"joliet" for Joliet tree, "hfsplus" for HFS+, "on" for them all. +"off" means visibility in all directory trees. +.br +These values may be combined. +E.g.: joliet:hfsplus +.br +This command does not apply to the boot catalog. +Rather use: boot\-catalog\-hide +.TP .B ISO image ID strings: .PP The following strings and file addresses get stored in the Primary Volume diff --git a/xorriso/xorrisofs.info b/xorriso/xorrisofs.info index e8081237..bbfbeb5f 100644 --- a/xorriso/xorrisofs.info +++ b/xorriso/xorrisofs.info @@ -236,6 +236,16 @@ File: xorrisofs.info, Node: SetInsert, Next: SetProduct, Prev: Loading, Up: mark type can enclose the marks of the other type. A trailing backslash \ outside quotations or an open quotation cause the next input line to be appended. +-cut_out disk_path byte_offset byte_count iso_rr_path + Map a byte interval of a regular disk file or of a device file into + a regular file in the ISO image. The file depicted by disk_path + has to support random read access. + byte_offset and byte_count may be plain numbers counting bytes, or + numbers with appended letter "d", "s", "k", "m", "g" to count disk + blocks (512 bytes), disc sectors (2048 bytes), KiB (1024 bytes), + MiB (1024 KiB), or GiB (1024 MiB). + E.g: + -cut_out bootable.iso 562s 18s /formerly_hidden_boot_image -f Resolve symbolic links on disk rather than storing them as symbolic @@ -770,6 +780,18 @@ File: xorrisofs.info, Node: SetHide, Next: ImageId, Prev: SetExtras, Up: Opt -hide-hfsplus-list disk_path Perform -hide-hfsplus using each line out of file disk_path as argument disk_path_pattern. +-hide_iso_path hide_state iso_rr_path + Prevent the name of the given file from showing up in the directory + trees of ISO 9660 and/or Joliet and/or HFS+ when the image gets + written. Other than the above hide options, this one takes the + path of a file in the emerging ISO filesystem, not the path of a + file on hard disk. + Possible values of hide_state are: "iso_rr" for hiding from ISO + 9660 tree, "joliet" for Joliet tree, "hfsplus" for HFS+, "on" for + them all. "off" means visibility in all directory trees. + These values may be combined. E.g.: joliet:hfsplus + This command does not apply to the boot catalog. Rather use: + boot-catalog-hide  File: xorrisofs.info, Node: ImageId, Next: Bootable, Prev: SetHide, Up: Options @@ -2030,10 +2052,10 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * --old-empty old block addresses for empty files: SetProduct. (line 105) * --old-root-devno enable disk idevno with -old-root: SetInsert. - (line 104) + (line 114) * --old-root-no-ino disable disk ino with -old-root: SetInsert. - (line 93) -* --old-root-no-md5 disable MD5 with -old-root: SetInsert. (line 111) + (line 103) +* --old-root-no-md5 disable MD5 with -old-root: SetInsert. (line 121) * --protective-msdos-label Patch System Area partition table: SystemArea. (line 143) * --quoted_path_list read pathspecs from disk file: SetInsert. @@ -2050,11 +2072,11 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * --xattr Recording of any xattr: SetExtras. (line 116) * --xattr Recording of user xattr: SetExtras. (line 109) * --zisofs-version-2 enable recognition of zisofs2 files: SetInsert. - (line 55) + (line 65) * --zisofs2-susp-z2 produce Z2 for version 2 instead of ZF: SetInsert. - (line 66) + (line 76) * --zisofs2-susp-zf produce ZF for version 2 instead of Z2: SetInsert. - (line 70) + (line 80) * -A set Application Id: ImageId. (line 34) * -abstract set Abstract File path: ImageId. (line 57) * -allow-lowercase lowercase in ISO file names: SetCompl. (line 42) @@ -2082,6 +2104,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -chrp-boot CHRP partition: SystemArea. (line 282) * -chrp-boot-part CHRP partition: SystemArea. (line 273) * -copyright set Copyright File path: ImageId. (line 66) +* -cut_out insert piece of data file or device: SetInsert. (line 22) * -D allow deep directory hierarchies: SetExtras. (line 60) * -d omit trailing dot in ISO file names: SetCompl. (line 50) * -dev set path for loading existing ISO image: Loading. (line 23) @@ -2099,18 +2122,18 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -eltorito-platform El Torito Platform Id: Bootable. (line 63) * -eltorito-selcrit El Torito boot selection criteria: Bootable. (line 100) -* -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) +* -exclude exclude disk files from inserting: SetInsert. (line 47) +* -exclude-list exclude disk files from inserting: SetInsert. (line 54) +* -f follow symbolic links on disk: SetInsert. (line 32) * -file-mode permissions for all data files: SetProduct. (line 92) * -file_name_limit curbs length of file names: SetExtras. (line 49) -* -follow-links follow symbolic links on disk: SetInsert. (line 26) +* -follow-links follow symbolic links on disk: SetInsert. (line 36) * -full-iso9660-filenames allow 31 characters in ISO file names: SetCompl. (line 59) * -G Fill System Area e.g. by MBR: SystemArea. (line 68) * -generic-boot Fill System Area e.g. by MBR: SystemArea. (line 77) * -gid group assignment for all files: SetProduct. (line 83) -* -graft-points enable target=source pathspecs: SetInsert. (line 28) +* -graft-points enable target=source pathspecs: SetInsert. (line 38) * -gui increase frequency of pacifier messages: Miscellaneous. (line 29) * -hard-disk-boot El Torito boot image emulation: Bootable. (line 83) @@ -2137,6 +2160,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T (line 15) * -hide-rr-moved set deep directory relocation target: SetExtras. (line 90) +* -hide_iso_path keep a file invisible in ISO tree: SetHide. (line 31) * -hppa-bootloader HP-PA bootloader file: SystemArea. (line 327) * -hppa-cmdline HP-PA PALO command line: SystemArea. (line 321) * -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 335) @@ -2174,7 +2198,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -joliet-utf16 use UTF-16 with Joliet names: SetExtras. (line 159) * -l allow 31 characters in ISO file names: SetCompl. (line 56) * -log-file redirect stderr messages: Miscellaneous. (line 33) -* -m exclude disk files from inserting: SetInsert. (line 31) +* -m exclude disk files from inserting: SetInsert. (line 41) * -M set path for loading existing ISO image: Loading. (line 11) * -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl. (line 61) @@ -2185,8 +2209,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -no-emul-boot El Torito boot image emulation: Bootable. (line 86) * -no-pad do not add zeros to ISO tree: SetProduct. (line 101) * -o set output file address: SetProduct. (line 8) -* -old-exclude exclude disk files from inserting: SetInsert. (line 42) -* -old-root enable incremental insertion: SetInsert. (line 80) +* -old-exclude exclude disk files from inserting: SetInsert. (line 52) +* -old-root enable incremental insertion: SetInsert. (line 90) * -omit-period omit trailing dot in ISO file names: SetCompl. (line 54) * -omit-version-number omit version number in ISO file names: SetCompl. (line 69) @@ -2218,14 +2242,14 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -relaxed-filenames 7-bit special characters in ISO file names: SetCompl. (line 45) * -rock Rock Ridge (is enabled by default): SetExtras. (line 13) -* -root redirect ISO root directory: SetInsert. (line 75) +* -root redirect ISO root directory: SetInsert. (line 85) * -rr_reloc_dir set deep directory relocation target: SetExtras. (line 74) * -sparc-boot SUN SPARC boot images: SystemArea. (line 311) * -sparc-label SUN Disk Label text: SystemArea. (line 313) * -sysid set System Id: ImageId. (line 43) * -transparent-compression enable recognition of zisofs files: SetInsert. - (line 53) + (line 63) * -U very relaxed filename rules: SetCompl. (line 27) * -uid ownership for all files: SetProduct. (line 79) * -untranslated-filenames very relaxed filename rules: SetCompl. @@ -2237,8 +2261,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T * -version report program version: Miscellaneous. (line 43) * -volid set Volume Id: ImageId. (line 23) * -volset set Volume Set Id: ImageId. (line 25) -* -x exclude disk files from inserting: SetInsert. (line 39) -* -z enable recognition of zisofs files: SetInsert. (line 47) +* -x exclude disk files from inserting: SetInsert. (line 49) +* -z enable recognition of zisofs files: SetInsert. (line 57)  File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top @@ -2338,9 +2362,9 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top (line 90) * Deep directories, relocation target, -rr_reloc_dir: SetExtras. (line 74) -* Disk files, exclude, -hide-list: SetInsert. (line 44) +* Disk files, exclude, -exclude-list: SetInsert. (line 54) * Disk files, exclude, -m, -exclude, -x, -old-exclude: SetInsert. - (line 31) + (line 41) * Disk GUID, for GPT, --gpt_disk_guid: SystemArea. (line 260) * disk_path, _definition: Insert. (line 7) * ECMA-119, _definition: Standards. (line 6) @@ -2362,6 +2386,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top (line 208) * HFS+, set serial number: SetExtras. (line 193) * HFS+, _definition: Standards. (line 32) +* Hiding, by ISO RR path, -hide_iso_path: SetHide. (line 31) * Hiding, from HFS+, -hide-hfsplus: SetHide. (line 25) * Hiding, from HFS+, -hide-hfsplus-list: SetHide. (line 28) * Hiding, from ISO and Rock Ridge, -hide: SetHide. (line 8) @@ -2370,12 +2395,13 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Hiding, from Joliet, -hide-joliet-list: SetHide. (line 22) * Image size, alignment, -partition_cyl_align: SystemArea. (line 197) * Incremental insertion, disable disk ino, --old-root-no-ino: SetInsert. - (line 93) + (line 103) * Incremental insertion, disable MD5, --old-root-no-md5: SetInsert. - (line 111) + (line 121) * Incremental insertion, enable disk devno, --old-root-devno: SetInsert. - (line 104) -* Incremental insertion, enable, -old-root: SetInsert. (line 80) + (line 114) +* Incremental insertion, enable, -old-root: SetInsert. (line 90) +* Insert, piece of data file or device, -cut_out: SetInsert. (line 22) * Interval reader for system area and partitions: SystemArea. (line 24) * ISO 9660, _definition: Standards. (line 6) * ISO 9660:1999, _definition: Standards. (line 26) @@ -2403,7 +2429,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top (line 23) * ISO level, specify, -iso-level: SetCompl. (line 7) * ISO level, specify, -iso-level <1>: SetCompl. (line 8) -* ISO root directory, redirect, -root: SetInsert. (line 75) +* ISO root directory, redirect, -root: SetInsert. (line 85) * iso_rr_path, _definition: Insert. (line 8) * Jigdo Template Extraction, -checksum-list: Jigdo. (line 77) * Jigdo Template Extraction, -checksum_algorithm_iso: Jigdo. (line 86) @@ -2424,7 +2450,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Joliet, allows longer names, -joliet-long: SetExtras. (line 153) * Joliet, enable, -J, -joliet: SetExtras. (line 147) * Joliet, _definition: Standards. (line 21) -* Links, follow on disk, -f, -follow-links: SetInsert. (line 22) +* Links, follow on disk, -f, -follow-links: SetInsert. (line 32) * Links, record and load hard links, --hardlinks: SetExtras. (line 130) * MBR, GPT, append partition, -append_partition: SystemArea. (line 208) * MBR, sectors per head, -partition_sec_hd: SystemArea. (line 180) @@ -2442,7 +2468,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * Padding, 300 KiB, -pad: SetProduct. (line 94) * Padding, disable, --old-empty: SetProduct. (line 105) * Padding, disable, -no-pad: SetProduct. (line 101) -* pathspec, enable target=source, -graft-points: SetInsert. (line 28) +* pathspec, enable target=source, -graft-points: SetInsert. (line 38) * pathspec, read list of, --quoted_path_list: SetInsert. (line 12) * pathspec, read list of, -path-list: SetInsert. (line 8) * pathspec, _definition: Insert. (line 11) @@ -2475,13 +2501,13 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top * xorriso, mkisofs emulation: Xorriso. (line 6) * xorriso, options: Options. (line 6) * Z2 instead of ZF for version 2, -zisofs2-susp-z2: SetInsert. - (line 66) + (line 76) * ZF instead of Z2 for version 2, -zisofs2-susp-zf: SetInsert. - (line 70) + (line 80) * zisofs file, enable recognition, -z, -transparent-compression: SetInsert. - (line 47) + (line 57) * zisofs2 file, enable recognition, -zisofs-version-2: SetInsert. - (line 55) + (line 65)  @@ -2494,30 +2520,30 @@ Node: Xorriso5616 Node: Options6762 Node: Loading7489 Node: SetInsert9530 -Node: SetProduct14900 -Node: SetCompl20471 -Node: SetExtras23063 -Node: SetHide34672 -Node: ImageId35976 -Node: Bootable40258 -Node: SystemArea46544 -Node: Charset65603 -Node: Jigdo66628 -Node: Miscellaneous71598 -Node: Examples73243 -Node: ExSimple73737 -Node: ExGraft74220 -Node: ExMkisofs75520 -Node: ExGrowisofs77328 -Node: ExIncBackup78518 -Node: ExIncBckAcc81694 -Node: ExBootable83399 -Node: Files87581 -Node: Environ88676 -Node: Seealso89549 -Node: Bugreport90200 -Node: Legal90793 -Node: CommandIdx91690 -Node: ConceptIdx108682 +Node: SetProduct15465 +Node: SetCompl21036 +Node: SetExtras23628 +Node: SetHide35237 +Node: ImageId37234 +Node: Bootable41516 +Node: SystemArea47802 +Node: Charset66861 +Node: Jigdo67886 +Node: Miscellaneous72856 +Node: Examples74501 +Node: ExSimple74995 +Node: ExGraft75478 +Node: ExMkisofs76778 +Node: ExGrowisofs78586 +Node: ExIncBackup79776 +Node: ExIncBckAcc82952 +Node: ExBootable84657 +Node: Files88839 +Node: Environ89934 +Node: Seealso90807 +Node: Bugreport91458 +Node: Legal92051 +Node: CommandIdx92948 +Node: ConceptIdx110086  End Tag Table diff --git a/xorriso/xorrisofs.texi b/xorriso/xorrisofs.texi index 2af37fe7..e26831d8 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.5.7, Jun 07, 2023" +@c man .TH XORRISOFS 1 "Version 1.5.7, Nov 12, 2023" @c man .\" Please adjust this date whenever revising the manpage. @c man .\" @c man .\" Some roff macros, for reference: @@ -366,6 +366,21 @@ enclose whitespace and make it part of pathspecs. Each mark type can enclose the marks of the other type. A trailing backslash \ outside quotations or an open quotation cause the next input line to be appended. @c man .TP +@item -cut_out disk_path byte_offset byte_count iso_rr_path +@kindex -cut_out insert piece of data file or device +@cindex Insert, piece of data file or device, -cut_out +Map a byte interval of a regular disk file or of a device file into a regular +file in the ISO image. The file depicted by disk_path has to support random +read access. +@* +byte_offset and byte_count may be plain numbers counting bytes, or numbers +with appended letter "d", "s", "k", "m", "g" to count disk blocks (512 bytes), +disc sectors (2048 bytes), KiB (1024 bytes), MiB (1024 KiB), or GiB (1024 MiB). +@* +E.g: +@* +-cut_out bootable.iso 562s 18s /formerly_hidden_boot_image +@c man .TP @item -f @kindex -f follow symbolic links on disk @cindex Links, follow on disk, -f, -follow-links @@ -408,7 +423,7 @@ Alias of -m. @c man .TP @item -exclude-list disk_path @kindex -exclude-list exclude disk files from inserting -@cindex Disk files, exclude, -hide-list +@cindex Disk files, exclude, -exclude-list Perform -m using each line out of file disk_path as argument disk_pattern. @c man .TP @item -z @@ -1169,6 +1184,24 @@ if their disk_path matches the given shell parser pattern. @cindex Hiding, from HFS+, -hide-hfsplus-list Perform -hide-hfsplus using each line out of file disk_path as argument disk_path_pattern. +@c man .TP +@item -hide_iso_path hide_state iso_rr_path +@kindex -hide_iso_path keep a file invisible in ISO tree +@cindex Hiding, by ISO RR path, -hide_iso_path +Prevent the name of the given file from showing up in the directory trees +of ISO 9660 and/or Joliet and/or HFS+ when the image gets written. +Other than the above hide options, this one takes the path of a file +in the emerging ISO filesystem, not the path of a file on hard disk. +@* +Possible values of hide_state are: "iso_rr" for hiding from ISO 9660 tree, +"joliet" for Joliet tree, "hfsplus" for HFS+, "on" for them all. +"off" means visibility in all directory trees. +@* +These values may be combined. +E.g.: joliet:hfsplus +@* +This command does not apply to the boot catalog. +Rather use: boot-catalog-hide @end table @c man .TP @c man .B ISO image ID strings: