Allowing up to 32 boot images, -boot_image any id_string=, sel_crit=
This commit is contained in:
@ -329,8 +329,8 @@ characters of filename length. It is the X/Open System Interface
|
||||
standard XSI which demands a file name length of up to 255 characters
|
||||
and paths of up to 1024 characters. Rock Ridge fulfills this demand.
|
||||
|
||||
An *El Torito* boot record connects a boot image, which is a binary
|
||||
program plus some other files stored in the ISO image, with the
|
||||
An *El Torito* boot record connects one or more boot images, which
|
||||
are binary program files stored in the ISO image, with the
|
||||
bootstrapping facility of contemporary computers. The content of the
|
||||
boot image files is not in the scope of El Torito.
|
||||
Most bootable GNU/Linux CDs are equipped with ISOLINUX or GRUB boot
|
||||
@ -1927,7 +1927,7 @@ File: xorriso.info, Node: Bootable, Next: Charset, Prev: SetWrite, Up: Optio
|
||||
==================================
|
||||
|
||||
Contrary to published specifications many BIOSes will load an El Torito
|
||||
object from the first session on media and not from the last one, which
|
||||
record 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.
|
||||
But with multi-session media CD-R[W], DVD-R[W], DVD+R, it implies that
|
||||
@ -1940,40 +1940,41 @@ But one should not rely on the capability to influence the bootability
|
||||
of the existing sessions, unless one can assume overwriteable media.
|
||||
|
||||
-boot_image "any"|"isolinux"|"grub"
|
||||
"discard"|"keep"|"patch"|"show_status"|bootspec
|
||||
"discard"|"keep"|"patch"|"show_status"|bootspec|"next"
|
||||
|
||||
Define the handling of an eventual El Torito boot image object
|
||||
Define the handling of an eventual set of El Torito boot images
|
||||
which has been read from an existing ISO image or define how to
|
||||
make a prepared boot image file set bootable. Such file sets get
|
||||
produced by ISOLINUX or GRUB.
|
||||
Each -boot_image command has two arguments: type and setting. More
|
||||
than one -boot_image command may be used to define the handling.
|
||||
Sequence matters.
|
||||
than one -boot_image command may be used to define the handling of
|
||||
one or more boot images. Sequence matters.
|
||||
Types "isolinux" and "grub" care for known peculiarities. Type
|
||||
"any" makes no assumptions about the origin of the boot image.
|
||||
"any" makes no assumptions about the origin of the boot images.
|
||||
|
||||
El Torito boot images of any type can be newly inserted, or
|
||||
discarded, or patched, or kept unaltered. The latter is only safe
|
||||
if the format of the boot image is relocatable without content
|
||||
changes.
|
||||
Some boot images contain a boot info table, which needs to be
|
||||
patched when the boot image gets newly introduced into the ISO
|
||||
image or if an existing image gets relocated. This is
|
||||
automatically done if type "isolinux" or "grub" is given, but not
|
||||
with "any".
|
||||
discarded, or patched, or kept unaltered. Whether to patch or to
|
||||
keep depends on whether the boot images contain boot info tables.
|
||||
A boot info table needs to be patched when the boot image gets
|
||||
newly introduced into the ISO image or if an existing image gets
|
||||
relocated. This is automatically done if type "isolinux" or "grub"
|
||||
is given, but not with "any".
|
||||
"show_status" will print what is known about the loaded image and
|
||||
its designated fate.
|
||||
CAUTION: This is an expert option. xorriso cannot recognize the
|
||||
inner form of boot images. So the user has already to know about
|
||||
the particular needs of the boot image which is present on the
|
||||
input media.
|
||||
"next" ends the definition of a boot image and starts a new one.
|
||||
Any following -bootimage bootspecs will affect the new image. The
|
||||
first "next" discards eventually loaded boot images and their
|
||||
catalog.
|
||||
CAUTION: xorriso cannot recognize the inner form of boot images.
|
||||
So the user has already to know about the particular needs of the
|
||||
boot images which are present on the input media.
|
||||
Most safe is the default: -boot_image "any" "discard".
|
||||
|
||||
A bootspec is a word of the form name=value and is used to
|
||||
describe the activation of a boot image by an El Torito record and
|
||||
eventually a MBR. The names "dir" and "bin_path" lead to El
|
||||
Torito boot image activation. Name "system_area" activates the
|
||||
given file as MBR.
|
||||
describe the parameters of a boot image by an El Torito record and
|
||||
eventually a MBR. The names "dir", "bin_path", "efi_path" lead to
|
||||
El Torito bootable images. Name "system_area" activates a given
|
||||
file as MBR.
|
||||
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
|
||||
@ -1990,21 +1991,39 @@ of the existing sessions, unless one can assume overwriteable media.
|
||||
-boot_image isolinux cat_path=/boot/isolinux/boot.cat
|
||||
-boot_image isolinux load_size=2048
|
||||
-boot_image any boot_info_table=on
|
||||
"bin_path=" depicts the binary program which is to be started by
|
||||
the BIOS at boot time.
|
||||
"bin_path=" depicts the boot image file, a binary program which is
|
||||
to be started by the hardware boot facility (e.g. the BIOS) at
|
||||
boot time.
|
||||
"efi_path=" depicts a boot image file that is ready for EFI
|
||||
booting. Its load_size is determined automatically, no boot info
|
||||
table gets written, platform_id is 0xef.
|
||||
An El Torito boot catalog file gets inserted into the ISO image
|
||||
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.
|
||||
with the same name. The catalog lists the boot images and is read
|
||||
by the boot facility to choose one of the boot images.
|
||||
"load_size=" is a value which depends on the boot image. Default
|
||||
2048 should be overridden only if a better value is known.
|
||||
"boot_info_table=on" may be used to apply patching to a boot image
|
||||
which is given by "any" "bin_path=". "boot_info_table=off"
|
||||
disables patching.
|
||||
"discard" gives up an existing boot image.
|
||||
"keep" keeps or copies an existing boot image unaltered.
|
||||
"patch" applies boot info table patching if an existing boot image
|
||||
gets copied to a new location.
|
||||
"platform_id=" defines by two hex digits the Platform ID of the
|
||||
boot image. "00" is 80x86 PC-BIOS, "01" is PowerPC, "02" is Mac,
|
||||
"ef" is EFI.
|
||||
"id_string="text|56_hexdigits defines the ID string of the boot
|
||||
catalog section where the boot image will be listed. If the value
|
||||
consists of 56 characters [0-9A-Fa-f] then it is converted into 28
|
||||
bytes, else the first 28 characters become the ID string. The ID
|
||||
string of the first boot image becomes the overall catalog ID. It
|
||||
is limited to 24 characters. Other id_strings become section IDs.
|
||||
"sel_crit="hexdigits defines the Selection Criteria of the boot
|
||||
image. Up to 20 bytes get read from the given characters
|
||||
[0-9A-Fa-f]. They get attributed to the boot image entry in the
|
||||
catalog.
|
||||
"discard" gives up an existing boot catalog and its boot images.
|
||||
"keep" keeps or copies boot images unaltered and writes a new
|
||||
catalog.
|
||||
"patch" applies boot info table patching of existing boot images.
|
||||
"system_area="disk_path copies at most 32768 bytes from the given
|
||||
disk file to the very start of the ISO image. This System Area is
|
||||
reserved for system dependent boot software, e.g. an MBR which can
|
||||
@ -2015,9 +2034,9 @@ of the existing sessions, unless one can assume overwriteable media.
|
||||
"partition_table=on" causes a simple partition table to be written
|
||||
into bytes 446 to 511 of the System Area.
|
||||
With type "isolinux" it shows a partition that begins at byte 0
|
||||
and it causes the boot image LBA to be written into the MBR. For
|
||||
the first session this works only if also "system_area=" and
|
||||
"bin_path=" or "dir=" is given.
|
||||
and it causes the LBA of the first boot image to be written into
|
||||
the MBR. For the first session this works only if also
|
||||
"system_area=" and "bin_path=" or "dir=" is given.
|
||||
With types "any" and "grub" it shows a single partiton which
|
||||
starts at byte 512 and ends where the ISO image ends. This works
|
||||
with or without system_area= or boot image.
|
||||
@ -3902,7 +3921,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* iso_rr_path, _definition: Insert. (line 7)
|
||||
* List delimiter, _definiton: Processing. (line 8)
|
||||
* MBR, _definiton: Extras. (line 26)
|
||||
* MBR, set, -boot_image system_area=: Bootable. (line 85)
|
||||
* MBR, set, -boot_image system_area=: Bootable. (line 104)
|
||||
* MD5, control handling, -md5: Loading. (line 141)
|
||||
* Media, erase, -blank: Writing. (line 45)
|
||||
* Media, format, -format: Writing. (line 69)
|
||||
@ -3932,7 +3951,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Ownership, global in ISO image, -uid: SetWrite. (line 125)
|
||||
* Ownership, in ISO image, -chown: Manip. (line 42)
|
||||
* Ownership, in ISO image, -chown_r: Manip. (line 47)
|
||||
* Partition table, _definiton: Bootable. (line 92)
|
||||
* Partition table, _definiton: Bootable. (line 111)
|
||||
* Pathspec, _definition: SetInsert. (line 120)
|
||||
* Pattern expansion, _definition: Processing. (line 22)
|
||||
* Pattern expansion, for disk paths, -disk_pattern: Insert. (line 31)
|
||||
@ -3983,7 +4002,7 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
* Session, mount command line, -mount_cmd: Inquiry. (line 31)
|
||||
* Session, mount parameters, -mount_opts: Inquiry. (line 47)
|
||||
* Session, select as input, -load: Loading. (line 11)
|
||||
* System area, _definiton: Bootable. (line 85)
|
||||
* System area, _definiton: Bootable. (line 104)
|
||||
* Table-of-content, search sessions, -rom_toc_scan: Loading. (line 189)
|
||||
* Table-of-content, show, -toc: Inquiry. (line 18)
|
||||
* Timestamps, set in ISO image, -alter_date: Manip. (line 146)
|
||||
@ -4031,50 +4050,50 @@ Node: Media6089
|
||||
Node: Methods8519
|
||||
Node: Drives11066
|
||||
Node: Extras14332
|
||||
Node: Processing17736
|
||||
Node: Dialog21232
|
||||
Node: Options22889
|
||||
Node: AqDrive24457
|
||||
Node: Loading27363
|
||||
Node: Insert39798
|
||||
Node: SetInsert48155
|
||||
Node: Manip56722
|
||||
Node: CmdFind64598
|
||||
Node: Filter73943
|
||||
Node: Writing78292
|
||||
Node: SetWrite84581
|
||||
Node: Bootable94713
|
||||
Node: Charset100824
|
||||
Node: Exception103578
|
||||
Node: DialogCtl108093
|
||||
Node: Inquiry110438
|
||||
Node: Navigate114578
|
||||
Node: Verify121932
|
||||
Node: Restore130352
|
||||
Node: Emulation137008
|
||||
Node: Scripting143695
|
||||
Node: Frontend149257
|
||||
Node: Examples150458
|
||||
Node: ExDevices151627
|
||||
Node: ExCreate152109
|
||||
Node: ExDialog153383
|
||||
Node: ExGrowing154645
|
||||
Node: ExModifying155447
|
||||
Node: ExBootable155948
|
||||
Node: ExCharset156495
|
||||
Node: ExPseudo157323
|
||||
Node: ExCdrecord158217
|
||||
Node: ExMkisofs158532
|
||||
Node: ExGrowisofs159535
|
||||
Node: ExException160659
|
||||
Node: ExTime161113
|
||||
Node: ExIncBackup161572
|
||||
Node: ExRestore165044
|
||||
Node: ExRecovery166013
|
||||
Node: Files166579
|
||||
Node: Seealso167617
|
||||
Node: Legal168141
|
||||
Node: CommandIdx169063
|
||||
Node: ConceptIdx182364
|
||||
Node: Processing17730
|
||||
Node: Dialog21226
|
||||
Node: Options22883
|
||||
Node: AqDrive24451
|
||||
Node: Loading27357
|
||||
Node: Insert39792
|
||||
Node: SetInsert48149
|
||||
Node: Manip56716
|
||||
Node: CmdFind64592
|
||||
Node: Filter73937
|
||||
Node: Writing78286
|
||||
Node: SetWrite84575
|
||||
Node: Bootable94707
|
||||
Node: Charset102163
|
||||
Node: Exception104917
|
||||
Node: DialogCtl109432
|
||||
Node: Inquiry111777
|
||||
Node: Navigate115917
|
||||
Node: Verify123271
|
||||
Node: Restore131691
|
||||
Node: Emulation138347
|
||||
Node: Scripting145034
|
||||
Node: Frontend150596
|
||||
Node: Examples151797
|
||||
Node: ExDevices152966
|
||||
Node: ExCreate153448
|
||||
Node: ExDialog154722
|
||||
Node: ExGrowing155984
|
||||
Node: ExModifying156786
|
||||
Node: ExBootable157287
|
||||
Node: ExCharset157834
|
||||
Node: ExPseudo158662
|
||||
Node: ExCdrecord159556
|
||||
Node: ExMkisofs159871
|
||||
Node: ExGrowisofs160874
|
||||
Node: ExException161998
|
||||
Node: ExTime162452
|
||||
Node: ExIncBackup162911
|
||||
Node: ExRestore166383
|
||||
Node: ExRecovery167352
|
||||
Node: Files167918
|
||||
Node: Seealso168956
|
||||
Node: Legal169480
|
||||
Node: CommandIdx170402
|
||||
Node: ConceptIdx183703
|
||||
|
||||
End Tag Table
|
||||
|
Reference in New Issue
Block a user