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, int Xorriso_set_system_area(struct XorrisO *xorriso, struct burn_drive *drive,
IsoImage *img, struct isoburn_imgen_opts *sopts, IsoImage *img, struct isoburn_imgen_opts *sopts,
int flag) int flag)
{ {
int ret, options, system_area_options, iso_lba= -1, start_lba, image_blocks; 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]; char volid[33];
FILE *fp= NULL; FILE *fp= NULL;
char *buf= NULL, *bufpt= NULL; char *buf= NULL, *bufpt= NULL, *intvl;
off_t hd_lba; uint8_t *intvl_buf;
off_t hd_lba, byte_count;
unsigned char *ub; unsigned char *ub;
ElToritoBootImage *bootimg; ElToritoBootImage *bootimg;
IsoFile *bootimg_node; IsoFile *bootimg_node;
IsoNode *sparc_core_node; IsoNode *sparc_core_node;
uint32_t offst; uint32_t offst;
enum burn_disc_status state; enum burn_disc_status state;
struct iso_interval_reader *ivr = NULL;
if(xorriso->grub2_sparc_core[0]) { if(xorriso->grub2_sparc_core[0]) {
ret= Xorriso_node_from_path(xorriso, img, xorriso->grub2_sparc_core, ret= Xorriso_node_from_path(xorriso, img, xorriso->grub2_sparc_core,
@ -447,19 +494,48 @@ int Xorriso_set_system_area(struct XorrisO *xorriso, struct burn_drive *drive,
memset(buf, 0, 32768); memset(buf, 0, 32768);
{ret= 1; goto do_set;} {ret= 1; goto do_set;}
} }
ret= Xorriso_afile_fopen(xorriso, xorriso->system_area_disk_path,
"rb", &fp, 2); intvl= xorriso->system_area_disk_path;
if(ret <= 0) ret= Xorriso_check_intvl_string(xorriso, &intvl, 2);
if(ret < 0) {
{ret= 0; goto ex;} {ret= 0; goto ex;}
ret= fread(buf, 1, 32768, fp); } else if(ret > 0) {
if(ret < 32768) { ret= iso_interval_reader_new(img, intvl, &ivr, &byte_count, 0);
if(ferror(fp)) { Xorriso_process_msg_queues(xorriso, 0);
if(ret < 0) {
intvl_reader_err:;
sprintf(xorriso->info_text, sprintf(xorriso->info_text,
"Error when reading -boot_image system_area="); "Error when reading -boot_image system_area=");
Text_shellsafe(xorriso->system_area_disk_path, xorriso->info_text, 1); Text_shellsafe(xorriso->system_area_disk_path, xorriso->info_text, 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE", 0);
{ret= 0; goto ex;} {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)
{ret= 0; goto ex;}
ret= fread(buf, 1, 32768, fp);
if(ret < 32768) {
if(ferror(fp)) {
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;}
}
}
} }
do_set:; do_set:;
@ -502,6 +578,7 @@ do_set:;
ex:; ex:;
if(fp != NULL && fp != stdin) if(fp != NULL && fp != stdin)
fclose(fp); fclose(fp);
iso_interval_reader_destroy(&ivr, 0);
Xorriso_free_meM(buf); Xorriso_free_meM(buf);
return(ret); 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, int Xorriso_make_iso_write_opts(struct XorrisO *xorriso, IsoImage *image,
struct isoburn_imgen_opts *sopts, int flag) 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; char *out_cs, *part_image;
IsoNode *root_node; IsoNode *root_node;
uint32_t padding; 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_time,
xorriso->scdbackup_tag_written); xorriso->scdbackup_tag_written);
if(xorriso->prep_partition[0]) { 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) if(ret <= 0)
{ret= 0; goto ex;} {ret= 0; goto ex;}
} }
if(xorriso->efi_boot_partition[0]) { 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) if(ret <= 0)
{ret= 0; goto ex;} {ret= 0; goto ex;}
} }
@ -832,8 +917,12 @@ int Xorriso_make_iso_write_opts(struct XorrisO *xorriso, IsoImage *image,
part_image= ""; part_image= "";
else else
part_image= xorriso->appended_partitions[i]; 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, isoburn_igopt_set_partition_img(sopts, i + 1,
xorriso->appended_part_types[i], part_image); 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_appended_as_gpt(sopts, xorriso->appended_as_gpt);
isoburn_igopt_set_disc_label(sopts, xorriso->ascii_disc_label); 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 Xorriso_set_system_area_path(struct XorrisO *xorriso, char *path, int flag)
{ {
int ret; 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) { if(path[0] == 0) {
xorriso->system_area_disk_path[0]= 0; xorriso->system_area_disk_path[0]= 0;
{ret= 1; goto ex;} {ret= 1; goto ex;}
} }
Xorriso_alloc_meM(eff_src, char, SfileadrL); 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); ret= Xorriso_normalize_img_path(xorriso, xorriso->wdx, path, eff_src, 2|4|16);
if(ret < 0) if(ret < 0)
goto ex; goto ex;
@ -2860,6 +2981,8 @@ int Xorriso_set_system_area_path(struct XorrisO *xorriso, char *path, int flag)
ret= 1; ret= 1;
ex: ex:
Xorriso_free_meM(eff_src); Xorriso_free_meM(eff_src);
if(img != NULL)
iso_image_unref(img);
return(ret); return(ret);
} }

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" 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. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" Some roff macros, for reference:
@ -2925,6 +2925,60 @@ DEC Boot Block for old MIPS DECstation,
SUN Disk Label for SPARC machines, SUN Disk Label for SPARC machines,
HP\-PA boot sector for HP PA\-RISC machines, HP\-PA boot sector for HP PA\-RISC machines,
DEC Alpha SRM boot sector for old DEC Alpha 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 .br
.TP .TP
\fB\-boot_image\fR "any"|"isolinux"|"grub" \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 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. other feature that produces MBR partition entries. It makes GPT unrecognizable.
.br .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 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. and after this partition will be covered by further MBR partitions.
The data file is supposed to contain ELF executable code. The data file is supposed to contain ELF executable code.
.br .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 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. in MBR will have type 0xee to announce the presence of GPT.
The data file is supposed to contain a FAT filesystem. 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 .br
The product partition_sec_hd * partition_hd_cyl * 512 is the cylinder size. 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. 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 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, 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 .br
\fBpartition_cyl_align=\fRmode controls image size alignment to an integer \fBpartition_cyl_align=\fRmode controls image size alignment to an integer
number of cylinders. It is prescribed by isohybrid specs and it seems to number of cylinders. It is prescribed by isohybrid specs and it seems to
please program fdisk. Cylinder size must be divisible by 2048. 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 .br
Mode "auto" is default. Alignment by padding happens only with Mode "auto" is default. Alignment by padding happens only with
"isolinux" "partition_table=on". "isolinux" "partition_table=on".
@ -3240,7 +3300,7 @@ and version 4.
For the appropriate value see in PALO source code: PALOHDRVERSION. For the appropriate value see in PALO source code: PALOHDRVERSION.
.br .br
\fBalpha_boot=\fRiso_rr_path declares a data file in the image to be the \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. which points to it.
This is mutually exclusive with production of other boot blocks like MBR. This is mutually exclusive with production of other boot blocks like MBR.
.br .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 boot sector for HP PA-RISC machines, DEC Alpha SRM boot sector for old
DEC Alpha machines. 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" -boot_image "any"|"isolinux"|"grub"
"discard"|"keep"|"patch"|"show_status"|bootspec|"next" "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 the whole ISO image and has type 0x96. This is not compatible with
any other feature that produces MBR partition entries. It makes any other feature that produces MBR partition entries. It makes
GPT unrecognizable. GPT unrecognizable.
*prep_boot_part=* inserts the content of a data file into the *prep_boot_part=*disk_path inserts the content of a data file into
image and marks it by an MBR partition of type 0x41. The parts of the image and marks it by an MBR partition of type 0x41. The parts
the ISO image before and after this partition will be covered by of the ISO image before and after this partition will be covered
further MBR partitions. The data file is supposed to contain ELF by further MBR partitions. The data file is supposed to contain
executable code. ELF executable code.
*efi_boot_part=* inserts the content of a data file into the image *efi_boot_part=*disk_path inserts the content of a data file into
and marks it by a GPT partition. If not chrp_boot_part=on, then the image and marks it by a GPT partition. If not
the first partition in MBR will have type 0xee to announce the chrp_boot_part=on, then the first partition in MBR will have type
presence of GPT. The data file is supposed to contain a FAT 0xee to announce the presence of GPT. The data file is supposed
filesystem. to contain a FAT filesystem.
Instead of a disk_path, the word --efi-boot-image may be given. 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 It exposes in GPT the content of the first El Torito EFI boot
image as EFI system partition. EFI boot images are introduced by 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 partition table. 0 chooses a default value. Maximum is 63.
The product partition_sec_hd * partition_hd_cyl * 512 is the The product partition_sec_hd * partition_hd_cyl * 512 is the
cylinder size. It should be divisible by 2048 in order to allow 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 exact alignment. With appended partitions and
at most 1024 cylinders, then appropriate values of "appended_part_as=gpt" there is no limit for the number of
partition_hd_cyl are chosen with partition_sec_hd 32 or 63. If the cylinders. Else there may be at most 1024 of them. If the
image is larger than 8,422,686,720 bytes, then the cylinder size cylinder size is too small to stay below the limit, then
constraints cannot be fulfilled. 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 *partition_cyl_align=*mode controls image size alignment to an
integer number of cylinders. It is prescribed by isohybrid specs integer number of cylinders. It is prescribed by isohybrid specs
and it seems to please program fdisk. Cylinder size must be and it seems to please program fdisk. Cylinder size must be
divisible by 2048. Images larger than 8,323,596,288 bytes cannot 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 Mode "auto" is default. Alignment by padding happens only with
"isolinux" "partition_table=on". "isolinux" "partition_table=on".
Mode "on" causes alignment by padding with "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 (default) and version 4. For the appropriate value see in PALO
source code: PALOHDRVERSION. source code: PALOHDRVERSION.
*alpha_boot=*iso_rr_path declares a data file in the image to be *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 the DEC Alpha SRM Secondary Bootstrap Loader and causes production
boot sector which points to it. This is mutually exclusive with of a boot sector which points to it. This is mutually exclusive
production of other boot blocks like MBR. with production of other boot blocks like MBR.
*mips_discard*, *sparc_discard*, *hppa_discard*, *alpha_discard* *mips_discard*, *sparc_discard*, *hppa_discard*, *alpha_discard*
revoke any boot file declarations made for mips, mipsel, sparc, revoke any boot file declarations made for mips, mipsel, sparc,
hppa, resp. alpha. This removes the ban on production of other 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 sets timestamps in ISO image: Manip. (line 154)
* -alter_date_r sets timestamps in ISO image: Manip. (line 187) * -alter_date_r sets timestamps in ISO image: Manip. (line 187)
* -append_partition adds arbitrary file after image end: Bootable. * -append_partition adds arbitrary file after image end: Bootable.
(line 302) (line 343)
* -application_id sets application id: SetWrite. (line 196) * -application_id sets application id: SetWrite. (line 196)
* -application_use sets application use field: SetWrite. (line 262) * -application_use sets application use field: SetWrite. (line 262)
* -as emulates mkisofs or cdrecord: Emulation. (line 13) * -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) * -ban_stdio_write demands real drive: Loading. (line 278)
* -biblio_file sets biblio file name: SetWrite. (line 244) * -biblio_file sets biblio file name: SetWrite. (line 244)
* -blank erases media: Writing. (line 61) * -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) * -calm_drive reduces drive activity: Loading. (line 267)
* -cd sets working directory in ISO: Navigate. (line 7) * -cd sets working directory in ISO: Navigate. (line 7)
* -cdx sets working directory on disk: Navigate. (line 16) * -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, set in ISO image, -setfacl_r: Manip. (line 105)
* ACL, show in ISO image, -getfacl: Navigate. (line 70) * ACL, show in ISO image, -getfacl: Navigate. (line 70)
* ACL, show in ISO image, -getfacl_r: Navigate. (line 77) * 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) * APM, _definition: Extras. (line 41)
* Appendable media, _definition: Media. (line 38) * Appendable media, _definition: Media. (line 38)
* Appended Filesystem Image, -append_partition: Bootable. (line 302) * Appended Filesystem Image, -append_partition: Bootable. (line 343)
* Appended partition, in MBR or GPT: Bootable. (line 185) * Appended partition, in MBR or GPT: Bootable. (line 223)
* Automatic execution order, of arguments, -x: ArgSort. (line 16) * Automatic execution order, of arguments, -x: ArgSort. (line 16)
* Backslash Interpretation, _definition: Processing. (line 52) * Backslash Interpretation, _definition: Processing. (line 52)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 217) * 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) * Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 179)
* Blank media, _definition: Media. (line 29) * Blank media, _definition: Media. (line 29)
* Blind growing, _definition: Methods. (line 40) * 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) * Bugs, reporting: Bugreport. (line 6)
* cdrecord, Emulation: Emulation. (line 118) * cdrecord, Emulation: Emulation. (line 118)
* Character Set, _definition: Charset. (line 6) * 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, for output, -out_charset: SetWrite. (line 276)
* Character set, learn from image, -auto_charset: Loading. (line 122) * Character set, learn from image, -auto_charset: Loading. (line 122)
* Character Set, of terminal, -local_charset: Charset. (line 58) * 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) * Closed media, _definition: Media. (line 43)
* Comment, #: Scripting. (line 173) * Comment, #: Scripting. (line 173)
* Control, signal handling, -signal_handling: Exception. (line 69) * Control, signal handling, -signal_handling: Exception. (line 69)
* Create, new ISO image, _definition: Methods. (line 6) * Create, new ISO image, _definition: Methods. (line 6)
* Cylinder alignment, _definition: Bootable. (line 230) * Cylinder alignment, _definition: Bootable. (line 271)
* Cylinder size, _definition: Bootable. (line 219) * Cylinder size, _definition: Bootable. (line 257)
* Damaged track and session, close, -close_damaged: Writing. (line 170) * 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: Manip. (line 21)
* Delete, from ISO image, -rm_r: Manip. (line 28) * Delete, from ISO image, -rm_r: Manip. (line 28)
* Delete, ISO directory, -rmdir: Manip. (line 32) * 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) * Drive, write and eject, -commit_eject: Writing. (line 56)
* EA, _definition: Extras. (line 65) * EA, _definition: Extras. (line 65)
* ECMA-119, _definition: Model. (line 6) * 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) * El Torito, _definition: Extras. (line 19)
* Emulation, -as: Emulation. (line 13) * Emulation, -as: Emulation. (line 13)
* Emulation, .mkisofsrc, -read_mkisofsrc: Emulation. (line 153) * 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) * Group, in ISO image, -chgrp_r: Manip. (line 62)
* Growing, _definition: Methods. (line 19) * Growing, _definition: Methods. (line 19)
* Hard links, control handling, -hardlinks: Loading. (line 134) * Hard links, control handling, -hardlinks: Loading. (line 134)
* HFS+ allocation block size: Bootable. (line 290) * HFS+ allocation block size: Bootable. (line 331)
* HFS+ serial number: Bootable. (line 287) * HFS+ serial number: Bootable. (line 328)
* hidden, set in ISO image, -hide: Manip. (line 191) * 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 reading, cache size, -data_cache_size: Loading. (line 296)
* Image, _definition: Model. (line 9) * Image, _definition: Model. (line 9)
* Image, demand volume ID, -assert_volid: Loading. (line 108) * 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, paths, -cpr: Insert. (line 157)
* Insert, pathspecs, -add: Insert. (line 47) * Insert, pathspecs, -add: Insert. (line 47)
* Insert, piece of data file, -cut_out: Insert. (line 131) * 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 9660, _definition: Model. (line 6)
* iso_rr_path, _definition: Insert. (line 7) * iso_rr_path, _definition: Insert. (line 7)
* Jigdo Template Extraction, -jigdo: Jigdo. (line 33) * 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) * List delimiter, _definition: Processing. (line 9)
* Local Character Set, _definition: Charset. (line 11) * Local Character Set, _definition: Charset. (line 11)
* MBR, _definition: Extras. (line 26) * 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) * MD5, control handling, -md5: Loading. (line 183)
* Media, erase, -blank: Writing. (line 61) * Media, erase, -blank: Writing. (line 61)
* Media, format, -format: Writing. (line 91) * Media, format, -format: Writing. (line 91)
* Media, list formats, -list_formats: Writing. (line 134) * Media, list formats, -list_formats: Writing. (line 134)
* Media, list write speeds, -list_speeds: Writing. (line 146) * 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) * mkisofs, Emulation: Emulation. (line 16)
* Modifying, _definition: Methods. (line 27) * Modifying, _definition: Methods. (line 27)
* Multi-session media, _definition: Media. (line 7) * 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, global in ISO image, -uid: SetWrite. (line 282)
* Ownership, in ISO image, -chown: Manip. (line 49) * Ownership, in ISO image, -chown: Manip. (line 49)
* Ownership, in ISO image, -chown_r: Manip. (line 54) * Ownership, in ISO image, -chown_r: Manip. (line 54)
* Partition offset, _definition: Bootable. (line 209) * Partition offset, _definition: Bootable. (line 247)
* Partition table, _definition: Bootable. (line 166) * Partition table, _definition: Bootable. (line 204)
* Pathspec, _definition: SetInsert. (line 124) * Pathspec, _definition: SetInsert. (line 124)
* Pattern expansion, _definition: Processing. (line 24) * Pattern expansion, _definition: Processing. (line 24)
* Pattern expansion, for disk paths, -disk_pattern: Insert. (line 36) * Pattern expansion, for disk paths, -disk_pattern: Insert. (line 36)
* Pattern expansion, for ISO paths, -iso_rr_pattern: Manip. (line 10) * Pattern expansion, for ISO paths, -iso_rr_pattern: Manip. (line 10)
* Permissions, in ISO image, -chmod: Manip. (line 65) * Permissions, in ISO image, -chmod: Manip. (line 65)
* Permissions, in ISO image, -chmod_r: Manip. (line 77) * 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) * Problems, reporting: Bugreport. (line 6)
* Process, consolidate text output, -pkt_output: Frontend. (line 7) * Process, consolidate text output, -pkt_output: Frontend. (line 7)
* Process, control abort on error, -abort_on: Exception. (line 27) * 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, mount parameters, -mount_opts: Inquiry. (line 68)
* Session, select as input, -load: Loading. (line 35) * Session, select as input, -load: Loading. (line 35)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27) * Sorting order, for -x, -list_arg_sorting: ArgSort. (line 27)
* SUN Disk Label, production: Bootable. (line 252) * SUN Disk Label, production: Bootable. (line 293)
* SUN SPARC boot images, activation: Bootable. (line 325) * SUN SPARC boot images, activation: Bootable. (line 366)
* Symbolic link, create, -lns: Insert. (line 176) * 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, search sessions, -rom_toc_scan: Loading. (line 238)
* Table-of-content, show, -toc: Inquiry. (line 28) * Table-of-content, show, -toc: Inquiry. (line 28)
* Timestamps, set in ISO image, -alter_date: Manip. (line 154) * 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, file tree checksums, -check_md5_r: Verify. (line 182)
* Verify, preset -check_media, -check_media_defaults: Verify. (line 41) * Verify, preset -check_media, -check_media_defaults: Verify. (line 41)
* Write, block size, -dvd_obs: SetWrite. (line 333) * 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, buffer syncing, -stdio_sync: SetWrite. (line 340)
* Write, close media, -close: SetWrite. (line 359) * Write, close media, -close: SetWrite. (line 359)
* Write, compliance to specs, -compliance: SetWrite. (line 58) * Write, compliance to specs, -compliance: SetWrite. (line 58)
@ -5611,39 +5653,39 @@ Node: Filter94447
Node: Writing99069 Node: Writing99069
Node: SetWrite109200 Node: SetWrite109200
Node: Bootable129906 Node: Bootable129906
Node: Jigdo149506 Node: Jigdo151756
Node: Charset153753 Node: Charset156003
Node: Exception157068 Node: Exception159318
Node: DialogCtl163188 Node: DialogCtl165438
Node: Inquiry165786 Node: Inquiry168036
Node: Navigate174124 Node: Navigate176374
Node: Verify182422 Node: Verify184672
Node: Restore192249 Node: Restore194499
Node: Emulation200853 Node: Emulation203103
Node: Scripting211241 Node: Scripting213491
Node: Frontend219012 Node: Frontend221262
Node: Examples228619 Node: Examples230869
Node: ExDevices229797 Node: ExDevices232047
Node: ExCreate230463 Node: ExCreate232713
Node: ExDialog231748 Node: ExDialog233998
Node: ExGrowing233013 Node: ExGrowing235263
Node: ExModifying233818 Node: ExModifying236068
Node: ExBootable234322 Node: ExBootable236572
Node: ExCharset234874 Node: ExCharset237124
Node: ExPseudo235766 Node: ExPseudo238016
Node: ExCdrecord236664 Node: ExCdrecord238914
Node: ExMkisofs236981 Node: ExMkisofs239231
Node: ExGrowisofs238321 Node: ExGrowisofs240571
Node: ExException239456 Node: ExException241706
Node: ExTime239910 Node: ExTime242160
Node: ExIncBackup240369 Node: ExIncBackup242619
Node: ExRestore244359 Node: ExRestore246609
Node: ExRecovery245292 Node: ExRecovery247542
Node: Files245862 Node: Files248112
Node: Seealso247161 Node: Seealso249411
Node: Bugreport247884 Node: Bugreport250134
Node: Legal248465 Node: Legal250715
Node: CommandIdx249476 Node: CommandIdx251726
Node: ConceptIdx266357 Node: ConceptIdx268607
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @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 .\" 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 .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @c man .\" Some roff macros, for reference:
@ -3438,6 +3438,63 @@ DEC Boot Block for old MIPS DECstation,
SUN Disk Label for SPARC machines, SUN Disk Label for SPARC machines,
HP-PA boot sector for HP PA-RISC machines, HP-PA boot sector for HP PA-RISC machines,
DEC Alpha SRM boot sector for old DEC Alpha 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 @table @asis
@sp 1 @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. other feature that produces MBR partition entries. It makes GPT unrecognizable.
@* @*
@cindex PReP partition, _definition @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 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. and after this partition will be covered by further MBR partitions.
The data file is supposed to contain ELF executable code. The data file is supposed to contain ELF executable code.
@* @*
@cindex EFI system partition, _definition @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 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. in MBR will have type 0xee to announce the presence of GPT.
The data file is supposed to contain a FAT filesystem. 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. 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. 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 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, 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 @cindex Cylinder alignment, _definition
@strong{partition_cyl_align=}mode controls image size alignment to an integer @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 number of cylinders. It is prescribed by isohybrid specs and it seems to
please program fdisk. Cylinder size must be divisible by 2048. 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 Mode "auto" is default. Alignment by padding happens only with
"isolinux" "partition_table=on". "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 @cindex DEC Alpha SRM boot sector, production
@strong{alpha_boot=}iso_rr_path declares a data file in the image to be the @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. which points to it.
This is mutually exclusive with production of other boot blocks like MBR. 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 .\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1) .\" 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. .\" Please adjust this date whenever revising the manpage.
.\" .\"
.\" Some roff macros, for reference: .\" 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. 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, Those are mutually not combinable and also not combinable with MBR, GPT,
or APM. 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 .br
.TP .TP
\fB\-G\fR disk_path \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. So the value defined here is only in effect if a new ISO image gets written.
.TP .TP
\fB\-partition_hd_cyl\fR number \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. 0 chooses a default value. Maximum is 255.
.TP .TP
\fB\-partition_sec_hd\fR number \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. 0 chooses a default value. Maximum is 63.
.br .br
The product partition_sec_hd * partition_hd_cyl * 512 is the cylinder size. 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. 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 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, 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 then the cylinder size constraints cannot be fulfilled for MBR.
important anyway. Flat block addresses in partition tables are good for 1 TiB. They seem not overly important anyway.
Flat block addresses in partition tables are good for 1 TiB.
.TP .TP
\fB\-partition_cyl_align\fR mode \fB\-partition_cyl_align\fR mode
Control image size alignment to an integer number of cylinders. Control image size alignment to an integer number of cylinders.
It is prescribed by isohybrid specs and it seems to please program fdisk. It is prescribed by isohybrid specs and it seems to please program fdisk.
Cylinder size must be divisible by 2048. 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 .br
Mode "auto" is default. Alignment by padding happens only if Mode "auto" is default. Alignment by padding happens only if
option \-isohybrid\-mbr is given. option \-isohybrid\-mbr is given.
@ -1147,15 +1207,17 @@ overwritten.
.br .br
partition_number may be 1 to 4. Number 1 will put the whole ISO image into 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 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 .br
The type_code may be "FAT12", "FAT16", "Linux", The type_code may be "FAT12", "FAT16", "Linux",
or a hexadecimal number between 0x00 and 0xff. Not all those numbers will 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 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.
.br .br
If some other command causes the production of GPT, then the appended 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 .TP
\fB\-appended_part_as_gpt\fR \fB\-appended_part_as_gpt\fR
Marks partitions from \-append_partition in GPT rather than in MBR. 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 MIPS Little Endian (DEC), SUN SPARC, HP-PA, DEC Alpha. Those are
mutually not combinable and also not combinable with MBR, GPT, or APM. 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 -G disk_path
Copy at most 32768 bytes from the given disk file to the very Copy at most 32768 bytes from the given disk file to the very
start of the ISO image. 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. effect if a new ISO image gets written.
-partition_hd_cyl number -partition_hd_cyl number
Set the number of heads per cylinder for the partition table. 0 Set the number of heads per cylinder for the MBR partition table.
chooses a default value. Maximum is 255. 0 chooses a default value. Maximum is 255.
-partition_sec_hd number -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. chooses a default value. Maximum is 63.
The product partition_sec_hd * partition_hd_cyl * 512 is the The product partition_sec_hd * partition_hd_cyl * 512 is the
cylinder size. It should be divisible by 2048 in order to allow 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 exact alignment. With appended partitions and
at most 1024 cylinders, then appropriate values of -appended_part_as_gpt there is no limit for the number of
partition_hd_cyl are chosen with partition_sec_hd 32 or 63. If the cylinders. Else there may be at most 1024 of them. If the
image is larger than 8,422,686,720 bytes, then the cylinder size cylinder size is too small to stay below the limit, then
constraints cannot be fulfilled. They seem not overly important appropriate values of partition_hd_cyl are chosen with
anyway. Flat block addresses in partition tables are good for 1 partition_sec_hd 32 or 63. If the image is larger than
TiB. 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 -partition_cyl_align mode
Control image size alignment to an integer number of cylinders. Control image size alignment to an integer number of cylinders.
It is prescribed by isohybrid specs and it seems to please program It is prescribed by isohybrid specs and it seems to please program
fdisk. Cylinder size must be divisible by 2048. Images larger 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 Mode "auto" is default. Alignment by padding happens only if
option -isohybrid-mbr is given. option -isohybrid-mbr is given.
Mode "on" causes alignment by padding with option 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. will get overwritten.
partition_number may be 1 to 4. Number 1 will put the whole ISO partition_number may be 1 to 4. Number 1 will put the whole ISO
image into the unclaimed space before partition 1. So together image into the unclaimed space before partition 1. So together
with most xorriso MBR features, number 2 would be the most natural with most xorriso MBR or GPT features, number 2 would be the most
choice. natural choice.
The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal The type_code may be "FAT12", "FAT16", "Linux", or a hexadecimal
number between 0x00 and 0xff. Not all those numbers will yield number between 0x00 and 0xff. Not all those numbers will yield
usable results. For a list of codes search the Internet for 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 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 -appended_part_as_gpt
Marks partitions from -append_partition in GPT rather than in MBR. 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. * --boot-catalog-hide Hide El Torito boot catalog: Bootable.
(line 116) (line 116)
* --efi-boot El Torito EFI boot image: Bootable. (line 58) * --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) * --emul-toc enable table-of-content emulation: SetProduct. (line 37)
* --for_backup Enable backup fidelity: SetExtras. (line 67) * --for_backup Enable backup fidelity: SetExtras. (line 67)
* --grub2-boot-info Patch El Torito boot image: Bootable. (line 101) * --grub2-boot-info Patch El Torito boot image: Bootable. (line 101)
* --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 41) * --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 80)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 219) * --grub2-sparc-core SUN SPARC core file: SystemArea. (line 262)
* --hardlinks Recording of hardlink relations: SetExtras. (line 92) * --hardlinks Recording of hardlink relations: SetExtras. (line 92)
* --md5 Recording of MD5 checksums: SetExtras. (line 84) * --md5 Recording of MD5 checksums: SetExtras. (line 84)
* --modification-date set ISO image timestamps: ImageId. (line 82) * --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) (line 84)
* --old-root-no-md5 disable MD5 with -old-root: SetInsert. (line 105) * --old-root-no-md5 disable MD5 with -old-root: SetInsert. (line 105)
* --protective-msdos-label Patch System Area partition table: SystemArea. * --protective-msdos-label Patch System Area partition table: SystemArea.
(line 86) (line 125)
* --quoted_path_list read pathspecs from disk file: SetInsert. * --quoted_path_list read pathspecs from disk file: SetInsert.
(line 13) (line 13)
* --scdbackup_tag Recording of MD5 checksum: SetExtras. (line 101) * --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) * -A set Application Id: ImageId. (line 38)
* -abstract set Abstract File path: ImageId. (line 66) * -abstract set Abstract File path: ImageId. (line 66)
* -allow-lowercase lowercase in ISO file names: SetCompl. (line 46) * -allow-lowercase lowercase in ISO file names: SetCompl. (line 46)
* -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 249) * -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 292)
* -append_partition Append MBR partition after image: SystemArea. * -append_partition Append MBR or GPT partition after image: SystemArea.
(line 132) (line 173)
* -appended_part_as_gpt Appended partitions in GPT: SystemArea. * -appended_part_as_gpt Appended partitions in GPT: SystemArea.
(line 151) (line 194)
* -appid set Application Id: ImageId. (line 46) * -appid set Application Id: ImageId. (line 46)
* -b El Torito PC-BIOS boot image: Bootable. (line 32) * -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) * -biblio set Biblio File path: ImageId. (line 72)
* -boot-info-table Patch El Torito boot image: Bootable. (line 95) * -boot-info-table Patch El Torito boot image: Bootable. (line 95)
* -boot-load-size El Torito boot image load size: Bootable. (line 63) * -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_iso choose .jigdo checksums: Jigdo. (line 80)
* -checksum_algorithm_template choose .template checksums: Jigdo. * -checksum_algorithm_template choose .template checksums: Jigdo.
(line 87) (line 87)
* -chrp-boot CHRP partition: SystemArea. (line 179) * -chrp-boot CHRP partition: SystemArea. (line 222)
* -chrp-boot-part CHRP partition: SystemArea. (line 169) * -chrp-boot-part CHRP partition: SystemArea. (line 212)
* -copyright set Copyright File path: ImageId. (line 77) * -copyright set Copyright File path: ImageId. (line 77)
* -D allow deep directory hierachies: SetExtras. (line 31) * -D allow deep directory hierachies: SetExtras. (line 31)
* -d omit trailing dot in ISO file names: SetCompl. (line 56) * -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. * -disallow_dir_id_ext enforce ISO level 1 directory names: SetCompl.
(line 24) (line 24)
* -e El Torito EFI boot image: Bootable. (line 50) * -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. * -eltorito-alt-boot begin next boot catalog entry: Bootable.
(line 43) (line 43)
* -eltorito-boot El Torito PC-BIOS boot image: Bootable. (line 40) * -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) * -follow-links follow symbolic links on disk: SetInsert. (line 28)
* -full-iso9660-filenames allow 31 characters in ISO file names: SetCompl. * -full-iso9660-filenames allow 31 characters in ISO file names: SetCompl.
(line 66) (line 66)
* -G Fill System Area e.g. by MBR: SystemArea. (line 25) * -G Fill System Area e.g. by MBR: SystemArea. (line 64)
* -generic-boot Fill System Area e.g. by MBR: SystemArea. (line 35) * -generic-boot Fill System Area e.g. by MBR: SystemArea. (line 74)
* -graft-points enable target=source pathspecs: SetInsert. (line 31) * -graft-points enable target=source pathspecs: SetInsert. (line 31)
* -gui increase frequency of pacifier messages: Miscellaneous. * -gui increase frequency of pacifier messages: Miscellaneous.
(line 31) (line 31)
@ -1951,22 +1994,22 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 16) (line 16)
* -hide-rr-moved set deep directory relocation target: SetExtras. * -hide-rr-moved set deep directory relocation target: SetExtras.
(line 64) (line 64)
* -hppa-bootloader HP-PA bootloader file: SystemArea. (line 233) * -hppa-bootloader HP-PA bootloader file: SystemArea. (line 276)
* -hppa-cmdline HP-PA PALO command line: SystemArea. (line 226) * -hppa-cmdline HP-PA PALO command line: SystemArea. (line 269)
* -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 245) * -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 288)
* -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 236) * -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 279)
* -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 239) * -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 282)
* -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 242) * -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 285)
* -input-charset set character set of disk file names: Charset. * -input-charset set character set of disk file names: Charset.
(line 17) (line 17)
* -iso-level define ISO 9660 limitations: SetCompl. (line 7) * -iso-level define ISO 9660 limitations: SetCompl. (line 7)
* -isohybrid-apm-hfsplus Mark boot image in APM: SystemArea. * -isohybrid-apm-hfsplus Mark boot image in APM: SystemArea.
(line 77) (line 116)
* -isohybrid-gpt-basdat Mark boot image in GPT: SystemArea. (line 60) * -isohybrid-gpt-basdat Mark boot image in GPT: SystemArea. (line 99)
* -isohybrid-gpt-hfsplus Mark boot image in GPT: SystemArea. * -isohybrid-gpt-hfsplus Mark boot image in GPT: SystemArea.
(line 72) (line 111)
* -isohybrid-mbr Install ISOLINUX isohybrid MBR: SystemArea. * -isohybrid-mbr Install ISOLINUX isohybrid MBR: SystemArea.
(line 48) (line 87)
* -J enable production of Joliet directory tree: SetExtras. (line 110) * -J enable production of Joliet directory tree: SetExtras. (line 110)
* -jigdo-exclude add exclusion pattern for .md5: Jigdo. (line 59) * -jigdo-exclude add exclusion pattern for .md5: Jigdo. (line 59)
* -jigdo-force-md5 add check pattern for .md5: Jigdo. (line 52) * -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. * -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl.
(line 69) (line 69)
* -md5-list set path of readable .md5: Jigdo. (line 73) * -md5-list set path of readable .md5: Jigdo. (line 73)
* -mips-boot MIPS Big Endian boot image: SystemArea. (line 188) * -mips-boot MIPS Big Endian boot image: SystemArea. (line 231)
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 195) * -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 238)
* -N omit version number in ISO file names: SetCompl. (line 73) * -N omit version number in ISO file names: SetCompl. (line 73)
* -no-emul-boot El Torito boot image emulation: Bootable. (line 74) * -no-emul-boot El Torito boot image emulation: Bootable. (line 74)
* -no-pad do not add zeros to ISO tree: SetProduct. (line 104) * -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 Preparer Id: ImageId. (line 54)
* -P set Publisher Id: ImageId. (line 30) * -P set Publisher Id: ImageId. (line 30)
* -pad add 300 KiB of zeros to ISO tree: SetProduct. (line 97) * -pad add 300 KiB of zeros to ISO tree: SetProduct. (line 97)
* -partition_cyl_align Image size alignment: SystemArea. (line 120) * -partition_cyl_align Image size alignment: SystemArea. (line 161)
* -partition_hd_cyl MBR heads per cylinder: SystemArea. (line 103) * -partition_hd_cyl MBR heads per cylinder: SystemArea. (line 142)
* -partition_offset Make mountable by partition 1: SystemArea. * -partition_offset Make mountable by partition 1: SystemArea.
(line 91) (line 130)
* -partition_sec_hd MBR sectors per head: SystemArea. (line 107) * -partition_sec_hd MBR sectors per head: SystemArea. (line 146)
* -path-list read pathspecs from disk file: SetInsert. (line 8) * -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) * -preparer set Preparer Id: ImageId. (line 63)
* -prev-session set path for loading existing ISO image: Loading. * -prev-session set path for loading existing ISO image: Loading.
(line 22) (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) * -root redirect ISO root directory: SetInsert. (line 64)
* -rr_reloc_dir set deep directory relocation target: SetExtras. * -rr_reloc_dir set deep directory relocation target: SetExtras.
(line 47) (line 47)
* -sparc-boot SUN SPARC boot images: SystemArea. (line 213) * -sparc-boot SUN SPARC boot images: SystemArea. (line 256)
* -sparc-label SUN Disk Label text: SystemArea. (line 216) * -sparc-label SUN Disk Label text: SystemArea. (line 259)
* -sysid set System Id: ImageId. (line 49) * -sysid set System Id: ImageId. (line 49)
* -transparent-compression enable recognition of zisofs files: SetInsert. * -transparent-compression enable recognition of zisofs files: SetInsert.
(line 61) (line 61)
@ -2081,45 +2124,45 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 101) (line 101)
* Bootability, boot image patching, -boot-info-table: Bootable. * Bootability, boot image patching, -boot-info-table: Bootable.
(line 95) (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, --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, -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, -e: Bootable. (line 50)
* Bootability, control, -hppa-bootloader: SystemArea. (line 233) * Bootability, control, -hppa-bootloader: SystemArea. (line 276)
* Bootability, control, -hppa-cmdline: SystemArea. (line 226) * Bootability, control, -hppa-cmdline: SystemArea. (line 269)
* Bootability, control, -hppa-hdrversion: SystemArea. (line 245) * Bootability, control, -hppa-hdrversion: SystemArea. (line 288)
* Bootability, control, -hppa-kernel_32: SystemArea. (line 236) * Bootability, control, -hppa-kernel_32: SystemArea. (line 279)
* Bootability, control, -hppa-kernel_64: SystemArea. (line 239) * Bootability, control, -hppa-kernel_64: SystemArea. (line 282)
* Bootability, control, -hppa-ramdisk: SystemArea. (line 242) * Bootability, control, -hppa-ramdisk: SystemArea. (line 285)
* Bootability, control, -mips-boot: SystemArea. (line 188) * Bootability, control, -mips-boot: SystemArea. (line 231)
* Bootability, control, -mipsel-boot: SystemArea. (line 195) * Bootability, control, -mipsel-boot: SystemArea. (line 238)
* Bootability, El Torito section id string, -eltorito-id: Bootable. * Bootability, El Torito section id string, -eltorito-id: Bootable.
(line 82) (line 82)
* Bootability, El Torito selection criteria, -eltorito-selcrit: Bootable. * Bootability, El Torito selection criteria, -eltorito-selcrit: Bootable.
(line 90) (line 90)
* Bootability, fill System Area e.g. by MBR, -G, --embedded-boot, -generic-boot: SystemArea. * Bootability, fill System Area e.g. by MBR, -G, --embedded-boot, -generic-boot: SystemArea.
(line 25) (line 64)
* Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 169) * Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 212)
* Bootability, for EFI, -efi-boot-part: SystemArea. (line 158) * Bootability, for EFI, -efi-boot-part: SystemArea. (line 201)
* Bootability, for PReP, -prep-boot-part: SystemArea. (line 182) * Bootability, for PReP, -prep-boot-part: SystemArea. (line 225)
* Bootability, install ISOLINUX isohybrid MBR, -isohybrid-mbr: SystemArea. * Bootability, install ISOLINUX isohybrid MBR, -isohybrid-mbr: SystemArea.
(line 48) (line 87)
* Bootability, install modern GRUB2 MBR, --grub2-mbr: SystemArea. * Bootability, install modern GRUB2 MBR, --grub2-mbr: SystemArea.
(line 41) (line 80)
* Bootability, mark boot image in APM, -isohybrid-apm-hfsplus: SystemArea. * Bootability, mark boot image in APM, -isohybrid-apm-hfsplus: SystemArea.
(line 77) (line 116)
* Bootability, mark boot image in GPT, -isohybrid-gpt-basdat: SystemArea. * Bootability, mark boot image in GPT, -isohybrid-gpt-basdat: SystemArea.
(line 60) (line 99)
* Bootability, mark boot image in GPT, -isohybrid-gpt-hfsplus: SystemArea. * Bootability, mark boot image in GPT, -isohybrid-gpt-hfsplus: SystemArea.
(line 72) (line 111)
* Bootability, next entry, -eltorito-alt-boot: Bootable. (line 43) * Bootability, next entry, -eltorito-alt-boot: Bootable. (line 43)
* Bootability, no boot image emulation, -no-emul-boot: Bootable. * Bootability, no boot image emulation, -no-emul-boot: Bootable.
(line 74) (line 74)
* Bootability, patch System Area partition table, --protective-msdos-label: SystemArea. * Bootability, patch System Area partition table, --protective-msdos-label: SystemArea.
(line 86) (line 125)
* Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 216) * Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 259)
* Bugs, reporting: Bugreport. (line 6) * Bugs, reporting: Bugreport. (line 6)
* Character Set, for disk file names, -input-charset: Charset. * Character Set, for disk file names, -input-charset: Charset.
(line 17) (line 17)
@ -2143,7 +2186,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Forced output, control, --stdio_sync: SetProduct. (line 25) * Forced output, control, --stdio_sync: SetProduct. (line 25)
* GPT, _definition: SystemArea. (line 13) * GPT, _definition: SystemArea. (line 13)
* GPT, mark appended partitions, -appended_part_as_gpt: SystemArea. * GPT, mark appended partitions, -appended_part_as_gpt: SystemArea.
(line 151) (line 194)
* HFS+, _definition: Standards. (line 32) * HFS+, _definition: Standards. (line 32)
* HFS+, enables production: SetExtras. (line 130) * HFS+, enables production: SetExtras. (line 130)
* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 188) * 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 ISO and Rock Ridge, -hide-list: SetHide. (line 16)
* Hiding, from Joliet, -hide-joliet: SetHide. (line 20) * Hiding, from Joliet, -hide-joliet: SetHide. (line 20)
* Hiding, from Joliet, -hide-joliet-list: SetHide. (line 25) * 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. * Incremental insertion, disable disk ino, --old-root-no-ino: SetInsert.
(line 84) (line 84)
* Incremental insertion, disable MD5, --old-root-no-md5: SetInsert. * 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. * Incremental insertion, enable disk devno, --old-root-devno: SetInsert.
(line 97) (line 97)
* Incremental insertion, enable, -old-root: SetInsert. (line 70) * 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, _definition: Standards. (line 6)
* ISO 9660:1999, _definition: Standards. (line 26) * ISO 9660:1999, _definition: Standards. (line 26)
* ISO file names, 7-bit special characters, -relaxed-filenames: SetCompl. * 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, follow on disk, -f, -follow-links: SetInsert. (line 24)
* Links, record and load hard links, --hardlinks: SetExtras. (line 92) * Links, record and load hard links, --hardlinks: SetExtras. (line 92)
* MBR, _definition: SystemArea. (line 9) * MBR, _definition: SystemArea. (line 9)
* MBR, append partition, -append_partition: SystemArea. (line 132) * MBR, GPT, append partition, -append_partition: SystemArea. (line 173)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 103) * MBR, sectors per head, -partition_sec_hd: SystemArea. (line 142)
* MD5, record and load, --md5: SetExtras. (line 84) * MD5, record and load, --md5: SetExtras. (line 84)
* Message output, increase frequency, -gui: Miscellaneous. (line 31) * Message output, increase frequency, -gui: Miscellaneous. (line 31)
* Message output, redirect stderr, -log-file: Miscellaneous. (line 35) * Message output, redirect stderr, -log-file: Miscellaneous. (line 35)
* Message output, suppress, -quiet: Miscellaneous. (line 27) * Message output, suppress, -quiet: Miscellaneous. (line 27)
* Mountability, by non-trivial partition 1, -partition_offset: SystemArea. * Mountability, by non-trivial partition 1, -partition_offset: SystemArea.
(line 91) (line 130)
* Options, list, -help: Miscellaneous. (line 23) * Options, list, -help: Miscellaneous. (line 23)
* Output file, set address, -o, -output: SetProduct. (line 8) * Output file, set address, -o, -output: SetProduct. (line 8)
* Padding, 300 KiB, -pad: SetProduct. (line 97) * Padding, 300 KiB, -pad: SetProduct. (line 97)
@ -2277,22 +2321,22 @@ Node: SetHide30591
Node: ImageId31899 Node: ImageId31899
Node: Bootable36067 Node: Bootable36067
Node: SystemArea41247 Node: SystemArea41247
Node: Charset53438 Node: Charset55811
Node: Jigdo54464 Node: Jigdo56837
Node: Miscellaneous58731 Node: Miscellaneous61104
Node: Examples60375 Node: Examples62748
Node: ExSimple60861 Node: ExSimple63234
Node: ExGraft61340 Node: ExGraft63713
Node: ExMkisofs62587 Node: ExMkisofs64960
Node: ExGrowisofs63840 Node: ExGrowisofs66213
Node: ExIncBackup65012 Node: ExIncBackup67385
Node: ExIncBckAcc68130 Node: ExIncBckAcc70503
Node: ExBootable69806 Node: ExBootable72179
Node: Files71898 Node: Files74271
Node: Seealso72972 Node: Seealso75345
Node: Bugreport73628 Node: Bugreport76001
Node: Legal74209 Node: Legal76582
Node: CommandIdx75104 Node: CommandIdx77477
Node: ConceptIdx90529 Node: ConceptIdx92909
 
