Enabled use of libisofs interval reader in xorriso

This commit is contained in:
2015-04-23 14:23:45 +00:00
parent 811cbd8b80
commit 8fbd7bbf69
8 changed files with 674 additions and 216 deletions

View File

@ -2586,6 +2586,44 @@ Block for old MIPS DECstation, SUN Disk Label for SPARC machines, HP-PA
boot sector for HP PA-RISC machines, DEC Alpha SRM boot sector for old
DEC Alpha machines.
Several of the following commands expect disk paths as input but
also accept description strings for the libisofs interval reader, which
is able to cut out data from disk files or -indev and to zeroize parts
of the content: command -append_partition, boot specs system_area=,
grub2_mbr=, prep_boot_part=, efi_boot_part=.
The description string consists of the following components, separated
by colon ':'
"--interval:"Flags":"Interval":"Zeroizers":"Source
The component "--interval" states that this is not a plain disk path
but rather an interval reader description string.
The component Flags modifies the further interpretation:
"local_fs" demands to read from a file depicted by the path in Source.
"imported_iso" demands to read from the -indev. This works only if
-outdev is not the same as -indev. The Source component is ignored.
The component Interval consists of two byte address numbers separated
by a "-" character. E.g. "0-429" means to read bytes 0 to 429.
The component Zeroizers consists of zero or more comma separated
strings. They define which part of the read data to zeroize. Byte
number 0 means the byte read from the Interval start address. Each
string may be one of:
"zero_mbrpt" demands to zeroize the MBR partition table if bytes 510
and 511 bear the MBR signature 0x55 0xaa.
"zero_gpt" demands to check for a GPT header in bytes 512 to 1023, to
zeroize it and its partition table blocks.
"zero_apm" demands to check for an APM block 0 and to zeroize its
partition table blocks.
Start_byte"-"End_byte demands to zeroize the read-in bytes beginning
with number Start_byte and ending after End_byte.
The component Source is the file path with flag "local_fs", and ignored
with flag "imported_iso".
Byte numbers may be scaled by a suffix out of {k,m,g,t,s,d} meaning
multiplication by {1024, 1024k, 1024m, 1024g, 2048, 512}. A scaled value
end number depicts the last byte of the scaled range.
E.g. "0d-0d" is "0-511".
Examples:
"local_fs:0-32767:zero_mbrpt,zero_gpt,440-443:/tmp/template.iso"
"imported_iso:45056d-47103d::"
-boot_image "any"|"isolinux"|"grub"
"discard"|"keep"|"patch"|"show_status"|bootspec|"next"
@ -2754,16 +2792,16 @@ DEC Alpha machines.
the whole ISO image and has type 0x96. This is not compatible with
any other feature that produces MBR partition entries. It makes
GPT unrecognizable.
*prep_boot_part=* inserts the content of a data file into the
image and marks it by an MBR partition of type 0x41. The parts of
the ISO image before and after this partition will be covered by
further MBR partitions. The data file is supposed to contain ELF
executable code.
*efi_boot_part=* inserts the content of a data file into the image
and marks it by a GPT partition. If not chrp_boot_part=on, then
the first partition in MBR will have type 0xee to announce the
presence of GPT. The data file is supposed to contain a FAT
filesystem.
*prep_boot_part=*disk_path inserts the content of a data file into
the image and marks it by an MBR partition of type 0x41. The parts
of the ISO image before and after this partition will be covered
by further MBR partitions. The data file is supposed to contain
ELF executable code.
*efi_boot_part=*disk_path inserts the content of a data file into
the image and marks it by a GPT partition. If not
chrp_boot_part=on, then the first partition in MBR will have type
0xee to announce the presence of GPT. The data file is supposed
to contain a FAT filesystem.
Instead of a disk_path, the word --efi-boot-image may be given.
It exposes in GPT the content of the first El Torito EFI boot
image as EFI system partition. EFI boot images are introduced by
@ -2785,16 +2823,19 @@ DEC Alpha machines.
the partition table. 0 chooses a default value. Maximum is 63.
The product partition_sec_hd * partition_hd_cyl * 512 is the
cylinder size. It should be divisible by 2048 in order to allow
exact alignment. If it is too small to describe the image size by
at most 1024 cylinders, then appropriate values of
partition_hd_cyl are chosen with partition_sec_hd 32 or 63. If the
image is larger than 8,422,686,720 bytes, then the cylinder size
constraints cannot be fulfilled.
exact alignment. With appended partitions and
"appended_part_as=gpt" there is no limit for the number of
cylinders. Else there may be at most 1024 of them. If the
cylinder size is too small to stay below the limit, then
appropriate values of partition_hd_cyl are chosen with
partition_sec_hd 32 or 63. If the image is larger than
8,422,686,720 bytes, then the cylinder size constraints cannot be
fulfilled for MBR.
*partition_cyl_align=*mode controls image size alignment to an
integer number of cylinders. It is prescribed by isohybrid specs
and it seems to please program fdisk. Cylinder size must be
divisible by 2048. Images larger than 8,323,596,288 bytes cannot
be aligned.
be aligned in MBR partition table.
Mode "auto" is default. Alignment by padding happens only with
"isolinux" "partition_table=on".
Mode "on" causes alignment by padding with "partition_table=on"
@ -2840,9 +2881,9 @@ DEC Alpha machines.
(default) and version 4. For the appropriate value see in PALO
source code: PALOHDRVERSION.
*alpha_boot=*iso_rr_path declares a data file in the image to be
the DEC Alpha SRM Secondary Bootloader and causes production of a
boot sector which points to it. This is mutually exclusive with
production of other boot blocks like MBR.
the DEC Alpha SRM Secondary Bootstrap Loader and causes production
of a boot sector which points to it. This is mutually exclusive
with production of other boot blocks like MBR.
*mips_discard*, *sparc_discard*, *hppa_discard*, *alpha_discard*
revoke any boot file declarations made for mips, mipsel, sparc,
hppa, resp. alpha. This removes the ban on production of other
@ -5062,7 +5103,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -alter_date sets timestamps in ISO image: Manip. (line 154)
* -alter_date_r sets timestamps in ISO image: Manip. (line 187)
* -append_partition adds arbitrary file after image end: Bootable.
(line 302)
(line 343)
* -application_id sets application id: SetWrite. (line 196)
* -application_use sets application use field: SetWrite. (line 262)
* -as emulates mkisofs or cdrecord: Emulation. (line 13)
@ -5072,7 +5113,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -ban_stdio_write demands real drive: Loading. (line 278)
* -biblio_file sets biblio file name: SetWrite. (line 244)
* -blank erases media: Writing. (line 61)
* -boot_image controls bootability: Bootable. (line 27)
* -boot_image controls bootability: Bootable. (line 65)
* -calm_drive reduces drive activity: Loading. (line 267)
* -cd sets working directory in ISO: Navigate. (line 7)
* -cdx sets working directory on disk: Navigate. (line 16)
@ -5300,11 +5341,11 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* ACL, set in ISO image, -setfacl_r: Manip. (line 105)
* ACL, show in ISO image, -getfacl: Navigate. (line 70)
* ACL, show in ISO image, -getfacl_r: Navigate. (line 77)
* APM block size: Bootable. (line 293)
* APM block size: Bootable. (line 334)
* APM, _definition: Extras. (line 41)
* Appendable media, _definition: Media. (line 38)
* Appended Filesystem Image, -append_partition: Bootable. (line 302)
* Appended partition, in MBR or GPT: Bootable. (line 185)
* Appended Filesystem Image, -append_partition: Bootable. (line 343)
* Appended partition, in MBR or GPT: Bootable. (line 223)
* Automatic execution order, of arguments, -x: ArgSort. (line 16)
* Backslash Interpretation, _definition: Processing. (line 52)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 217)
@ -5312,7 +5353,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 179)
* Blank media, _definition: Media. (line 29)
* Blind growing, _definition: Methods. (line 40)
* Bootability, control, -boot_image: Bootable. (line 27)
* Bootability, control, -boot_image: Bootable. (line 65)
* Bugs, reporting: Bugreport. (line 6)
* cdrecord, Emulation: Emulation. (line 118)
* Character Set, _definition: Charset. (line 6)
@ -5321,15 +5362,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Character Set, for output, -out_charset: SetWrite. (line 276)
* Character set, learn from image, -auto_charset: Loading. (line 122)
* Character Set, of terminal, -local_charset: Charset. (line 58)
* CHRP partition, _definition: Bootable. (line 190)
* CHRP partition, _definition: Bootable. (line 228)
* Closed media, _definition: Media. (line 43)
* Comment, #: Scripting. (line 173)
* Control, signal handling, -signal_handling: Exception. (line 69)
* Create, new ISO image, _definition: Methods. (line 6)
* Cylinder alignment, _definition: Bootable. (line 230)
* Cylinder size, _definition: Bootable. (line 219)
* Cylinder alignment, _definition: Bootable. (line 271)
* Cylinder size, _definition: Bootable. (line 257)
* Damaged track and session, close, -close_damaged: Writing. (line 170)
* DEC Alpha SRM boot sector, production: Bootable. (line 279)
* DEC Alpha SRM boot sector, production: Bootable. (line 320)
* Delete, from ISO image, -rm: Manip. (line 21)
* Delete, from ISO image, -rm_r: Manip. (line 28)
* Delete, ISO directory, -rmdir: Manip. (line 32)
@ -5360,7 +5401,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, write and eject, -commit_eject: Writing. (line 56)
* EA, _definition: Extras. (line 65)
* ECMA-119, _definition: Model. (line 6)
* EFI system partition, _definition: Bootable. (line 199)
* EFI system partition, _definition: Bootable. (line 237)
* El Torito, _definition: Extras. (line 19)
* Emulation, -as: Emulation. (line 13)
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 153)
@ -5387,10 +5428,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Group, in ISO image, -chgrp_r: Manip. (line 62)
* Growing, _definition: Methods. (line 19)
* Hard links, control handling, -hardlinks: Loading. (line 134)
* HFS+ allocation block size: Bootable. (line 290)
* HFS+ serial number: Bootable. (line 287)
* HFS+ allocation block size: Bootable. (line 331)
* HFS+ serial number: Bootable. (line 328)
* hidden, set in ISO image, -hide: Manip. (line 191)
* HP-PA boot sector, production: Bootable. (line 262)
* HP-PA boot sector, production: Bootable. (line 303)
* Image reading, cache size, -data_cache_size: Loading. (line 296)
* Image, _definition: Model. (line 9)
* Image, demand volume ID, -assert_volid: Loading. (line 108)
@ -5434,6 +5475,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Insert, paths, -cpr: Insert. (line 157)
* Insert, pathspecs, -add: Insert. (line 47)
* Insert, piece of data file, -cut_out: Insert. (line 131)
* Interval reader for system area and partitions: Bootable. (line 26)
* ISO 9660, _definition: Model. (line 6)
* iso_rr_path, _definition: Insert. (line 7)
* Jigdo Template Extraction, -jigdo: Jigdo. (line 33)
@ -5442,13 +5484,13 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* List delimiter, _definition: Processing. (line 9)
* Local Character Set, _definition: Charset. (line 11)
* MBR, _definition: Extras. (line 26)
* MBR, set, -boot_image system_area=: Bootable. (line 136)
* MBR, set, -boot_image system_area=: Bootable. (line 174)
* MD5, control handling, -md5: Loading. (line 183)
* Media, erase, -blank: Writing. (line 61)
* Media, format, -format: Writing. (line 91)
* Media, list formats, -list_formats: Writing. (line 134)
* Media, list write speeds, -list_speeds: Writing. (line 146)
* MIPS boot file, activation: Bootable. (line 241)
* MIPS boot file, activation: Bootable. (line 282)
* mkisofs, Emulation: Emulation. (line 16)
* Modifying, _definition: Methods. (line 27)
* Multi-session media, _definition: Media. (line 7)
@ -5475,15 +5517,15 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Ownership, global in ISO image, -uid: SetWrite. (line 282)
* Ownership, in ISO image, -chown: Manip. (line 49)
* Ownership, in ISO image, -chown_r: Manip. (line 54)
* Partition offset, _definition: Bootable. (line 209)
* Partition table, _definition: Bootable. (line 166)
* Partition offset, _definition: Bootable. (line 247)
* Partition table, _definition: Bootable. (line 204)
* Pathspec, _definition: SetInsert. (line 124)
* Pattern expansion, _definition: Processing. (line 24)
* Pattern expansion, for disk paths, -disk_pattern: Insert. (line 36)
* Pattern expansion, for ISO paths, -iso_rr_pattern: Manip. (line 10)
* Permissions, in ISO image, -chmod: Manip. (line 65)
* Permissions, in ISO image, -chmod_r: Manip. (line 77)
* PReP partition, _definition: Bootable. (line 194)
* PReP partition, _definition: Bootable. (line 232)
* Problems, reporting: Bugreport. (line 6)
* Process, consolidate text output, -pkt_output: Frontend. (line 7)
* Process, control abort on error, -abort_on: Exception. (line 27)
@ -5542,10 +5584,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Session, mount parameters, -mount_opts: Inquiry. (line 68)
* Session, select as input, -load: Loading. (line 35)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27)
* SUN Disk Label, production: Bootable. (line 252)
* SUN SPARC boot images, activation: Bootable. (line 325)
* SUN Disk Label, production: Bootable. (line 293)
* SUN SPARC boot images, activation: Bootable. (line 366)
* Symbolic link, create, -lns: Insert. (line 176)
* System area, _definition: Bootable. (line 136)
* System area, _definition: Bootable. (line 174)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 238)
* Table-of-content, show, -toc: Inquiry. (line 28)
* Timestamps, set in ISO image, -alter_date: Manip. (line 154)
@ -5561,7 +5603,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Verify, file tree checksums, -check_md5_r: Verify. (line 182)
* Verify, preset -check_media, -check_media_defaults: Verify. (line 41)
* Write, block size, -dvd_obs: SetWrite. (line 333)
* Write, bootability, -boot_image: Bootable. (line 27)
* Write, bootability, -boot_image: Bootable. (line 65)
* Write, buffer syncing, -stdio_sync: SetWrite. (line 340)
* Write, close media, -close: SetWrite. (line 359)
* Write, compliance to specs, -compliance: SetWrite. (line 58)
@ -5611,39 +5653,39 @@ Node: Filter94447
Node: Writing99069
Node: SetWrite109200
Node: Bootable129906
Node: Jigdo149506
Node: Charset153753
Node: Exception157068
Node: DialogCtl163188
Node: Inquiry165786
Node: Navigate174124
Node: Verify182422
Node: Restore192249
Node: Emulation200853
Node: Scripting211241
Node: Frontend219012
Node: Examples228619
Node: ExDevices229797
Node: ExCreate230463
Node: ExDialog231748
Node: ExGrowing233013
Node: ExModifying233818
Node: ExBootable234322
Node: ExCharset234874
Node: ExPseudo235766
Node: ExCdrecord236664
Node: ExMkisofs236981
Node: ExGrowisofs238321
Node: ExException239456
Node: ExTime239910
Node: ExIncBackup240369
Node: ExRestore244359
Node: ExRecovery245292
Node: Files245862
Node: Seealso247161
Node: Bugreport247884
Node: Legal248465
Node: CommandIdx249476
Node: ConceptIdx266357
Node: Jigdo151756
Node: Charset156003
Node: Exception159318
Node: DialogCtl165438
Node: Inquiry168036
Node: Navigate176374
Node: Verify184672
Node: Restore194499
Node: Emulation203103
Node: Scripting213491
Node: Frontend221262
Node: Examples230869
Node: ExDevices232047
Node: ExCreate232713
Node: ExDialog233998
Node: ExGrowing235263
Node: ExModifying236068
Node: ExBootable236572
Node: ExCharset237124
Node: ExPseudo238016
Node: ExCdrecord238914
Node: ExMkisofs239231
Node: ExGrowisofs240571
Node: ExException241706
Node: ExTime242160
Node: ExIncBackup242619
Node: ExRestore246609
Node: ExRecovery247542
Node: Files248112
Node: Seealso249411
Node: Bugreport250134
Node: Legal250715
Node: CommandIdx251726
Node: ConceptIdx268607

End Tag Table