Browse Source

New -boot_image setting mbr_force_bootable=, -as mkisofs --mbr-force-bootable

master
Thomas Schmitt 7 years ago
parent
commit
67c13115b0
  1. 8
      xorriso/emulators.c
  2. 71
      xorriso/iso_img.c
  3. 13
      xorriso/opts_a_c.c
  4. 2
      xorriso/opts_d_h.c
  5. 6
      xorriso/text_io.c
  6. 11
      xorriso/xorriso.1
  7. 97
      xorriso/xorriso.info
  8. 12
      xorriso/xorriso.texi
  9. 5
      xorriso/xorriso_private.h
  10. 2
      xorriso/xorriso_timestamp.h
  11. 11
      xorriso/xorrisofs.1
  12. 134
      xorriso/xorrisofs.info
  13. 13
      xorriso/xorrisofs.texi

8
xorriso/emulators.c

@ -612,7 +612,7 @@ int Xorriso_genisofs_count_args(struct XorrisO *xorriso, int argc, char **argv,
"--no_rc", "--norock", "-hfsplus", "-fat", "-chrp-boot-part",
"-isohybrid-gpt-basdat", "-isohybrid-gpt-hfsplus",
"-isohybrid-apm-hfsplus", "--grub2-boot-info", "-joliet-utf16",
"-appended_part_as_gpt",
"-appended_part_as_gpt", "--mbr-force-bootable",
""
};
static char arg1_options[][41]= {
@ -863,6 +863,7 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -G FILE, -generic-boot FILE Set generic boot image name",
" --embedded-boot FILE Alias of -G",
" --protective-msdos-label Patch System Area by partition table",
" --mbr-force-bootable Enforce existence of bootable flag in MBR",
" -partition_offset LBA Make image mountable by first partition, too",
" -partition_sec_hd NUMBER Define number of sectors per head",
" -partition_hd_cyl NUMBER Define number of heads per cylinder",
@ -1859,6 +1860,7 @@ not_enough_args:;
strncmp(argpt, "isolinux_mbr=", 13)==0 ||
strcmp(argpt, "-eltorito-alt-boot")==0 ||
strcmp(argpt, "--protective-msdos-label")==0 ||
strcmp(argpt, "--mbr-force-bootable")==0 ||
strcmp(argpt, "--boot-catalog-hide")==0 ||
strcmp(argpt, "-isohybrid-gpt-basdat")==0 ||
strcmp(argpt, "-isohybrid-gpt-hfsplus")==0 ||
@ -2468,6 +2470,10 @@ problem_handler_2:;
(xorriso->system_area_options & ~2) | 0x4000;
} else if(strcmp(argpt, "--protective-msdos-label")==0) {
xorriso->system_area_options= (xorriso->system_area_options & ~2) | 1;
} else if(strcmp(argpt, "--mbr-force-bootable") == 0) {
xorriso->system_area_options= xorriso->system_area_options | (1 << 15);
} else if(strcmp(argpt, "--boot-catalog-hide")==0) {
xorriso->boot_image_cat_hidden|= 3;
} else if(strcmp(argpt, "-partition_offset") == 0 ||

71
xorriso/iso_img.c

@ -1,7 +1,7 @@
/* xorriso - creates, loads, manipulates and burns ISO 9660 filesystem images.
Copyright 2007-2015 Thomas Schmitt, <scdbackup@gmx.net>
Copyright 2007-2016 Thomas Schmitt, <scdbackup@gmx.net>
Provided under GPL version 2 or later.
@ -1573,6 +1573,7 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
int appended_as_gpt= 0, have_prep= 0, did_sysarea= 0, cared_for_apm= 0;
int cared_for_sparc= 0, have_hfsplus= 0;
int have_sysarea= 0, ptable_killer, imported_iso, have_alpha_ldr_path= 0;
int have_protective_msdos= 0;
unsigned long int sa_options= 0, partno, id_tag, perms, start_cyl, num_blocks;
unsigned long int part_status, part_type, start_block;
char name[24], *textpt, *contentpt, *buf= NULL;
@ -1581,14 +1582,18 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
char *cat_path= "";
struct elto_img_par *et_imgs= NULL;
int elto_count= 0;
uint32_t img_blocks= 0;
uint32_t img_blocks= 0, mbr_parts_end= 0;
struct FindjoB *job= NULL;
struct stat dir_stbuf;
IsoImage *image;
char *volid, *crt, *mdt, *ext, *eft, uuid[17];
char **app_pseudo_paths= NULL;
struct mbr_par {
uint8_t ptype;
uint64_t start_block;
uint64_t block_count;
int appended;
};
struct mbr_par *mbrpts= NULL;
int mbr_count= 0;
@ -1672,6 +1677,13 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
et_imgs[et_idx].path= NULL;
et_imgs[et_idx].ldsiz= -1;
}
Xorriso_alloc_meM(app_pseudo_paths, char *, elto_count);
for(i= 0; i < elto_count; i++)
app_pseudo_paths[i]= NULL;
for(i= 0; i < elto_count; i++) {
Xorriso_alloc_meM(app_pseudo_paths[i], char, 80);
app_pseudo_paths[i][0]= 0;
}
}
if(mbr_count > 0)
Xorriso_alloc_meM(mbrpts, struct mbr_par, mbr_count);
@ -1785,11 +1797,19 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
idx= num[0] - 1;
et_imgs[idx].sel_crit= textpt;
} else if(strcmp(name, "System area summary:") == 0) {
if(strstr(textpt, "protective-msdos-label") != NULL)
have_protective_msdos= 1;
} else if(strcmp(name, "MBR partition :") == 0) {
sscanf(contentpt, "%lu 0x%lx 0x%lx %lu %lu",
&partno, &part_status, &part_type, &start_block, &num_blocks);
idx= partno - 1;
mbrpts[idx].ptype= part_type;
mbrpts[idx].start_block= start_block;
mbrpts[idx].block_count= num_blocks;
if(num_blocks > 0 && start_block + num_blocks > mbr_parts_end)
mbr_parts_end= start_block + num_blocks;
} else if(strcmp(name, "GPT type GUID :") == 0) {
idx= num[0] - 1;
@ -1921,12 +1941,17 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
} else if(strcmp(name, "MBR partition :") == 0) {
sscanf(contentpt, "%lu 0x%lx 0x%lx %lu %lu",
&partno, &part_status, &part_type, &start_block, &num_blocks);
if(img_blocks <= start_block && num_blocks > 0) {
if(num_blocks > 0 && part_type != 0x00 && part_type != 0xee &&
(img_blocks <= start_block ||
(have_protective_msdos && img_blocks == mbr_parts_end &&
partno > 1))) {
if(!appended_as_gpt) {
sprintf(buf, "-append_partition %lu 0x%lx ", partno, part_type);
Xorriso_add_intvl_adr(xorriso, buf, (uint64_t) start_block,
((uint64_t) start_block) + num_blocks - 1, "d",
imported_iso);
if(partno >= 1 && (int) partno <= mbr_count)
mbrpts[partno - 1].appended= 1;
}
} else if(part_type == 0x41 && have_prep) {
if(mkisofs) {
@ -1937,8 +1962,13 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
Xorriso_add_intvl_adr(xorriso, buf, (uint64_t) start_block,
((uint64_t) start_block) + num_blocks - 1, "d",
imported_iso);
} else if((part_status & 0x80) && part_type == 0x00 &&
start_block == 0 && num_blocks == 1) {
if(mkisofs)
sprintf(buf, "--mbr-force-bootable");
else
sprintf(buf, "-boot_image any mbr_force_bootable=on");
}
} else if(strcmp(name, "MBR partition path :") == 0) {
idx= num[0] - 1;
if(mbrpts[idx].ptype == 0x41) {
@ -2303,14 +2333,31 @@ static int Xorriso_scan_report_lines(struct XorrisO *xorriso,
/* >>> need way to eploit El Torito img blks : */;
if(!(flag & 1)) {
sprintf(xorriso->info_text,
/* Check whether appended partition */;
for(i= 0; i < mbr_count; i++)
if(mbrpts[i].appended &&
mbrpts[i].start_block == ((uint64_t) et_imgs[idx].lba) * 4 &&
(mbrpts[i].block_count == (uint64_t) et_imgs[idx].ldsiz ||
et_imgs[idx].ldsiz == 0 || et_imgs[idx].ldsiz == 1))
break;
if (i < mbr_count) {
sprintf(app_pseudo_paths[idx],
"--interval:appended_partition_%d_start_%lud_size_%lud:all::",
i + 1,
(unsigned long) mbrpts[i].start_block,
(unsigned long) mbrpts[i].block_count);
et_imgs[idx].path= app_pseudo_paths[idx];
} else {
if(!(flag & 1)) {
sprintf(xorriso->info_text,
"Cannot enable EL Torito boot image #%d because it is not a data file in the ISO filesystem",
idx + 1);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
}
buf[0]= 0;
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
}
buf[0]= 0;
continue;
}
}
Text_shellsafe(et_imgs[idx].path, buf, 1);
Xorriso_record_cmd_linE
@ -2411,6 +2458,12 @@ ex:
Xorriso_free_meM(apms);
Xorriso_free_meM(gpts);
Xorriso_free_meM(mbrpts);
if(app_pseudo_paths != NULL) {
for(i= 0; i < elto_count; i++)
if(app_pseudo_paths[i] != NULL)
Xorriso_free_meM(app_pseudo_paths[i]);
Xorriso_free_meM(app_pseudo_paths);
}
Xorriso_free_meM(et_imgs);
Xorriso_free_meM(lines);
Xorriso_free_meM(buf);

13
xorriso/opts_a_c.c

@ -1260,6 +1260,19 @@ treatment_patch:;
else
xorriso->system_area_options|= 0x4000;
} else if(strncmp(treatpt, "mbr_force_bootable=", 19) == 0) {
if(strcmp(treatpt + 19, "off") == 0) {
xorriso->system_area_options&= ~(1 << 15);
} else if(strcmp(treatpt + 19, "on") == 0) {
xorriso->system_area_options|= (1 << 15);
} else {
sprintf(xorriso->info_text,
"-boot_image %s mbr_force_bootable=: unknown mode : %s",
formpt, treatpt + 19);
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "SORRY", 0);
{ret= 0; goto ex;}
}
} else
was_ok= 0;

