Enabled use of libisofs interval reader in xorriso

This commit is contained in:
Thomas Schmitt 2015-04-23 14:23:45 +00:00
parent 5cd5f6abf9
commit 4a511b73a8
8 changed files with 674 additions and 216 deletions

View File

@ -340,22 +340,69 @@ int Xorriso_auto_format(struct XorrisO *xorriso, int flag)
}
/* @param flag bit0= fail on indev == outdev with "imported_iso"
bit1= fail on indev == NULL with "imported_iso"
*/
int Xorriso_check_intvl_string(struct XorrisO *xorriso, char **part_image,
int flag)
{
char *cpt, *ipt, *orig;
orig= *part_image;
if(strncmp(*part_image, "--interval:", 11) != 0)
return(0);
if(strchr(*part_image + 11, ':') == NULL)
return(0);
(*part_image)+= 11;
if(!(flag & 3))
return(1);
cpt= strchr(*part_image, ':');
ipt= strstr(*part_image, "imported_iso");
if(ipt == NULL || ipt > cpt)
return(1);
if((flag & 2) && xorriso->in_drive_handle == NULL) {
sprintf(xorriso->info_text,
"Interval reader lacks of -indev to read from \"imported_iso\"");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
goto failure;
}
if(!(flag & 1))
return(1);
if(xorriso->out_drive_handle != xorriso->in_drive_handle)
return(1);
sprintf(xorriso->info_text,
"Interval reader may not read from \"imported_iso\" during write run to same drive");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
failure:;
sprintf(xorriso->info_text, "Rejected: ");
Text_shellsafe(orig, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
return(-1);
}
int Xorriso_set_system_area(struct XorrisO *xorriso, struct burn_drive *drive,
IsoImage *img, struct isoburn_imgen_opts *sopts,
int flag)
{
int ret, options, system_area_options, iso_lba= -1, start_lba, image_blocks;
int sa_loaded;
int sa_loaded, read_count, i, read_sum= 0;
char volid[33];
FILE *fp= NULL;
char *buf= NULL, *bufpt= NULL;
off_t hd_lba;
char *buf= NULL, *bufpt= NULL, *intvl;
uint8_t *intvl_buf;
off_t hd_lba, byte_count;
unsigned char *ub;
ElToritoBootImage *bootimg;
IsoFile *bootimg_node;
IsoNode *sparc_core_node;
uint32_t offst;
enum burn_disc_status state;
struct iso_interval_reader *ivr = NULL;
if(xorriso->grub2_sparc_core[0]) {
ret= Xorriso_node_from_path(xorriso, img, xorriso->grub2_sparc_core,
@ -447,6 +494,34 @@ int Xorriso_set_system_area(struct XorrisO *xorriso, struct burn_drive *drive,
memset(buf, 0, 32768);
{ret= 1; goto do_set;}
}
intvl= xorriso->system_area_disk_path;
ret= Xorriso_check_intvl_string(xorriso, &intvl, 2);
if(ret < 0) {
{ret= 0; goto ex;}
} else if(ret > 0) {
ret= iso_interval_reader_new(img, intvl, &ivr, &byte_count, 0);
Xorriso_process_msg_queues(xorriso, 0);
if(ret < 0) {
intvl_reader_err:;
sprintf(xorriso->info_text,
"Error when reading -boot_image system_area=");
Text_shellsafe(xorriso->system_area_disk_path, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
{ret= 0; goto ex;}
}
for(i= 0; i < 16; i++) {
intvl_buf= (uint8_t *) (buf + 2048 * i);
ret= iso_interval_reader_read(ivr, intvl_buf, &read_count, 0);
Xorriso_process_msg_queues(xorriso, 0);
if(ret == 0)
break;
if(ret < 0)
goto intvl_reader_err;
read_sum+= read_count;
}
ret= read_sum;
} else {
ret= Xorriso_afile_fopen(xorriso, xorriso->system_area_disk_path,
"rb", &fp, 2);
if(ret <= 0)
@ -461,6 +536,7 @@ int Xorriso_set_system_area(struct XorrisO *xorriso, struct burn_drive *drive,
{ret= 0; goto ex;}
}
}
}
do_set:;
if(ret > 0 && xorriso->system_area_disk_path[0]) {
@ -502,6 +578,7 @@ do_set:;
ex:;
if(fp != NULL && fp != stdin)
fclose(fp);
iso_interval_reader_destroy(&ivr, 0);
Xorriso_free_meM(buf);
return(ret);
}
@ -752,7 +829,7 @@ int Xorriso_retry_write_session(struct XorrisO *xorriso, int flag)
int Xorriso_make_iso_write_opts(struct XorrisO *xorriso, IsoImage *image,
struct isoburn_imgen_opts *sopts, int flag)
{
int ext, i, ret, pad_by_libisofs= 0, is_bootable= 0, relax;
int ext, i, ret, pad_by_libisofs= 0, is_bootable= 0, relax, intvl_string= 0;
char *out_cs, *part_image;
IsoNode *root_node;
uint32_t padding;
@ -814,12 +891,20 @@ int Xorriso_make_iso_write_opts(struct XorrisO *xorriso, IsoImage *image,
xorriso->scdbackup_tag_time,
xorriso->scdbackup_tag_written);
if(xorriso->prep_partition[0]) {
ret= isoburn_igopt_set_prep_partition(sopts, xorriso->prep_partition, 0);
part_image= xorriso->prep_partition;
intvl_string= Xorriso_check_intvl_string(xorriso, &part_image, 3);
if(intvl_string < 0)
{ret= 0; goto ex;}
ret= isoburn_igopt_set_prep_partition(sopts, part_image, intvl_string);
if(ret <= 0)
{ret= 0; goto ex;}
}
if(xorriso->efi_boot_partition[0]) {
ret= isoburn_igopt_set_efi_bootp(sopts, xorriso->efi_boot_partition, 0);
part_image= xorriso->efi_boot_partition;
intvl_string= Xorriso_check_intvl_string(xorriso, &part_image, 3);
if(intvl_string < 0)
{ret= 0; goto ex;}
ret= isoburn_igopt_set_efi_bootp(sopts, part_image, intvl_string);
if(ret <= 0)
{ret= 0; goto ex;}
}
@ -832,8 +917,12 @@ int Xorriso_make_iso_write_opts(struct XorrisO *xorriso, IsoImage *image,
part_image= "";
else
part_image= xorriso->appended_partitions[i];
intvl_string= Xorriso_check_intvl_string(xorriso, &part_image, 3);
if(intvl_string < 0)
{ret= 0; goto ex;}
isoburn_igopt_set_partition_img(sopts, i + 1,
xorriso->appended_part_types[i], part_image);
isoburn_igopt_set_part_flag(sopts, i + 1, intvl_string);
}
isoburn_igopt_set_appended_as_gpt(sopts, xorriso->appended_as_gpt);
isoburn_igopt_set_disc_label(sopts, xorriso->ascii_disc_label);
@ -2831,13 +2920,45 @@ int Xorriso_update_iso_lba0(struct XorrisO *xorriso, int iso_lba, int isosize,
int Xorriso_set_system_area_path(struct XorrisO *xorriso, char *path, int flag)
{
int ret;
char *eff_src= NULL;
char *eff_src= NULL, *intvl;
struct iso_interval_reader *ivr= NULL;
off_t byte_count;
IsoImage *img= NULL;
struct burn_drive_info *source_dinfo;
struct burn_drive *source_drive;
if(path[0] == 0) {
xorriso->system_area_disk_path[0]= 0;
{ret= 1; goto ex;}
}
Xorriso_alloc_meM(eff_src, char, SfileadrL);
intvl = path;
ret = Xorriso_check_intvl_string(xorriso, &intvl, 0);
if(ret > 0) {
/* Check for syntactical correctness */
if(xorriso->in_drive_handle != NULL) {
ret= Xorriso_get_drive_handles(xorriso, &source_dinfo, &source_drive,
"on attempt to verify interval reader string", 0);
if(ret<=0)
goto ex;
img= isoburn_get_attached_image(source_drive);
}
ret= iso_interval_reader_new(img, intvl, &ivr, &byte_count, 1);
Xorriso_process_msg_queues(xorriso, 0);
if(ret < 0) {
sprintf(xorriso->info_text,
"Given path for system area is not accepted by interval reader");
Text_shellsafe(eff_src, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
{ret= 0; goto ex;}
}
iso_interval_reader_destroy(&ivr, 0);
ret= Sfile_str(xorriso->system_area_disk_path, path, 0);
if(ret <= 0)
{ret= -1; goto ex;}
ret= 1; goto ex;
}
ret= Xorriso_normalize_img_path(xorriso, xorriso->wdx, path, eff_src, 2|4|16);
if(ret < 0)
goto ex;
@ -2860,6 +2981,8 @@ int Xorriso_set_system_area_path(struct XorrisO *xorriso, char *path, int flag)
ret= 1;
ex:
Xorriso_free_meM(eff_src);
if(img != NULL)
iso_image_unref(img);
return(ret);
}

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 XORRISO 1 "Version 1.3.9, Feb 28, 2015"
.TH XORRISO 1 "Version 1.3.9, Apr 20, 2015"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -2925,6 +2925,60 @@ DEC Boot 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.
.PP
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=.
.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 an interval reader description string.
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\-boot_image\fR "any"|"isolinux"|"grub"
@ -3140,12 +3194,14 @@ marked in GPT only if GPT is produced because of other settings.
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.
.br
\fBprep_boot_part=\fR inserts the content of a data file into the image and
\fBprep_boot_part=\fRdisk_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.
.br
\fBefi_boot_part=\fR inserts the content of a data file into the image and
\fBefi_boot_part=\fRdisk_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.
@ -3174,15 +3230,19 @@ the 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.
then the cylinder size constraints cannot be fulfilled for MBR.
.br
\fBpartition_cyl_align=\fRmode 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.
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 with
"isolinux" "partition_table=on".
@ -3240,7 +3300,7 @@ and version 4.
For the appropriate value see in PALO source code: PALOHDRVERSION.
.br
\fBalpha_boot=\fRiso_rr_path declares a data file in the image to be the
DEC Alpha SRM Secondary Bootloader and causes production of a boot sector
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.
.br

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

View File

@ -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 XORRISO 1 "Version 1.3.9, Feb 28, 2015"
@c man .TH XORRISO 1 "Version 1.3.9, Apr 20, 2015"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -3438,6 +3438,63 @@ DEC Boot 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.
@c man .PP
@sp 1
@cindex Interval reader for system area and partitions
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 ':'
@*
"@minus{}@minus{}interval:"Flags":"Interval":"Zeroizers":"Source
@*
The component "@minus{}@minus{}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::"
@*
@table @asis
@sp 1
@ -3668,13 +3725,15 @@ 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.
@*
@cindex PReP partition, _definition
@strong{prep_boot_part=} inserts the content of a data file into the image and
@strong{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.
@*
@cindex EFI system partition, _definition
@strong{efi_boot_part=} inserts the content of a data file into the image and
@strong{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.
@ -3705,16 +3764,20 @@ 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,
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.
then the cylinder size constraints cannot be fulfilled for MBR.
@*
@cindex Cylinder alignment, _definition
@strong{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.
Images larger than 8,323,596,288 bytes cannot be aligned in MBR partition
table.
@*
Mode "auto" is default. Alignment by padding happens only with
"isolinux" "partition_table=on".
@ -3776,7 +3839,7 @@ For the appropriate value see in PALO source code: PALOHDRVERSION.
@*
@cindex DEC Alpha SRM boot sector, production
@strong{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
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.
@*

View File

@ -1 +1 @@
#define Xorriso_timestamP "2015.04.23.135054"
#define Xorriso_timestamP "2015.04.23.142257"

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.

View File

@ -1003,6 +1003,45 @@ boot code. All three do not hamper El Torito booting from CDROM.
MIPS Little Endian (DEC), SUN SPARC, HP-PA, DEC Alpha. Those are
mutually not combinable and also not combinable with MBR, GPT, or APM.
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.
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 a 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::"
-G disk_path
Copy at most 32768 bytes from the given disk file to the very
start of the ISO image.
@ -1082,27 +1121,29 @@ mutually not combinable and also not combinable with MBR, GPT, or APM.
effect if a new ISO image gets written.
-partition_hd_cyl number
Set the number of heads per cylinder for the partition table. 0
chooses a default value. Maximum is 255.
Set the number of heads per cylinder for the MBR partition table.
0 chooses a default value. Maximum is 255.
-partition_sec_hd number
Set the number of sectors per head for the partition table. 0
Set the number of sectors per head for the MBR 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. They seem not overly important
anyway. Flat block addresses in partition tables are good for 1
TiB.
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. They seem not overly important anyway. Flat
block addresses in partition tables are good for 1 TiB.
-partition_cyl_align 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.
than 8,323,596,288 bytes cannot be aligned in MBR partition table.
Mode "auto" is default. Alignment by padding happens only if
option -isohybrid-mbr is given.
Mode "on" causes alignment by padding with option
@ -1120,14 +1161,16 @@ mutually not combinable and also not combinable with MBR, GPT, or APM.
will get overwritten.
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.
with most xorriso MBR or GPT features, number 2 would be the most
natural choice.
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".
"Partition Types" or run fdisk command "L". This code matters
only with MBR, not with GPT.
If some other command causes the production of GPT, then the
appended partitions will be mentioned there too.
appended partitions will be mentioned there too, even if not
-appended_part_as_gpt is given.
-appended_part_as_gpt
Marks partitions from -append_partition in GPT rather than in MBR.
@ -1840,12 +1883,12 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --boot-catalog-hide Hide El Torito boot catalog: Bootable.
(line 116)
* --efi-boot El Torito EFI boot image: Bootable. (line 58)
* --embedded-boot Fill System Area e.g. by MBR: SystemArea. (line 38)
* --embedded-boot Fill System Area e.g. by MBR: SystemArea. (line 77)
* --emul-toc enable table-of-content emulation: SetProduct. (line 37)
* --for_backup Enable backup fidelity: SetExtras. (line 67)
* --grub2-boot-info Patch El Torito boot image: Bootable. (line 101)
* --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 41)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 219)
* --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 80)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 262)
* --hardlinks Recording of hardlink relations: SetExtras. (line 92)
* --md5 Recording of MD5 checksums: SetExtras. (line 84)
* --modification-date set ISO image timestamps: ImageId. (line 82)
@ -1860,7 +1903,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 84)
* --old-root-no-md5 disable MD5 with -old-root: SetInsert. (line 105)
* --protective-msdos-label Patch System Area partition table: SystemArea.
(line 86)
(line 125)
* --quoted_path_list read pathspecs from disk file: SetInsert.
(line 13)
* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 101)
@ -1876,14 +1919,14 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -A set Application Id: ImageId. (line 38)
* -abstract set Abstract File path: ImageId. (line 66)
* -allow-lowercase lowercase in ISO file names: SetCompl. (line 46)
* -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 249)
* -append_partition Append MBR partition after image: SystemArea.
(line 132)
* -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 292)
* -append_partition Append MBR or GPT partition after image: SystemArea.
(line 173)
* -appended_part_as_gpt Appended partitions in GPT: SystemArea.
(line 151)
(line 194)
* -appid set Application Id: ImageId. (line 46)
* -b El Torito PC-BIOS boot image: Bootable. (line 32)
* -B SUN SPARC boot images: SystemArea. (line 201)
* -B SUN SPARC boot images: SystemArea. (line 244)
* -biblio set Biblio File path: ImageId. (line 72)
* -boot-info-table Patch El Torito boot image: Bootable. (line 95)
* -boot-load-size El Torito boot image load size: Bootable. (line 63)
@ -1894,8 +1937,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -checksum_algorithm_iso choose .jigdo checksums: Jigdo. (line 80)
* -checksum_algorithm_template choose .template checksums: Jigdo.
(line 87)
* -chrp-boot CHRP partition: SystemArea. (line 179)
* -chrp-boot-part CHRP partition: SystemArea. (line 169)
* -chrp-boot CHRP partition: SystemArea. (line 222)
* -chrp-boot-part CHRP partition: SystemArea. (line 212)
* -copyright set Copyright File path: ImageId. (line 77)
* -D allow deep directory hierachies: SetExtras. (line 31)
* -d omit trailing dot in ISO file names: SetCompl. (line 56)
@ -1906,7 +1949,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -disallow_dir_id_ext enforce ISO level 1 directory names: SetCompl.
(line 24)
* -e El Torito EFI boot image: Bootable. (line 50)
* -efi-boot-part EFI boot partition: SystemArea. (line 158)
* -efi-boot-part EFI boot partition: SystemArea. (line 201)
* -eltorito-alt-boot begin next boot catalog entry: Bootable.
(line 43)
* -eltorito-boot El Torito PC-BIOS boot image: Bootable. (line 40)
@ -1922,8 +1965,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -follow-links follow symbolic links on disk: SetInsert. (line 28)
* -full-iso9660-filenames allow 31 characters in ISO file names: SetCompl.
(line 66)
* -G Fill System Area e.g. by MBR: SystemArea. (line 25)
* -generic-boot Fill System Area e.g. by MBR: SystemArea. (line 35)
* -G Fill System Area e.g. by MBR: SystemArea. (line 64)
* -generic-boot Fill System Area e.g. by MBR: SystemArea. (line 74)
* -graft-points enable target=source pathspecs: SetInsert. (line 31)
* -gui increase frequency of pacifier messages: Miscellaneous.
(line 31)
@ -1951,22 +1994,22 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 16)
* -hide-rr-moved set deep directory relocation target: SetExtras.
(line 64)
* -hppa-bootloader HP-PA bootloader file: SystemArea. (line 233)
* -hppa-cmdline HP-PA PALO command line: SystemArea. (line 226)
* -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 245)
* -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 236)
* -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 239)
* -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 242)
* -hppa-bootloader HP-PA bootloader file: SystemArea. (line 276)
* -hppa-cmdline HP-PA PALO command line: SystemArea. (line 269)
* -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 288)
* -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 279)
* -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 282)
* -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 285)
* -input-charset set character set of disk file names: Charset.
(line 17)
* -iso-level define ISO 9660 limitations: SetCompl. (line 7)
* -isohybrid-apm-hfsplus Mark boot image in APM: SystemArea.
(line 77)
* -isohybrid-gpt-basdat Mark boot image in GPT: SystemArea. (line 60)
(line 116)
* -isohybrid-gpt-basdat Mark boot image in GPT: SystemArea. (line 99)
* -isohybrid-gpt-hfsplus Mark boot image in GPT: SystemArea.
(line 72)
(line 111)
* -isohybrid-mbr Install ISOLINUX isohybrid MBR: SystemArea.
(line 48)
(line 87)
* -J enable production of Joliet directory tree: SetExtras. (line 110)
* -jigdo-exclude add exclusion pattern for .md5: Jigdo. (line 59)
* -jigdo-force-md5 add check pattern for .md5: Jigdo. (line 52)
@ -1987,8 +2030,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 188)
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 195)
* -mips-boot MIPS Big Endian boot image: SystemArea. (line 231)
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 238)
* -N omit version number in ISO file names: SetCompl. (line 73)
* -no-emul-boot El Torito boot image emulation: Bootable. (line 74)
* -no-pad do not add zeros to ISO tree: SetProduct. (line 104)
@ -2006,13 +2049,13 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -p set Preparer Id: ImageId. (line 54)
* -P set Publisher Id: ImageId. (line 30)
* -pad add 300 KiB of zeros to ISO tree: SetProduct. (line 97)
* -partition_cyl_align Image size alignment: SystemArea. (line 120)
* -partition_hd_cyl MBR heads per cylinder: SystemArea. (line 103)
* -partition_cyl_align Image size alignment: SystemArea. (line 161)
* -partition_hd_cyl MBR heads per cylinder: SystemArea. (line 142)
* -partition_offset Make mountable by partition 1: SystemArea.
(line 91)
* -partition_sec_hd MBR sectors per head: SystemArea. (line 107)
(line 130)
* -partition_sec_hd MBR sectors per head: SystemArea. (line 146)
* -path-list read pathspecs from disk file: SetInsert. (line 8)
* -prep-boot-part PReP partition: SystemArea. (line 182)
* -prep-boot-part PReP partition: SystemArea. (line 225)
* -preparer set Preparer Id: ImageId. (line 63)
* -prev-session set path for loading existing ISO image: Loading.
(line 22)
@ -2030,8 +2073,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 213)
* -sparc-label SUN Disk Label text: SystemArea. (line 216)
* -sparc-boot SUN SPARC boot images: SystemArea. (line 256)
* -sparc-label SUN Disk Label text: SystemArea. (line 259)
* -sysid set System Id: ImageId. (line 49)
* -transparent-compression enable recognition of zisofs files: SetInsert.
(line 61)
@ -2081,45 +2124,45 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 101)
* Bootability, boot image patching, -boot-info-table: Bootable.
(line 95)
* Bootability, control, --grub2-sparc-core: SystemArea. (line 219)
* Bootability, control, --grub2-sparc-core: SystemArea. (line 262)
* Bootability, control, --efi-boot: Bootable. (line 58)
* Bootability, control, -alpha-boot: SystemArea. (line 249)
* Bootability, control, -alpha-boot: SystemArea. (line 292)
* Bootability, control, -b, -eltorito-boot: Bootable. (line 32)
* Bootability, control, -B, -sparc-boot: SystemArea. (line 201)
* Bootability, control, -B, -sparc-boot: SystemArea. (line 244)
* Bootability, control, -e: Bootable. (line 50)
* Bootability, control, -hppa-bootloader: SystemArea. (line 233)
* Bootability, control, -hppa-cmdline: SystemArea. (line 226)
* Bootability, control, -hppa-hdrversion: SystemArea. (line 245)
* Bootability, control, -hppa-kernel_32: SystemArea. (line 236)
* Bootability, control, -hppa-kernel_64: SystemArea. (line 239)
* Bootability, control, -hppa-ramdisk: SystemArea. (line 242)
* Bootability, control, -mips-boot: SystemArea. (line 188)
* Bootability, control, -mipsel-boot: SystemArea. (line 195)
* Bootability, control, -hppa-bootloader: SystemArea. (line 276)
* Bootability, control, -hppa-cmdline: SystemArea. (line 269)
* Bootability, control, -hppa-hdrversion: SystemArea. (line 288)
* Bootability, control, -hppa-kernel_32: SystemArea. (line 279)
* Bootability, control, -hppa-kernel_64: SystemArea. (line 282)
* Bootability, control, -hppa-ramdisk: SystemArea. (line 285)
* Bootability, control, -mips-boot: SystemArea. (line 231)
* Bootability, control, -mipsel-boot: SystemArea. (line 238)
* Bootability, El Torito section id string, -eltorito-id: Bootable.
(line 82)
* Bootability, El Torito selection criteria, -eltorito-selcrit: Bootable.
(line 90)
* Bootability, fill System Area e.g. by MBR, -G, --embedded-boot, -generic-boot: SystemArea.
(line 25)
* Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 169)
* Bootability, for EFI, -efi-boot-part: SystemArea. (line 158)
* Bootability, for PReP, -prep-boot-part: SystemArea. (line 182)
(line 64)
* Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 212)
* Bootability, for EFI, -efi-boot-part: SystemArea. (line 201)
* Bootability, for PReP, -prep-boot-part: SystemArea. (line 225)
* Bootability, install ISOLINUX isohybrid MBR, -isohybrid-mbr: SystemArea.
(line 48)
(line 87)
* Bootability, install modern GRUB2 MBR, --grub2-mbr: SystemArea.
(line 41)
(line 80)
* Bootability, mark boot image in APM, -isohybrid-apm-hfsplus: SystemArea.
(line 77)
(line 116)
* Bootability, mark boot image in GPT, -isohybrid-gpt-basdat: SystemArea.
(line 60)
(line 99)
* Bootability, mark boot image in GPT, -isohybrid-gpt-hfsplus: SystemArea.
(line 72)
(line 111)
* Bootability, next entry, -eltorito-alt-boot: Bootable. (line 43)
* Bootability, no boot image emulation, -no-emul-boot: Bootable.
(line 74)
* Bootability, patch System Area partition table, --protective-msdos-label: SystemArea.
(line 86)
* Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 216)
(line 125)
* Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 259)
* Bugs, reporting: Bugreport. (line 6)
* Character Set, for disk file names, -input-charset: Charset.
(line 17)
@ -2143,7 +2186,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Forced output, control, --stdio_sync: SetProduct. (line 25)
* GPT, _definition: SystemArea. (line 13)
* GPT, mark appended partitions, -appended_part_as_gpt: SystemArea.
(line 151)
(line 194)
* HFS+, _definition: Standards. (line 32)
* HFS+, enables production: SetExtras. (line 130)
* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 188)
@ -2159,7 +2202,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Hiding, from ISO and Rock Ridge, -hide-list: SetHide. (line 16)
* Hiding, from Joliet, -hide-joliet: SetHide. (line 20)
* Hiding, from Joliet, -hide-joliet-list: SetHide. (line 25)
* Image size, alignment, -partition_cyl_align: SystemArea. (line 120)
* Image size, alignment, -partition_cyl_align: SystemArea. (line 161)
* Incremental insertion, disable disk ino, --old-root-no-ino: SetInsert.
(line 84)
* Incremental insertion, disable MD5, --old-root-no-md5: SetInsert.
@ -2167,6 +2210,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Incremental insertion, enable disk devno, --old-root-devno: SetInsert.
(line 97)
* Incremental insertion, enable, -old-root: SetInsert. (line 70)
* Interval reader for system area and partitions: SystemArea. (line 24)
* ISO 9660, _definition: Standards. (line 6)
* ISO 9660:1999, _definition: Standards. (line 26)
* ISO file names, 7-bit special characters, -relaxed-filenames: SetCompl.
@ -2212,14 +2256,14 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Links, follow on disk, -f, -follow-links: SetInsert. (line 24)
* Links, record and load hard links, --hardlinks: SetExtras. (line 92)
* MBR, _definition: SystemArea. (line 9)
* MBR, append partition, -append_partition: SystemArea. (line 132)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 103)
* MBR, GPT, append partition, -append_partition: SystemArea. (line 173)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 142)
* MD5, record and load, --md5: SetExtras. (line 84)
* Message output, increase frequency, -gui: Miscellaneous. (line 31)
* Message output, redirect stderr, -log-file: Miscellaneous. (line 35)
* Message output, suppress, -quiet: Miscellaneous. (line 27)
* Mountability, by non-trivial partition 1, -partition_offset: SystemArea.
(line 91)
(line 130)
* Options, list, -help: Miscellaneous. (line 23)
* Output file, set address, -o, -output: SetProduct. (line 8)
* Padding, 300 KiB, -pad: SetProduct. (line 97)
@ -2277,22 +2321,22 @@ Node: SetHide30591
Node: ImageId31899
Node: Bootable36067
Node: SystemArea41247
Node: Charset53438
Node: Jigdo54464
Node: Miscellaneous58731
Node: Examples60375
Node: ExSimple60861
Node: ExGraft61340
Node: ExMkisofs62587
Node: ExGrowisofs63840
Node: ExIncBackup65012
Node: ExIncBckAcc68130
Node: ExBootable69806
Node: Files71898
Node: Seealso72972
Node: Bugreport73628
Node: Legal74209
Node: CommandIdx75104
Node: ConceptIdx90529
Node: Charset55811
Node: Jigdo56837
Node: Miscellaneous61104
Node: Examples62748
Node: ExSimple63234
Node: ExGraft63713
Node: ExMkisofs64960
Node: ExGrowisofs66213
Node: ExIncBackup67385
Node: ExIncBckAcc70503
Node: ExBootable72179
Node: Files74271
Node: Seealso75345
Node: Bugreport76001
Node: Legal76582
Node: CommandIdx77477
Node: ConceptIdx92909

