Disabled isohybrid MBR production on request of H. Peter Anvin

This commit is contained in:
Thomas Schmitt 2010-04-01 14:14:00 +00:00
parent 1e4e51edfe
commit 7878f1f039
4 changed files with 108 additions and 96 deletions

View File

@ -9,7 +9,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH XORRISO 1 "Mar 17, 2010"
.TH XORRISO 1 "Mar 18, 2010"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
@ -380,11 +380,6 @@ Emulation -as mkisofs supports the example options out of the ISOLINUX wiki.
.br
The support for other boot image types is sparse.
.br
An MBR is generated together with the El Torito boot record if the boot image
bears the isohybrid signature of ISOLINUX 3.72 or later. It will occupy the
first 512 bytes of the emerging ISO image and enable booting from media which
appear as hard disk rather than as CDROM. An MBR does not hamper CDROM booting.
The MBR of a follow-up session can get in effect only on overwriteable media.
.PP
\fBACL\fR
are an advanced way of controlling access permissions to file objects. Neither
@ -2134,8 +2129,8 @@ Most safe is the default: -boot_image "any" "discard".
.br
A bootspec is a word of the form name=value and is used to describe the
activation of a ISOLINUX boot image by an El Torito record and eventually
a MBR. The names "dir" and "bin_path" lead to boot image activation.
activation of a ISOLINUX boot image by an El Torito record.
The names "dir" and "bin_path" lead to boot image activation.
.br
On all media types this is possible within the first session. In further
sessions an existing boot image can get replaced by a new one, but depending
@ -2165,10 +2160,6 @@ cat_path at -commit time.
It is subject to normal -overwrite and -reassure processing if there is already
a file with the same name.
.br
Bootspec "isohybrid=off" disables MBR generation, "isohybrid=on" prevents the
write session if not the isohybrid signature is found in the bin_path file.
Default is "isohybrid=auto" which silently omits the MBR if the signature is
missing.
.TP
.B Character sets:
.PP
@ -3036,8 +3027,6 @@ same name and hardcoded argument "on", e.g. -acl "on".
Explicit arguments are expected by --stdio_sync
and --scdbackup_tag.
.br
Quite special is isolinux_mbr= (see -boot_image isolinux isohybrid=).
.br
Personalites "\fBxorrisofs\fR", "\fBgenisoimage\fR",
and "\fBgenisofs\fR" are aliases for "mkisofs".
.br
@ -3854,4 +3843,3 @@ Thanks to Andy Polyakov who invented emulated growing,
to Derek Foreman and Ben Jansens who once founded libburn.
.br
Compliments towards Joerg Schilling whose cdrtools served me for ten years.

View File

@ -4837,7 +4837,13 @@ int Xorriso_new(struct XorrisO ** xorriso,char *progname, int flag)
m->boot_image_emul= 0;
m->boot_image_cat_path[0]= 0;
m->boot_image_load_size= 4 * 512; /* hearsay out of libisofs/demo/iso.c */
#ifdef Xorriso_with_isohybriD
m->boot_image_isohybrid= 1;
#else
m->boot_image_isohybrid= 0;
#endif
m->loaded_boot_bin_lba= 0;
m->loaded_boot_cat_path[0]= 0;
m->allow_graft_points= 0;
@ -6905,6 +6911,8 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
}
#ifdef Xorriso_with_isohybriD
if(strcmp(form, "isolinux") == 0) {
static char modes[4][6]= {"off", "auto", "on", "force"};
is_default= (xorriso->boot_image_isohybrid == 1);
@ -6913,6 +6921,7 @@ int Xorriso_status(struct XorrisO *xorriso, char *filter, FILE *fp, int flag)
if(!(is_default && no_defaults))
Xorriso_status_result(xorriso,filter,fp,flag&2);
}
#endif /* Xorriso_with_isohybriD */
sprintf(line,"-cd %s\n",
(xorriso->wdi[0] ? Text_shellsafe(xorriso->wdi,sfe,0) : "'/'"));
@ -11012,7 +11021,9 @@ int Xorriso_genisofs_help(struct XorrisO *xorriso, int flag)
" -boot-load-size # Set numbers of load sectors",
" -no-emul-boot Boot image is 'no emulation' image",
" -boot-info-table Patch boot image with info table",
#ifdef Xorriso_with_isohybriD
" isolinux_mbr=on|auto|off Control eventual isohybrid MBR generation",
#endif
" --stdio_sync on|off|number Control forced output to disk files",
" -z, -transparent-compression",
" Enable transparent compression of files",
@ -13629,6 +13640,9 @@ show_status:;
}
xorriso->boot_image_load_size= num;
} else if(strncmp(treatpt, "isohybrid=", 10) == 0) {
#ifdef Xorriso_with_isohybriD
if(strcmp(treatpt + 10, "off") == 0)
xorriso->boot_image_isohybrid= 0;
else if(strcmp(treatpt + 10, "auto") == 0)
@ -13648,6 +13662,19 @@ show_status:;
return(0);
}
#else
if(strcmp(treatpt + 10, "off") == 0) {
xorriso->boot_image_isohybrid= 0;
} else {
sprintf(xorriso->info_text,
"isohybrid MBR generation has been disabled on request of its inventor H. Peter Anvin on 31 Mar 2010");
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
}
#endif /* ! Xorriso_with_isohybriD */
} else
was_ok= 0;
} else

