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
|
.\" 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 "Sep 26, 2008"
|
.TH XORRISO 1 "Sep 30, 2008"
|
||||||
.\" 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:
|
||||||
@ -1367,6 +1367,22 @@ bootable. Emulation -as mkisofs supports the example options out of the
|
|||||||
ISOLINUX wiki.
|
ISOLINUX wiki.
|
||||||
.br
|
.br
|
||||||
The support for other boot image types is sparse.
|
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
|
.TP
|
||||||
\fB\-boot_image\fR "any"|"isolinux" "discard"|"keep"|"patch"|bootspec
|
\fB\-boot_image\fR "any"|"isolinux" "discard"|"keep"|"patch"|bootspec
|
||||||
Defines the handling of an eventual El Torito object which has
|
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
|
The latter makes only sense if the format of the boot image is
|
||||||
relocatable without content changes.
|
relocatable without content changes.
|
||||||
.br
|
.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
|
patched to match its relocation. In the latter case the resulting ISO image
|
||||||
stays bootable if the boot image was really produced by ISOLINUX.
|
stays bootable if the boot image was really produced by ISOLINUX.
|
||||||
.br
|
.br
|
||||||
@ -1391,12 +1407,14 @@ boot image which is present on the input media.
|
|||||||
Most safe is the default: "any" "discard".
|
Most safe is the default: "any" "discard".
|
||||||
.br
|
.br
|
||||||
|
|
||||||
Regardless whether an El Torito boot image was detected or not, it is possible
|
On all media types it is possible to activate a set of ISOLINUX files
|
||||||
to activate a set of ISOLINUX files for booting. An existing boot image gets
|
for booting within the first session. In further sessions an existing boot
|
||||||
discarded, then.
|
image can get replaced by a new one, but depending on the media type
|
||||||
The files have to be added to the ISO image by normal means (image loading,
|
this may have few effect at boot time. See above.
|
||||||
-map, -add, ...) and should reside either in ISO image directory /isolinux or
|
.br
|
||||||
/boot/isolinux .
|
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
|
In that case it suffices to use as bootspec the text "dir=/isolinux" or
|
||||||
"dir=/boot/isolinux". E.g.:
|
"dir=/boot/isolinux". E.g.:
|
||||||
.br
|
.br
|
||||||
@ -2637,7 +2655,7 @@ to read and execute lines from the following files:
|
|||||||
.br
|
.br
|
||||||
The files are read in the sequence given above, but none of them is required
|
The files are read in the sequence given above, but none of them is required
|
||||||
for xorriso to function properly.
|
for xorriso to function properly.
|
||||||
.TP
|
.SS
|
||||||
.B Runtime control files:
|
.B Runtime control files:
|
||||||
.br
|
.br
|
||||||
The default setting of -check_media abort_file= is:
|
The default setting of -check_media abort_file= is:
|
||||||
|
@ -9955,14 +9955,11 @@ int Xorriso_option_boot_image(struct XorrisO *xorriso, char *form,
|
|||||||
} else
|
} else
|
||||||
was_ok= 0;
|
was_ok= 0;
|
||||||
} else if(strcmp(formpt, "isolinux")==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->keep_boot_image= 1;
|
||||||
xorriso->patch_isolinux_image= 1;
|
xorriso->patch_isolinux_image= 1;
|
||||||
xorriso->boot_image_bin_path[0]= 0;
|
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) {
|
} else if(strcmp(treatpt, "discard")==0) {
|
||||||
xorriso->keep_boot_image= 0;
|
xorriso->keep_boot_image= 0;
|
||||||
xorriso->patch_isolinux_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.",
|
" Generate Joliet info additional to Rock Ridge info.",
|
||||||
" -boot_image \"any\"|\"isolinux\" \"discard\"|\"keep\"|\"patch\"|\"dir=\"",
|
" -boot_image \"any\"|\"isolinux\" \"discard\"|\"keep\"|\"patch\"|\"dir=\"",
|
||||||
" \"bin_path=\"|\"cat_path=\"|\"load_size=\"",
|
" \"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",
|
" ISOLINUX can be made bootable by dir=/ or dir=/isolinux",
|
||||||
" or dir=/boot/isolinux or by bin_path=... and cat_path=...",
|
" or dir=/boot/isolinux or by bin_path=... and cat_path=...",
|
||||||
" The ISOLINUX files need to be added to the ISO image by",
|
" 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 --):",
|
"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|",
|
" -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",
|
" Perform some mkisofs gestures, understand pathspecs as mkisofs",
|
||||||
" does. Commit happens outside emulation at usual occasions.",
|
" does. Commit happens outside emulation at usual occasions.",
|
||||||
" -as cdrecord [-help|-v|dev=|speed=|blank=|fs=|-eject|-atip|padsize=|path|-]",
|
" -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);
|
Xorriso_process_msg_queues(xorriso,0);
|
||||||
isoburn_ropt_get_size_what(ropts, &size, &has_what);
|
isoburn_ropt_get_size_what(ropts, &size, &has_what);
|
||||||
if(has_what & isoburn_ropt_has_el_torito) {
|
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";
|
boot_fate= "patched as isolinux image";
|
||||||
else if(xorriso->keep_boot_image)
|
else if(xorriso->keep_boot_image)
|
||||||
boot_fate= "kept unchanged";
|
boot_fate= "kept unchanged";
|
||||||
@ -867,7 +869,6 @@ int Xorriso_write_session(struct XorrisO *xorriso, int flag)
|
|||||||
ElToritoBootImage *bootimg;
|
ElToritoBootImage *bootimg;
|
||||||
enum eltorito_boot_media_type emul_type= ELTORITO_NO_EMUL;
|
enum eltorito_boot_media_type emul_type= ELTORITO_NO_EMUL;
|
||||||
|
|
||||||
|
|
||||||
ret= Xorriso_get_drive_handles(xorriso, &dinfo, &drive,
|
ret= Xorriso_get_drive_handles(xorriso, &dinfo, &drive,
|
||||||
"on attempt to write", 2);
|
"on attempt to write", 2);
|
||||||
if(ret<=0)
|
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);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "FAILURE", 0);
|
||||||
{ret= 0; goto ex;}
|
{ret= 0; goto ex;}
|
||||||
}
|
}
|
||||||
|
|
||||||
isoburn_igopt_get_effective_lba(sopts, &(xorriso->session_lba));
|
isoburn_igopt_get_effective_lba(sopts, &(xorriso->session_lba));
|
||||||
|
|
||||||
ret= Xorriso_make_write_options(xorriso, drive, &burn_options, 0);
|
ret= Xorriso_make_write_options(xorriso, drive, &burn_options, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user