2
xorriso/opts_d_h.c

@ -1823,7 +1823,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
" |\"load_size=\"|\"boot_info_table=\"",
" |\"grub2_boot_info=\"|\"grub2_mbr=\"|\"partition_offset=\"",
" |\"partition_hd_cyl=\"|\"partition_sec_hd=\"",
" |\"partition_cyl_align=\"",
" |\"partition_cyl_align=\"|\"mbr_force_bootable=\"",
" |\"system_area=\"|\"partition_table=on|off\"",
" |\"partition_entry=\"|\"appended_part_as=\"",
" |\"chrp_boot_part=on|off=\"|\"prep_boot_part=\"",

6
xorriso/text_io.c

@ -3036,6 +3036,12 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
Xorriso_status_result(xorriso,filter,fp,flag&2);
}
is_default= ((xorriso->system_area_options & (1 << 15)) == 0);
sprintf(line, "-boot_image any mbr_force_bootable=%s\n",
(xorriso->system_area_options & (1 << 15)) ? "on" : "off");
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
ret= ((xorriso->system_area_options & 0x3cfc) == 0x400);
is_default= (ret == 0);
sprintf(line, "-boot_image any chrp_boot_part=%s\n",

11
xorriso/xorriso.1

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Version 1.4.3, Dec 08, 2015"
.TH XORRISO 1 "Version 1.4.3, Dec 30, 2015"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -3403,6 +3403,15 @@ to an aligned size.
.br
Mode "off" disables alignment for any type.
.br
\fBmbr_force_bootable=\fRmode enforces an MBR partition with
"bootable/active" flag if options like partition_table= or grub2_mbr=
indicate production of a bootable MBR.
These options normally cause the flag to be set if there is an
MBR partition of type other than 0xee or 0xef.
If no such partition exists, then no bootflag is set, unless
mbr_force_bootable= forces creation of a dummy partition
of type 0x00 which covers only the first block of the ISO image.
.br
\fBmips_path=\fRiso_rr_path declares a data file in the image to be a
MIPS Big Endian boot file and causes production of a MIPS Big Endian Volume
Header. This is mutually exclusive with production of other boot blocks

97
xorriso/xorriso.info

@ -2862,6 +2862,14 @@ Examples:
any type. Mode "all" is like "on" but also pads up partitions from
-append_partition to an aligned size.
Mode "off" disables alignment for any type.
*mbr_force_bootable=*mode enforces an MBR partition with
"bootable/active" flag if options like partition_table= or
grub2_mbr= indicate production of a bootable MBR. These options
normally cause the flag to be set if there is an MBR partition of
type other than 0xee or 0xef. If no such partition exists, then no
bootflag is set, unless mbr_force_bootable= forces creation of a
dummy partition of type 0x00 which covers only the first block of
the ISO image.
*mips_path=*iso_rr_path declares a data file in the image to be a
MIPS Big Endian boot file and causes production of a MIPS Big
Endian Volume Header. This is mutually exclusive with production
@ -5048,7 +5056,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -alter_date sets timestamps in ISO image: Manip. (line 136)
* -alter_date_r sets timestamps in ISO image: Manip. (line 168)
* -append_partition adds arbitrary file after image end: Bootable.
(line 354)
(line 362)
* -application_id sets application id: SetWrite. (line 191)
* -application_use sets application use field: SetWrite. (line 250)
* -as emulates mkisofs or cdrecord: Emulation. (line 13)
@ -5288,10 +5296,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* ACL, show in ISO image, -getfacl: Navigate. (line 60)
* ACL, show in ISO image, -getfacl_r: Navigate. (line 66)
* ACL, _definition: Extras. (line 50)
* APM block size: Bootable. (line 345)
* APM block size: Bootable. (line 353)
* APM, _definition: Extras. (line 42)
* Appendable media, _definition: Media. (line 38)
* Appended Filesystem Image, -append_partition: Bootable. (line 354)
* Appended Filesystem Image, -append_partition: Bootable. (line 362)
* Appended partition, in MBR or GPT: Bootable. (line 233)
* Automatic execution order, of arguments, -x: ArgSort. (line 16)
* Backslash Interpretation, _definition: Processing. (line 53)
@ -5317,7 +5325,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Cylinder alignment, _definition: Bootable. (line 282)
* Cylinder size, _definition: Bootable. (line 267)
* Damaged track and session, close, -close_damaged: Writing. (line 164)
* DEC Alpha SRM boot sector, production: Bootable. (line 331)
* DEC Alpha SRM boot sector, production: Bootable. (line 339)
* Delete, from ISO image, -rm: Manip. (line 20)
* Delete, from ISO image, -rm_r: Manip. (line 26)
* Delete, ISO directory, -rmdir: Manip. (line 29)
@ -5377,10 +5385,10 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Group, in ISO image, -chgrp_r: Manip. (line 53)
* Growing, _definition: Methods. (line 20)
* Hard links, control handling, -hardlinks: Loading. (line 134)
* HFS+ allocation block size: Bootable. (line 342)
* HFS+ serial number: Bootable. (line 339)
* HFS+ allocation block size: Bootable. (line 350)
* HFS+ serial number: Bootable. (line 347)
* hidden, set in ISO image, -hide: Manip. (line 171)
* HP-PA boot sector, production: Bootable. (line 314)
* HP-PA boot sector, production: Bootable. (line 322)
* Image reading, cache size, -data_cache_size: Loading. (line 332)
* Image, demand volume ID, -assert_volid: Loading. (line 111)
* Image, discard pending changes, -rollback: Writing. (line 9)
@ -5433,6 +5441,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* LBA, _definition: Drives. (line 17)
* List delimiter, _definition: Processing. (line 9)
* Local Character Set, _definition: Charset. (line 11)
* MBR bootable/active flag, enforce: Bootable. (line 293)
* MBR, set, -boot_image system_area=: Bootable. (line 184)
* MBR, _definition: Extras. (line 27)
* MD5, control handling, -md5: Loading. (line 182)
@ -5440,7 +5449,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Media, format, -format: Writing. (line 87)
* Media, list formats, -list_formats: Writing. (line 129)
* Media, list write speeds, -list_speeds: Writing. (line 140)
* MIPS boot file, activation: Bootable. (line 293)
* MIPS boot file, activation: Bootable. (line 301)
* mkisofs, Emulation: Emulation. (line 17)
* Modifying, _definition: Methods. (line 28)
* Multi-session media, _definition: Media. (line 7)
@ -5535,8 +5544,8 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Session, select as input, -load: Loading. (line 33)
* Session, _definition: Model. (line 6)
* Sorting order, for -x, -list_arg_sorting: ArgSort. (line 26)
* SUN Disk Label, production: Bootable. (line 304)
* SUN SPARC boot images, activation: Bootable. (line 377)
* SUN Disk Label, production: Bootable. (line 312)
* SUN SPARC boot images, activation: Bootable. (line 385)
* Symbolic link, create, -lns: Insert. (line 166)
* System area, _definition: Bootable. (line 184)
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 278)
@ -5605,39 +5614,39 @@ Node: Filter99272
Node: Writing103894
Node: SetWrite114049
Node: Bootable136994
Node: Jigdo159522
Node: Charset163781
Node: Exception167108
Node: DialogCtl173237
Node: Inquiry175839
Node: Navigate184289
Node: Verify192584
Node: Restore202461
Node: Emulation211074
Node: Scripting221484
Node: Frontend229266
Node: Examples238901
Node: ExDevices240079
Node: ExCreate240740
Node: ExDialog242040
Node: ExGrowing243311
Node: ExModifying244120
Node: ExBootable244630
Node: ExCharset245185
Node: ExPseudo246081
Node: ExCdrecord247008
Node: ExMkisofs247328
Node: ExGrowisofs248685
Node: ExException249839
Node: ExTime250297
Node: ExIncBackup250755
Node: ExRestore254781
Node: ExRecovery255727
Node: Files256299
Node: Seealso257633
Node: Bugreport258348
Node: Legal258939
Node: CommandIdx259951
Node: ConceptIdx276993
Node: Jigdo160022
Node: Charset164281
Node: Exception167608
Node: DialogCtl173737
Node: Inquiry176339
Node: Navigate184789
Node: Verify193084
Node: Restore202961
Node: Emulation211574
Node: Scripting221984
Node: Frontend229766
Node: Examples239401
Node: ExDevices240579
Node: ExCreate241240
Node: ExDialog242540
Node: ExGrowing243811
Node: ExModifying244620
Node: ExBootable245130
Node: ExCharset245685
Node: ExPseudo246581
Node: ExCdrecord247508
Node: ExMkisofs247828
Node: ExGrowisofs249185
Node: ExException250339
Node: ExTime250797
Node: ExIncBackup251255
Node: ExRestore255281
Node: ExRecovery256227
Node: Files256799
Node: Seealso258133
Node: Bugreport258848
Node: Legal259439
Node: CommandIdx260451
Node: ConceptIdx277493