View File

@ -338,14 +338,8 @@ xorriso is able to create or maintain an El Torito object which makes
such an image bootable. For details see option -boot_image. Emulation
-as mkisofs supports the example options out of the ISOLINUX wiki.
The support for other boot image types is sparse.
An MBR is generated together with the El Torito boot record if the boot
image bears the isohybrid signature of ISOLINUX 3.72 or later. It will
occupy the first 512 bytes of the emerging ISO image and enable booting
from media which appear as hard disk rather than as CDROM. An MBR does
not hamper CDROM booting. The MBR of a follow-up session can get in
effect only on overwriteable media.
*ACL* are an advanced way of controlling access permissions to file
*ACL* are an advanced way of controlling access permissions to file
objects. Neither ISO 9660 nor Rock Ridge specify a way to record ACLs.
So libisofs has introduced a standard conformant extension named AAIP
for that purpose. It uses this extension if enabled by option *-acl*.
@ -1923,8 +1917,8 @@ unless one can assume overwriteable media.
A bootspec is a word of the form name=value and is used to
describe the activation of a ISOLINUX boot image by an El Torito
record and eventually a MBR. The names "dir" and "bin_path" lead
to boot image activation.
record. The names "dir" and "bin_path" lead to boot image
activation.
On all media types this is possible within the first session. In
further sessions an existing boot image can get replaced by a new
one, but depending on the media type this may have few effect at
@ -1945,10 +1939,6 @@ unless one can assume overwriteable media.
with address cat_path at -commit time. It is subject to normal
-overwrite and -reassure processing if there is already a file
with the same name.
Bootspec "isohybrid=off" disables MBR generation, "isohybrid=on"
prevents the write session if not the isohybrid signature is found
in the bin_path file. Default is "isohybrid=auto" which silently
omits the MBR if the signature is missing.

