Allowing up to 32 boot images, -boot_image any id_string=, sel_crit=

This commit is contained in:
2010-04-26 12:11:59 +00:00
parent 1d824a3050
commit 447ab7fe96
8 changed files with 1143 additions and 212 deletions

View File

@ -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