End Tag Table

12
xorriso/xorriso.texi

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISO 1 "Version 1.4.3, Dec 08, 2015"
@c man .TH XORRISO 1 "Version 1.4.3, Dec 30, 2015"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -3946,6 +3946,16 @@ to an aligned size.
@*
Mode "off" disables alignment for any type.
@*
@cindex MBR bootable/active flag, enforce
@strong{mbr_force_bootable=}mode enforces an MBR partition with
"bootable/active" flag if options like partition_table= or grub2_mbr=
indicate production of a bootable MBR.
These options normally cause the flag to be set if there is an
MBR partition of type other than 0xee or 0xef.
If no such partition exists, then no bootflag is set, unless
mbr_force_bootable= forces creation of a dummy partition
of type 0x00 which covers only the first block of the ISO image.
@*
@cindex MIPS boot file, activation
@strong{mips_path=}iso_rr_path declares a data file in the image to be a
MIPS Big Endian boot file and causes production of a MIPS Big Endian Volume

5
xorriso/xorriso_private.h

@ -451,6 +451,11 @@ struct XorrisO { /* the global context of xorriso */
Little-endian 8-byte.
Should be combined with
options bit0.
bit15= Only with MBR:
Enforce MBR "bootable/active"
flag. In worst case by dummy
partition of type 0x00 which
occupies block 0.
*/
int patch_system_area; /* Bits as of system_area_options.
to be applied to the loaded system

2
xorriso/xorriso_timestamp.h

@ -1 +1 @@
#define Xorriso_timestamP "2016.01.01.172059"
#define Xorriso_timestamP "2016.01.01.172817"

11
xorriso/xorrisofs.1

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISOFS 1 "Version 1.4.3, Nov 29, 2015"
.TH XORRISOFS 1 "Version 1.4.3, Dec 30, 2015"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -1157,6 +1157,15 @@ overwritten by 32 bytes of APM header mock\-up.
Patch the System Area by a simple PC\-DOS partition table where partition 1
claims the range of the ISO image but leaves the first block unclaimed.
.TP
\fB--mbr-force-bootable\fR
Enforce an MBR partition with "bootable/active" flag if options like
\-\-protective\-msdos\-label or \-\-grub2\-mbr are given.
These options normally cause the flag to be set if there is an
MBR partition of type other than 0xee or 0xef.
If no such partition exists, then no bootflag is set, unless
\-\-mbr\-force\-bootable forces creation of a dummy partition
of type 0x00 which covers only the first block of the ISO image.
.TP
\fB\-partition_offset\fR 2kb_block_adr
Cause a partition table with a single partition that begins at the
given block address. This is counted in 2048 byte

134
xorriso/xorrisofs.info

@ -1019,6 +1019,14 @@ Examples:
Patch the System Area by a simple PC-DOS partition table where
partition 1 claims the range of the ISO image but leaves the first
block unclaimed.
--mbr-force-bootable
Enforce an MBR partition with "bootable/active" flag if options
like --protective-msdos-label or --grub2-mbr are given. These
options normally cause the flag to be set if there is an MBR
partition of type other than 0xee or 0xef. If no such partition
exists, then no bootflag is set, unless --mbr-force-bootable forces
creation of a dummy partition of type 0x00 which covers only the
first block of the ISO image.
-partition_offset 2kb_block_adr
Cause a partition table with a single partition that begins at the
given block address. This is counted in 2048 byte blocks, not in
@ -1806,8 +1814,10 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* --for_backup Enable backup fidelity: SetExtras. (line 73)
* --grub2-boot-info Patch El Torito boot image: Bootable. (line 89)
* --grub2-mbr Install modern GRUB2 MBR: SystemArea. (line 77)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 237)
* --grub2-sparc-core SUN SPARC core file: SystemArea. (line 245)
* --hardlinks Recording of hardlink relations: SetExtras. (line 97)
* --mbr-force-bootable Enforce MBR bootable/active flag: SystemArea.
(line 120)
* --md5 Recording of MD5 checksums: SetExtras. (line 89)
* --modification-date set ISO image timestamps: ImageId. (line 70)
* --no-emul-toc no table-of-content emulation: SetProduct. (line 41)
@ -1836,14 +1846,14 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -A set Application Id: ImageId. (line 34)
* -abstract set Abstract File path: ImageId. (line 57)
* -allow-lowercase lowercase in ISO file names: SetCompl. (line 42)
* -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 260)
* -alpha-boot DEC Alpha SRM bootloader: SystemArea. (line 268)
* -appended_part_as_gpt Appended partitions in GPT: SystemArea.
(line 179)
(line 187)
* -append_partition Append MBR or GPT partition after image: SystemArea.
(line 159)
(line 167)
* -appid set Application Id: ImageId. (line 41)
* -b El Torito PC-BIOS boot image: Bootable. (line 32)
* -B SUN SPARC boot images: SystemArea. (line 222)
* -B SUN SPARC boot images: SystemArea. (line 230)
* -biblio set Biblio File path: ImageId. (line 62)
* -boot-info-table Patch El Torito boot image: Bootable. (line 84)
* -boot-load-size El Torito boot image load size: Bootable. (line 57)
@ -1854,8 +1864,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -checksum_algorithm_iso choose .jigdo checksums: Jigdo. (line 72)
* -checksum_algorithm_template choose .template checksums: Jigdo.
(line 78)
* -chrp-boot CHRP partition: SystemArea. (line 204)
* -chrp-boot-part CHRP partition: SystemArea. (line 195)
* -chrp-boot CHRP partition: SystemArea. (line 212)
* -chrp-boot-part CHRP partition: SystemArea. (line 203)
* -copyright set Copyright File path: ImageId. (line 66)
* -D allow deep directory hierachies: SetExtras. (line 41)
* -d omit trailing dot in ISO file names: SetCompl. (line 50)
@ -1866,7 +1876,7 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -disallow_dir_id_ext enforce ISO level 1 directory names: SetCompl.
(line 23)
* -e El Torito EFI boot image: Bootable. (line 47)
* -efi-boot-part EFI boot partition: SystemArea. (line 185)
* -efi-boot-part EFI boot partition: SystemArea. (line 193)
* -eltorito-alt-boot begin next boot catalog entry: Bootable. (line 41)
* -eltorito-boot El Torito PC-BIOS boot image: Bootable. (line 39)
* -eltorito-catalog El Torito boot catalog name: Bootable. (line 99)
@ -1910,12 +1920,12 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
(line 15)
* -hide-rr-moved set deep directory relocation target: SetExtras.
(line 71)
* -hppa-bootloader HP-PA bootloader file: SystemArea. (line 249)
* -hppa-cmdline HP-PA PALO command line: SystemArea. (line 243)
* -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 257)
* -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 251)
* -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 253)
* -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 255)
* -hppa-bootloader HP-PA bootloader file: SystemArea. (line 257)
* -hppa-cmdline HP-PA PALO command line: SystemArea. (line 251)
* -hppa-hdrversion HP-PA PALO header version: SystemArea. (line 265)
* -hppa-kernel_32 HP-PA kernel_32 file: SystemArea. (line 259)
* -hppa-kernel_64 HP-PA kernel_64 file: SystemArea. (line 261)
* -hppa-ramdisk HP-PA ramdisk file: SystemArea. (line 263)
* -input-charset set character set of disk file names: Charset.
(line 17)
* -iso-level define ISO 9660 limitations: SetCompl. (line 7)
@ -1944,8 +1954,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -max-iso9660-filenames allow 37 characters in ISO file names: SetCompl.
(line 61)
* -md5-list set path of readable .md5: Jigdo. (line 67)
* -mips-boot MIPS Big Endian boot image: SystemArea. (line 211)
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 217)
* -mips-boot MIPS Big Endian boot image: SystemArea. (line 219)
* -mipsel-boot MIPS Little Endian boot image: SystemArea. (line 225)
* -N omit version number in ISO file names: SetCompl. (line 64)
* -no-emul-boot El Torito boot image emulation: Bootable. (line 66)
* -no-pad do not add zeros to ISO tree: SetProduct. (line 93)
@ -1961,13 +1971,13 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -p set Preparer Id: ImageId. (line 47)
* -P set Publisher Id: ImageId. (line 28)
* -pad add 300 KiB of zeros to ISO tree: SetProduct. (line 86)
* -partition_cyl_align Image size alignment: SystemArea. (line 148)
* -partition_hd_cyl MBR heads per cylinder: SystemArea. (line 131)
* -partition_cyl_align Image size alignment: SystemArea. (line 156)
* -partition_hd_cyl MBR heads per cylinder: SystemArea. (line 139)
* -partition_offset Make mountable by partition 1: SystemArea.
(line 120)
* -partition_sec_hd MBR sectors per head: SystemArea. (line 134)
(line 128)
* -partition_sec_hd MBR sectors per head: SystemArea. (line 142)
* -path-list read pathspecs from disk file: SetInsert. (line 8)
* -prep-boot-part PReP partition: SystemArea. (line 206)
* -prep-boot-part PReP partition: SystemArea. (line 214)
* -preparer set Preparer Id: ImageId. (line 55)
* -prev-session set path for loading existing ISO image: Loading.
(line 21)
@ -1984,8 +1994,8 @@ File: xorrisofs.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: T
* -root redirect ISO root directory: SetInsert. (line 55)
* -rr_reloc_dir set deep directory relocation target: SetExtras.
(line 55)
* -sparc-boot SUN SPARC boot images: SystemArea. (line 233)
* -sparc-label SUN Disk Label text: SystemArea. (line 235)
* -sparc-boot SUN SPARC boot images: SystemArea. (line 241)
* -sparc-label SUN Disk Label text: SystemArea. (line 243)
* -sysid set System Id: ImageId. (line 43)
* -transparent-compression enable recognition of zisofs files: SetInsert.
(line 53)
@ -2035,29 +2045,31 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 89)
* Bootability, boot image patching, -boot-info-table: Bootable.
(line 84)
* Bootability, control, --grub2-sparc-core: SystemArea. (line 237)
* Bootability, bootable MBR partition, --mbr-force-bootable: SystemArea.
(line 120)
* Bootability, control, --grub2-sparc-core: SystemArea. (line 245)
* Bootability, control, --efi-boot: Bootable. (line 53)
* Bootability, control, -alpha-boot: SystemArea. (line 260)
* Bootability, control, -alpha-boot: SystemArea. (line 268)
* Bootability, control, -b, -eltorito-boot: Bootable. (line 32)
* Bootability, control, -B, -sparc-boot: SystemArea. (line 222)
* Bootability, control, -B, -sparc-boot: SystemArea. (line 230)
* Bootability, control, -e: Bootable. (line 47)
* Bootability, control, -hppa-bootloader: SystemArea. (line 249)
* Bootability, control, -hppa-cmdline: SystemArea. (line 243)
* Bootability, control, -hppa-hdrversion: SystemArea. (line 257)
* Bootability, control, -hppa-kernel_32: SystemArea. (line 251)
* Bootability, control, -hppa-kernel_64: SystemArea. (line 253)
* Bootability, control, -hppa-ramdisk: SystemArea. (line 255)
* Bootability, control, -mips-boot: SystemArea. (line 211)
* Bootability, control, -mipsel-boot: SystemArea. (line 217)
* Bootability, control, -hppa-bootloader: SystemArea. (line 257)
* Bootability, control, -hppa-cmdline: SystemArea. (line 251)
* Bootability, control, -hppa-hdrversion: SystemArea. (line 265)
* Bootability, control, -hppa-kernel_32: SystemArea. (line 259)
* Bootability, control, -hppa-kernel_64: SystemArea. (line 261)
* Bootability, control, -hppa-ramdisk: SystemArea. (line 263)
* Bootability, control, -mips-boot: SystemArea. (line 219)
* Bootability, control, -mipsel-boot: SystemArea. (line 225)
* Bootability, El Torito section id string, -eltorito-id: Bootable.
(line 73)
* Bootability, El Torito selection criteria, -eltorito-selcrit: Bootable.
(line 80)
* Bootability, fill System Area e.g. by MBR, -G, --embedded-boot, -generic-boot: SystemArea.
(line 64)
* Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 195)
* Bootability, for EFI, -efi-boot-part: SystemArea. (line 185)
* Bootability, for PReP, -prep-boot-part: SystemArea. (line 206)
* Bootability, for CHRP, -chrp-boot-part: SystemArea. (line 203)
* Bootability, for EFI, -efi-boot-part: SystemArea. (line 193)
* Bootability, for PReP, -prep-boot-part: SystemArea. (line 214)
* Bootability, install ISOLINUX isohybrid MBR, -isohybrid-mbr: SystemArea.
(line 83)
* Bootability, install modern GRUB2 MBR, --grub2-mbr: SystemArea.
@ -2073,7 +2085,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
(line 66)
* Bootability, patch System Area partition table, --protective-msdos-label: SystemArea.
(line 116)
* Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 235)
* Bootability, SUN Disk Label text, -sparc-label: SystemArea. (line 243)
* Bugs, reporting: Bugreport. (line 6)
* Character Set, for disk file names, -input-charset: Charset.
(line 17)
@ -2097,7 +2109,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* File names, curb length, -file_name_limit: SetExtras. (line 30)
* Forced output, control, --stdio_sync: SetProduct. (line 23)
* GPT, mark appended partitions, -appended_part_as_gpt: SystemArea.
(line 179)
(line 187)
* GPT, _definition: SystemArea. (line 13)
* HFS+, enables production: SetExtras. (line 130)
* HFS+, issue blessing ppc_bootdir, -hfs-bless: SetExtras. (line 181)
@ -2114,7 +2126,7 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Hiding, from ISO and Rock Ridge, -hide-list: SetHide. (line 15)
* Hiding, from Joliet, -hide-joliet: SetHide. (line 18)
* Hiding, from Joliet, -hide-joliet-list: SetHide. (line 22)
* Image size, alignment, -partition_cyl_align: SystemArea. (line 148)
* Image size, alignment, -partition_cyl_align: SystemArea. (line 156)
* Incremental insertion, disable disk ino, --old-root-no-ino: SetInsert.
(line 73)
* Incremental insertion, disable MD5, --old-root-no-md5: SetInsert.
@ -2168,16 +2180,16 @@ File: xorrisofs.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Joliet, _definition: Standards. (line 21)
* Links, follow on disk, -f, -follow-links: SetInsert. (line 22)
* Links, record and load hard links, --hardlinks: SetExtras. (line 97)
* MBR, GPT, append partition, -append_partition: SystemArea. (line 159)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 131)
* MBR, sectors per head, -partition_sec_hd <1>: SystemArea. (line 134)
* MBR, GPT, append partition, -append_partition: SystemArea. (line 167)
* MBR, sectors per head, -partition_sec_hd: SystemArea. (line 139)
* MBR, sectors per head, -partition_sec_hd <1>: SystemArea. (line 142)
* MBR, _definition: SystemArea. (line 9)
* MD5, record and load, --md5: SetExtras. (line 89)
* Message output, increase frequency, -gui: Miscellaneous. (line 29)
* Message output, redirect stderr, -log-file: Miscellaneous. (line 33)
* Message output, suppress, -quiet: Miscellaneous. (line 25)
* Mountability, by non-trivial partition 1, -partition_offset: SystemArea.
(line 120)
(line 128)
* Options, list, -help: Miscellaneous. (line 21)
* Output file, set address, -o, -output: SetProduct. (line 8)
* Padding, 300 KiB, -pad: SetProduct. (line 86)
@ -2235,22 +2247,22 @@ Node: SetHide31292
Node: ImageId32596
Node: Bootable36767
Node: SystemArea41935
Node: Charset56515
Node: Jigdo57540
Node: Miscellaneous61817
Node: Examples63462
Node: ExSimple63956
Node: ExGraft64439
Node: ExMkisofs65739
Node: ExGrowisofs67005
Node: ExIncBackup68195
Node: ExIncBckAcc71356
Node: ExBootable73045
Node: Files77227
Node: Seealso78322
Node: Bugreport78971
Node: Legal79562
Node: CommandIdx80459
Node: ConceptIdx95327
Node: Charset56987
Node: Jigdo58012
Node: Miscellaneous62289
Node: Examples63934
Node: ExSimple64428
Node: ExGraft64911
Node: ExMkisofs66211
Node: ExGrowisofs67477
Node: ExIncBackup68667
Node: ExIncBckAcc71828
Node: ExBootable73517
Node: Files77699
Node: Seealso78794
Node: Bugreport79443
Node: Legal80034
Node: CommandIdx80931
Node: ConceptIdx95941

End Tag Table

13
xorriso/xorrisofs.texi

@ -50,7 +50,7 @@
@c man .\" First parameter, NAME, should be all caps
@c man .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
@c man .\" other parameters are allowed: see man(7), man(1)
@c man .TH XORRISOFS 1 "Version 1.4.3, Nov 29, 2015"
@c man .TH XORRISOFS 1 "Version 1.4.3, Dec 30, 2015"
@c man .\" Please adjust this date whenever revising the manpage.
@c man .\"
@c man .\" Some roff macros, for reference:
@ -1551,6 +1551,17 @@ overwritten by 32 bytes of APM header mock-up.
Patch the System Area by a simple PC-DOS partition table where partition 1
claims the range of the ISO image but leaves the first block unclaimed.
@c man .TP
@item @minus{}@minus{}mbr-force-bootable
@kindex @minus{}@minus{}mbr-force-bootable Enforce MBR bootable/active flag
@cindex Bootability, bootable MBR partition, @minus{}@minus{}mbr-force-bootable
Enforce an MBR partition with "bootable/active" flag if options like
@minus{}@minus{}protective-msdos-label or @minus{}@minus{}grub2-mbr are given.
These options normally cause the flag to be set if there is an
MBR partition of type other than 0xee or 0xef.
If no such partition exists, then no bootflag is set, unless
@minus{}@minus{}mbr-force-bootable forces creation of a dummy partition
of type 0x00 which covers only the first block of the ISO image.
@c man .TP
@item -partition_offset 2kb_block_adr
@kindex -partition_offset Make mountable by partition 1
@cindex Mountability, by non-trivial partition 1, -partition_offset

Loading…
Cancel
Save