Adjustments about -boot_image after testing with various media types
This commit is contained in:
parent
a7a60d4e4d
commit
85b45fce95
@ -2,7 +2,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 "Sep 26, 2008"
|
||||
.TH XORRISO 1 "Sep 30, 2008"
|
||||
.\" Please adjust this date whenever revising the manpage.
|
||||
.\"
|
||||
.\" Some roff macros, for reference:
|
||||
@ -1367,6 +1367,22 @@ bootable. Emulation -as mkisofs supports the example options out of the
|
||||
ISOLINUX wiki.
|
||||
.br
|
||||
The support for other boot image types is sparse.
|
||||
.br
|
||||
|
||||
Typically a BIOS will load an El Torito object from the first session on media
|
||||
and not from the last one, which gets mounted by default. This makes no
|
||||
problems with overwriteable media, because they appear to inadverted readers
|
||||
as one single session.
|
||||
.br
|
||||
With multi-session media CD-R[W], DVD-R[W], DVD+R, this implies that the whole
|
||||
bootable system has to reside already in the first session and that the last
|
||||
session still has to bear all files which the booted system expects after
|
||||
eventually mounting the ISO image.
|
||||
.br
|
||||
If ISOLINUX is known to be present on appendable media then it is advised
|
||||
to patch it when a new session gets written. But one should not rely on the
|
||||
capability to influence the bootability of the existing sessions, unless one
|
||||
can assume overwriteable media.
|
||||
.TP
|
||||
\fB\-boot_image\fR "any"|"isolinux" "discard"|"keep"|"patch"|bootspec
|
||||
Defines the handling of an eventual El Torito object which has
|
||||
@ -1378,7 +1394,7 @@ All types ("any") of El Torito boot images can be discarded or kept unaltered.
|
||||
The latter makes only sense if the format of the boot image is
|
||||
relocatable without content changes.
|
||||
.br
|
||||
An existing boot image of type "isolinux" can be discarded, or it can be
|
||||
An existing boot image of type "isolinux" can be discarded or it can be
|
||||
patched to match its relocation. In the latter case the resulting ISO image
|
||||
stays bootable if the boot image was really produced by ISOLINUX.
|
||||
.br
|
||||
@ -1391,12 +1407,14 @@ boot image which is present on the input media.
|
||||
Most safe is the default: "any" "discard".
|
||||
.br
|
||||
|
||||
Regardless whether an El Torito boot image was detected or not, it is possible
|
||||
to activate a set of ISOLINUX files for booting. An existing boot image gets
|
||||
discarded, then.
|
||||
The files have to be added to the ISO image by normal means (image loading,
|
||||
-map, -add, ...) and should reside either in ISO image directory /isolinux or
|
||||
/boot/isolinux .
|
||||
On all media types it is possible to activate a set of ISOLINUX files
|
||||
for booting 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 boot time. See above.
|
||||
.br
|
||||
The ISOLINUX files have to be added to the ISO image by normal means
|
||||
(image loading, -map, -add, ...) and should reside either in ISO image
|
||||
directory /isolinux or /boot/isolinux .
|
||||
In that case it suffices to use as bootspec the text "dir=/isolinux" or
|
||||
"dir=/boot/isolinux". E.g.:
|
||||
.br
|
||||
@ -2637,7 +2655,7 @@ to read and execute lines from the following files:
|
||||
.br
|
||||
The files are read in the sequence given above, but none of them is required
|
||||
for xorriso to function properly.
|
||||
.TP
|
||||
.SS
|
||||
.B Runtime control files:
|
||||
.br
|
||||
The default setting of -check_media abort_file= is:
|
||||
|
@ -9955,14 +9955,11 @@ int Xorriso_option_boot_image(struct XorrisO *xorriso, char *form,
|
||||
} else
|
||||
was_ok= 0;
|
||||
} else if(strcmp(formpt, "isolinux")==0) {
|
||||
if(strcmp(treatpt, "patch")==0) {
|
||||
if(strcmp(treatpt, "patch")==0 ||
|
||||
strcmp(treatpt, "keep")==0) { /* no real "keep" with ISOLINUX */
|
||||
xorriso->keep_boot_image= 1;
|
||||
xorriso->patch_isolinux_image= 1;
|
||||
xorriso->boot_image_bin_path[0]= 0;
|
||||
} else if(strcmp(treatpt, "keep")==0) {
|
||||
xorriso->keep_boot_image= 1;
|
||||
xorriso->patch_isolinux_image= 0;
|
||||
xorriso->boot_image_bin_path[0]= 0;
|
||||
} else if(strcmp(treatpt, "discard")==0) {
|
||||
xorriso->keep_boot_image= 0;
|
||||
xorriso->patch_isolinux_image= 0;
|
||||
@ -11665,7 +11662,7 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
||||
" Generate Joliet info additional to Rock Ridge info.",
|
||||
" -boot_image \"any\"|\"isolinux\" \"discard\"|\"keep\"|\"patch\"|\"dir=\"",
|
||||
" \"bin_path=\"|\"cat_path=\"|\"load_size=\"",
|
||||
" Whether to discard or keep an exiting El-Torito boot image.",
|
||||
" Whether to discard or keep an exiting El Torito boot image.",
|
||||
" ISOLINUX can be made bootable by dir=/ or dir=/isolinux",
|
||||
" or dir=/boot/isolinux or by bin_path=... and cat_path=...",
|
||||
" The ISOLINUX files need to be added to the ISO image by",
|
||||
@ -11925,7 +11922,8 @@ int Xorriso_option_help(struct XorrisO *xorriso, int flag)
|
||||
"",
|
||||
"Compatibility emulation (argument list may be ended by list delimiter --):",
|
||||
" -as mkisofs [-help|-version|-o|-R|-J|-V|-P|-f|-m|-exclude-list|-no-pad|",
|
||||
" -M|-C|-graft-points|-path-list|pathspecs|-no-emul-boot|-b|-c]",
|
||||
" -M|-C|-graft-points|-path-list|pathspecs|",
|
||||
" -no-emul-boot|-b|-c|-boot-info-table|-boot-load-size]",
|
||||
" Perform some mkisofs gestures, understand pathspecs as mkisofs",
|
||||
" does. Commit happens outside emulation at usual occasions.",
|
||||
" -as cdrecord [-help|-v|dev=|speed=|blank=|fs=|-eject|-atip|padsize=|path|-]",
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2008.09.30.102243"
|
||||
#define Xorriso_timestamP "2008.09.30.102753"
|
||||
|
@ -643,7 +643,9 @@ int Xorriso_aquire_drive(struct XorrisO *xorriso, char *adr, int flag)
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
isoburn_ropt_get_size_what(ropts, &size, &has_what);
|
||||
if(has_what & isoburn_ropt_has_el_torito) {
|
||||
if(xorriso->patch_isolinux_image)
|
||||
if(xorriso->boot_image_bin_path[0])
|
||||
boot_fate= "replaced by an isolinux image";
|
||||
else if(xorriso->patch_isolinux_image)
|
||||
boot_fate= "patched as isolinux image";
|
||||
else if(xorriso->keep_boot_image)
|
||||
boot_fate= "kept unchanged";
|
||||
@ -867,7 +869,6 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
||||
ElToritoBootImage *bootimg;
|
||||
enum eltorito_boot_media_type emul_type= ELTORITO_NO_EMUL;
|
||||
|
||||
|
||||
ret= Xorriso_get_drive_handles(xorriso, &dinfo, &drive,
|
||||
"on attempt to write", 2);
|
||||
if(ret<=0)
|
||||
@ -1094,7 +1095,6 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||
{ret= 0; goto ex;}
|
||||
}
|
||||
|
||||
isoburn_igopt_get_effective_lba(sopts, &(xorriso->session_lba));
|
||||
|
||||
ret= Xorriso_make_write_options(xorriso, drive, &burn_options, 0);
|
||||
|
Loading…
Reference in New Issue
Block a user