End Tag Table

View File

@ -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.3.9, Feb 28, 2015"
@c man .TH XORRISOFS 1 "Version 1.3.9, Apr 21, 2015"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -1394,6 +1394,64 @@ 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.
@c man .PP
@sp 1
@cindex Interval reader for system area and partitions
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, @minus{}@minus{}embedded-boot, @minus{}@minus{}grub2-mbr,
-isohybrid-mbr, -efi-boot-part, -prep-boot-part, -B, -sparc-boot,
-append_partition.
@*
The description string consists
of the following components, separated by colon ':'
@*
"@minus{}@minus{}interval:"Flags":"Interval":"Zeroizers":"Source
@*
The component "@minus{}@minus{}interval" states that this is not
a plain disk path but rather a 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::"
@*
@table @asis
@sp 1
@ -1498,22 +1556,25 @@ So the value defined here is only in effect if a new ISO image gets written.
@item -partition_hd_cyl number
@kindex -partition_hd_cyl MBR heads per cylinder
@cindex MBR, sectors per head, -partition_sec_hd
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.
@c man .TP
@item -partition_sec_hd number
@kindex -partition_sec_hd MBR sectors per head
@cindex MBR, sectors per head, -partition_sec_hd
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.
@*
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.
@c man .TP
@item -partition_cyl_align mode
@kindex -partition_cyl_align Image size alignment
@ -1521,7 +1582,8 @@ important anyway. Flat block addresses in partition tables are good for 1 TiB.
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.
@*
Mode "auto" is default. Alignment by padding happens only if
option -isohybrid-mbr is given.
@ -1534,8 +1596,8 @@ to an aligned size.
Mode "off" disables alignment unconditionally.
@c man .TP
@item -append_partition partition_number type_code disk_path
@kindex -append_partition Append MBR partition after image
@cindex MBR, append partition, -append_partition
@kindex -append_partition Append MBR or GPT partition after image
@cindex MBR, GPT, append partition, -append_partition
Cause a prepared filesystem image to be appended to the ISO image and to be
described by a partition table entry in a boot block at the start of the
emerging ISO image. The partition entry will bear the size of the submitted
@ -1547,15 +1609,17 @@ overwritten.
@*
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.
@*
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.
@*
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.
@c man .TP
@item -appended_part_as_gpt
@kindex -appended_part_as_gpt Appended partitions in GPT