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

@ -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.3.9, Feb 28, 2015"
.TH XORRISOFS 1 "Version 1.3.9, Apr 21, 2015"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -1022,6 +1022,62 @@ MBR boot code. All three do not hamper El Torito booting from CDROM.
MIPS Big Endian (SGI), MIPS Little Endian (DEC), SUN SPARC, HP\-PA, DEC Alpha.
Those are mutually not combinable and also not combinable with MBR, GPT,
or APM.
.PP
Several of the following options 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:
\-G, \-generic\-boot, \-\-embedded\-boot, \-\-grub2\-mbr,
\-isohybrid\-mbr, \-efi\-boot\-part, \-prep\-boot\-part, \-B, \-sparc\-boot,
\-append_partition.
.br
The description string consists
of the following components, separated by colon ':'
.br
"\-\-interval:"Flags":"Interval":"Zeroizers":"Source
.br
The component "\-\-interval" states that this is not
a plain disk path but rather a interval reader description string.
.br
The component Flags modifies the further interpretation:
.br
"local_fs" demands to read from a file depicted by the path in Source.
.br
"imported_iso" demands to read from the \-indev. This works only if \-outdev
is not the same as \-indev. The Source component is ignored.
.br
The component Interval consists of two byte address numbers separated by a "\-" character. E.g. "0\-429" means to read bytes 0 to 429.
.br
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:
.br
"zero_mbrpt" demands to zeroize the MBR partition table if
bytes 510 and 511 bear the MBR signature 0x55 0xaa.
.br
"zero_gpt" demands to check for a GPT header in bytes 512 to 1023,
to zeroize it and its partition table blocks.
.br
"zero_apm" demands to check for an APM block 0 and to zeroize
its partition table blocks.
.br
Start_byte"\-"End_byte demands to zeroize the read\-in bytes beginning
with number Start_byte and ending after End_byte.
.br
The component Source is the file path with flag "local_fs", and ignored with
flag "imported_iso".
.br
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.
.br
E.g. "0d\-0d" is "0\-511".
.br
Examples:
.br
"local_fs:0\-32767:zero_mbrpt,zero_gpt,440\-443:/tmp/template.iso"
.br
"imported_iso:45056d\-47103d::"
.br
.TP
\fB\-G\fR disk_path
@ -1104,26 +1160,30 @@ to a loaded image.
So the value defined here is only in effect if a new ISO image gets written.
.TP
\fB\-partition_hd_cyl\fR number
Set the number of heads per cylinder for the partition table.
Set the number of heads per cylinder for the MBR partition table.
0 chooses a default value. Maximum is 255.
.TP
\fB\-partition_sec_hd\fR number
Set the number of sectors per head for the partition table.
Set the number of sectors per head for the MBR partition table.
0 chooses a default value. Maximum is 63.
.br
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,
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. They seem not overly
important anyway. Flat block addresses in partition tables are good for 1 TiB.
then the cylinder size constraints cannot be fulfilled for MBR.
They seem not overly important anyway.
Flat block addresses in partition tables are good for 1 TiB.
.TP
\fB\-partition_cyl_align\fR mode
Control 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.
Images larger than 8,323,596,288 bytes cannot be aligned in MBR partition
table.
.br
Mode "auto" is default. Alignment by padding happens only if
option \-isohybrid\-mbr is given.
@ -1147,15 +1207,17 @@ overwritten.
.br
partition_number may be 1 to 4. Number 1 will put the whole ISO image into
the unclaimed space before partition 1. So together with most xorriso MBR
features, number 2 would be the most natural choice.
or GPT features, number 2 would be the most natural choice.
.br
The type_code may be "FAT12", "FAT16", "Linux",
or a hexadecimal number between 0x00 and 0xff. Not all those numbers will
yield usable results. For a list of codes search the Internet for
"Partition Types" or run fdisk command "L".
This code matters only with MBR, not with GPT.
.br
If some other command causes the production of GPT, then the appended
partitions will be mentioned there too.
partitions will be mentioned there too, even if not \-appended_part_as_gpt
is given.
.TP
\fB\-appended_part_as_gpt\fR
Marks partitions from \-append_partition in GPT rather than in MBR.