File: xorriso.info, Node: Charset, Next: Exception, Prev: Bootable, Up: Options
@ -2737,8 +2727,6 @@ programs trigger comparable actions.
xorriso options with the same name and hardcoded argument "on",
e.g. -acl "on". Explicit arguments are expected by --stdio_sync
and --scdbackup_tag.
Quite special is isolinux_mbr= (see -boot_image isolinux
isohybrid=).
Personalites "*xorrisofs*", "*genisoimage*", and "*genisofs*" are
aliases for "mkisofs".
If xorriso is started with one of the leafnames "xorrisofs",
@ -3624,7 +3612,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -out_charset sets output character set: SetWrite. (line 95)
* -outdev aquires a drive for output: AqDrive. (line 29)
* -overwrite enables overwriting in ISO: SetInsert. (line 127)
* -pacifier controls pacifier text form: Emulation. (line 94)
* -pacifier controls pacifier text form: Emulation. (line 92)
* -padding sets amount of image padding: SetWrite. (line 178)
* -page set terminal geometry: DialogCtl. (line 15)
* -paste_in copies file into disk file: Restore. (line 117)
@ -3651,7 +3639,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
* -rollback discards pending changes: Writing. (line 9)
* -rollback_end ends program without writing: Scripting. (line 125)
* -rom_toc_scan searches for sessions: Loading. (line 189)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 104)
* -scdbackup_tag enables scdbackup checksum tag: Emulation. (line 102)
* -scsi_log reports SCSI commands: Scripting. (line 113)
* -session_log logs written sessions: Scripting. (line 104)
* -session_string composes session info line: Inquiry. (line 56)
@ -3695,7 +3683,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
[index]
* Menu:
* ACL, _definiton: Extras. (line 35)
* ACL, _definiton: Extras. (line 29)
* ACL, control handling, -acl: Loading. (line 128)
* ACL, set in ISO image, -setfacl: Manip. (line 73)
* ACL, set in ISO image, -setfacl_list: Manip. (line 100)
@ -3706,11 +3694,11 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Backslash Interpretation, _definition: Processing. (line 49)
* Backup, enable fast incremental, -disk_dev_ino: Loading. (line 168)
* Backup, enable features, -for_backup: Loading. (line 163)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 104)
* Backup, scdbackup checksum tag, -scdbackup: Emulation. (line 102)
* Blank media, _definition: Media. (line 25)
* Blind growing, _definition: Methods. (line 40)
* Bootability, control, -boot_image: Bootable. (line 20)
* cdrecord, Emulation: Emulation. (line 61)
* cdrecord, Emulation: Emulation. (line 59)
* Character Set, _definition: Charset. (line 6)
* Character Set, for input, -in_charset: Loading. (line 73)
* Character Set, for input/output, -charset: Charset. (line 43)
@ -3745,9 +3733,9 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Drive, write and eject, -commit_eject: Writing. (line 40)
* El Torito, _definiton: Extras. (line 19)
* Emulation, -as: Emulation. (line 13)
* Emulation, cdrecord, -as: Emulation. (line 61)
* Emulation, cdrecord, -as: Emulation. (line 59)
* Emulation, mkisofs, -as: Emulation. (line 16)
* Emulation, pacifier form, -pacifier: Emulation. (line 94)
* Emulation, pacifier form, -pacifier: Emulation. (line 92)
* Examples: Examples. (line 6)
* Filter, _definition: Filter. (line 6)
* Filter, apply to file tree, -set_filter_r: Filter. (line 84)
@ -3904,7 +3892,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
* Write, predict image size, -print_size: Inquiry. (line 69)
* Write, set speed, -speed: SetWrite. (line 121)
* Write, simulation, -dummy: SetWrite. (line 161)
* xattr, _definiton: Extras. (line 49)
* xattr, _definiton: Extras. (line 43)
* xattr, control handling, -xattr: Loading. (line 136)
* xattr, set in ISO image, -setfattr: Manip. (line 110)
* xattr, set in ISO image, -setfattr_list: Manip. (line 126)
@ -3922,50 +3910,50 @@ Node: Media6072
Node: Methods8502
Node: Drives11049
Node: Extras14315
Node: Processing17640
Node: Dialog21136
Node: Options22793
Node: AqDrive24361
Node: Loading27267
Node: Insert39700
Node: SetInsert48057
Node: Manip56624
Node: CmdFind64500
Node: Filter73058
Node: Writing77407
Node: SetWrite83696
Node: Bootable92573
Node: Charset96290
Node: Exception99044
Node: DialogCtl103559
Node: Inquiry105904
Node: Navigate110044
Node: Verify117398
Node: Restore125818
Node: Emulation132474
Node: Scripting138580
Node: Frontend144142
Node: Examples145343
Node: ExDevices146512
Node: ExCreate146994
Node: ExDialog148268
Node: ExGrowing149530
Node: ExModifying150332
Node: ExBootable150833
Node: ExCharset151380
Node: ExPseudo152208
Node: ExCdrecord153102
Node: ExMkisofs153417
Node: ExGrowisofs154420
Node: ExException155544
Node: ExTime155998
Node: ExIncBackup156457
Node: ExRestore159929
Node: ExRecovery160898
Node: Files161463
Node: Seealso162050
Node: Legal162574
Node: CommandIdx163496
Node: ConceptIdx176724
Node: Processing17246
Node: Dialog20742
Node: Options22399
Node: AqDrive23967
Node: Loading26873
Node: Insert39306
Node: SetInsert47663
Node: Manip56230
Node: CmdFind64106
Node: Filter72664
Node: Writing77013
Node: SetWrite83302
Node: Bootable92179
Node: Charset95615
Node: Exception98369
Node: DialogCtl102884
Node: Inquiry105229
Node: Navigate109369
Node: Verify116723
Node: Restore125143
Node: Emulation131799
Node: Scripting137825
Node: Frontend143387
Node: Examples144588
Node: ExDevices145757
Node: ExCreate146239
Node: ExDialog147513
Node: ExGrowing148775
Node: ExModifying149577
Node: ExBootable150078
Node: ExCharset150625
Node: ExPseudo151453
Node: ExCdrecord152347
Node: ExMkisofs152662
Node: ExGrowisofs153665
Node: ExException154789
Node: ExTime155243
Node: ExIncBackup155702
Node: ExRestore159174
Node: ExRecovery160143
Node: Files160708
Node: Seealso161295
Node: Legal161819
Node: CommandIdx162741
Node: ConceptIdx175969