End Tag Table End Tag Table

View File

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps @c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection @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 .\" 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 .\" Please adjust this date whenever revising the manpage.
@c man .\" @c man .\"
@c man .\" Some roff macros, for reference: @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. 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, Those are mutually not combinable and also not combinable with MBR, GPT,
or APM. 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 @table @asis
@sp 1 @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 @item -partition_hd_cyl number
@kindex -partition_hd_cyl MBR heads per cylinder @kindex -partition_hd_cyl MBR heads per cylinder
@cindex MBR, sectors per head, -partition_sec_hd @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. 0 chooses a default value. Maximum is 255.
@c man .TP @c man .TP
@item -partition_sec_hd number @item -partition_sec_hd number
@kindex -partition_sec_hd MBR sectors per head @kindex -partition_sec_hd MBR sectors per head
@cindex MBR, sectors per head, -partition_sec_hd @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. 0 chooses a default value. Maximum is 63.
@* @*
The product partition_sec_hd * partition_hd_cyl * 512 is the cylinder size. 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. 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 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, 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 then the cylinder size constraints cannot be fulfilled for MBR.
important anyway. Flat block addresses in partition tables are good for 1 TiB. They seem not overly important anyway.
Flat block addresses in partition tables are good for 1 TiB.
@c man .TP @c man .TP
@item -partition_cyl_align mode @item -partition_cyl_align mode
@kindex -partition_cyl_align Image size alignment @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. Control image size alignment to an integer number of cylinders.
It is prescribed by isohybrid specs and it seems to please program fdisk. It is prescribed by isohybrid specs and it seems to please program fdisk.
Cylinder size must be divisible by 2048. 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 Mode "auto" is default. Alignment by padding happens only if
option -isohybrid-mbr is given. option -isohybrid-mbr is given.
@ -1534,8 +1596,8 @@ to an aligned size.
Mode "off" disables alignment unconditionally. Mode "off" disables alignment unconditionally.
@c man .TP @c man .TP
@item -append_partition partition_number type_code disk_path @item -append_partition partition_number type_code disk_path
@kindex -append_partition Append MBR partition after image @kindex -append_partition Append MBR or GPT partition after image
@cindex MBR, append partition, -append_partition @cindex MBR, GPT, append partition, -append_partition
Cause a prepared filesystem image to be appended to the ISO image and to be 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 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 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 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 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", The type_code may be "FAT12", "FAT16", "Linux",
or a hexadecimal number between 0x00 and 0xff. Not all those numbers will 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 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 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 @c man .TP
@item -appended_part_as_gpt @item -appended_part_as_gpt
@kindex -appended_part_as_gpt Appended partitions in GPT @kindex -appended_part_as_gpt Appended partitions in GPT