End Tag Table

View File

@ -508,11 +508,17 @@ Emulation -as mkisofs supports the example options out of the ISOLINUX wiki.
@*
The support for other boot image types is sparse.
@*
An MBR is generated together with the El Torito boot record if the boot image
bears the isohybrid signature of ISOLINUX 3.72 or later. It will occupy the
first 512 bytes of the emerging ISO image and enable booting from media which
appear as hard disk rather than as CDROM. An MBR does not hamper CDROM booting.
The MBR of a follow-up session can get in effect only on overwriteable media.
@c
@c >>> isohybrid MBR generation has been disabled on request
@c >>> of its inventor H. Peter Anvin on 31 Mar 2010
@c
@c An MBR is generated together with the El Torito boot record if the
@c boot image bears the isohybrid signature of ISOLINUX 3.72 or later.
@c It will occupy the first 512 bytes of the emerging ISO image and
@c enable booting from media which appear as hard disk rather than
@c as CDROM. An MBR does not hamper CDROM booting. The MBR of a
@c follow-up session can get in effect only on overwriteable media.
@c
@c man .PP
@sp 1
@cindex ACL, _definiton
@ -2580,8 +2586,9 @@ Most safe is the default: -boot_image "any" "discard".
@sp 1
A bootspec is a word of the form name=value and is used to describe the
activation of a ISOLINUX boot image by an El Torito record and eventually
a MBR. The names "dir" and "bin_path" lead to boot image activation.
activation of a ISOLINUX boot image by an El Torito record.
@c and eventually a MBR.
The names "dir" and "bin_path" lead to boot image activation.
@*
On all media types this is possible within the first session. In further
sessions an existing boot image can get replaced by a new one, but depending
@ -2611,10 +2618,12 @@ cat_path at -commit time.
It is subject to normal -overwrite and -reassure processing if there is already
a file with the same name.
@*
Bootspec "isohybrid=off" disables MBR generation, "isohybrid=on" prevents the
write session if not the isohybrid signature is found in the bin_path file.
Default is "isohybrid=auto" which silently omits the MBR if the signature is
missing.
@c
@c Bootspec "isohybrid=off" disables MBR generation, "isohybrid=on"
@c prevents the write session if not the isohybrid signature is found
@c in the bin_path file. Default is "isohybrid=auto" which silently
@c omits the MBR if the signature is missing.
@c
@end table
@c man .TP
@c man .B Character sets:
@ -3650,8 +3659,8 @@ same name and hardcoded argument "on", e.g. -acl "on".
Explicit arguments are expected by @minus{}@minus{}stdio_sync
and @minus{}@minus{}scdbackup_tag.
@*
Quite special is isolinux_mbr= (see -boot_image isolinux isohybrid=).
@*
@c Quite special is isolinux_mbr= (see -boot_image isolinux isohybrid=).
@c @*
Personalites "@strong{xorrisofs}", "@strong{genisoimage}",
and "@strong{genisofs}" are aliases for "mkisofs".
@*