New boot_specs efi_boot_part, prep_boot_part, chrp_boot_part
This commit is contained in:
@ -345,16 +345,27 @@ Most bootable GNU/Linux CDs are equipped with ISOLINUX or GRUB boot
|
||||
images. `xorriso' is able to create or maintain an El Torito object
|
||||
which makes such an image bootable. For details see command -boot_image.
|
||||
It is possible to make ISO images bootable from USB stick or other
|
||||
hard-disk-like media by -boot_image parameter system_area= . This
|
||||
installs a Master Boot Record which may get adjusted according to the
|
||||
needs of GRUB resp. ISOLINUX. An *MBR* contains boot code and a
|
||||
partition table. It does not hamper CDROM booting. The new MBR of a
|
||||
hard-disk-like media. Several options install a *MBR* (Master Boot
|
||||
Record), It may get adjusted according to the needs of the intended
|
||||
boot firmware and the involved boot loaders, e.g. GRUB2 or ISOLINUX. A
|
||||
MBR contains boot code and a partition table. The new MBR of a
|
||||
follow-up session can get in effect only on overwriteable media.
|
||||
MBR is read by PC-BIOS when booting from USB stick or hard disk, and by
|
||||
PowerPC CHRP or PReP when booting. An MBR partiton with type 0xee
|
||||
indicates the presence of GPT.
|
||||
Emulation -as mkisofs supports the example options out of the ISOLINUX
|
||||
wiki, the options used in GRUB script grub-mkrescue, and the example in
|
||||
the FreeBSD AvgLiveCD wiki.
|
||||
There is support for boot facilities other than PC BIOS: EFI, MIPS Big
|
||||
Endian (SGI), MIPS Little Endian (DEC), SUN SPARC.
|
||||
A *GPT* (GUID Partition Table) marks partitions in a more modern way.
|
||||
It is read by EFI when booting from USB stick or hard disk, and may be
|
||||
used for finding and mounting a HFS+ partition inside the ISO image.
|
||||
An *APM* (Apple Partition Map) marks the HFS+ partition. It is read by
|
||||
Macs for booting and for mounting.
|
||||
MBR, GPT and APM are combinable. APM occupies the first 8 bytes of MBR
|
||||
boot code. All three do not hamper El Torito booting from CDROM.
|
||||
There is support for further facilities: MIPS Big Endian (SGI), MIPS
|
||||
Little Endian (DEC), SUN SPARC. Those are mutually not combinable and
|
||||
also not combinable with MBR, GPT, or APM.
|
||||
|
||||
*ACL* are an advanced way of controlling access permissions to file
|
||||
objects. Neither ISO 9660 nor Rock Ridge specify a way to record ACLs.
|
||||
@ -2480,9 +2491,11 @@ filesystem and announced by an MBR partition table entry.
|
||||
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
|
||||
With types "any" and "grub" it shows a single partition which
|
||||
starts at byte 512 and ends where the ISO image ends. This works
|
||||
with or without system_area= or boot image.
|
||||
Bootspecs chrp_boot_part=, prep_boot_part=, and efi_boot_part=
|
||||
overwrite this entry in the MBR partition table.
|
||||
In follow-up sessions the existing System Area is preserved by
|
||||
default. If types "isolinux" or "grub" are set to "patch", then
|
||||
"partition_table=on" is activated without new boot image. In this
|
||||
@ -2492,6 +2505,25 @@ filesystem and announced by an MBR partition table entry.
|
||||
when the new System Area is written.
|
||||
Special "system_area=/dev/zero" causes 32k of NUL-bytes. Use this
|
||||
to discard an MBR which was loaded with the ISO image.
|
||||
*chrp_boot_part=on* causes a single partition in MBR which covers
|
||||
the whole ISO image and has type 0x41. This is not compatible with
|
||||
any other feature that produces MBR partition entries. It makes
|
||||
GPT unrecognizable.
|
||||
*prep_boot_part=* inserts the content of a data file into the
|
||||
image and marks it by an MBR partition of type 0x96. The parts of
|
||||
the ISO image before and after this partition will be covered by
|
||||
further MBR partitions. The data file is supposed to contain ELF
|
||||
executable code.
|
||||
*efi_boot_part=* inserts the content of a data file into the image
|
||||
and marks it by a GPT partition. If not chrp_boot_part=on, then
|
||||
the first partition in MBR will have type 0xee to announce the
|
||||
presence of GPT. The data file is supposed to contain a FAT
|
||||
filesystem.
|
||||
Instead of a disk_path, the word --efi-boot-image may be given.
|
||||
It exposes in GPT the content of the first El Torito EFI boot
|
||||
image as EFI system partition. EFI boot images are introduced by
|
||||
bootspec efi_path=. The affected EFI boot image cannot show up in
|
||||
HFS+ because it is stored outside the HFS+ partition.
|
||||
*partition_offset=*2kb_block_adr causes a partition table with a
|
||||
single partition that begins at the given block address. This is
|
||||
counted in 2048 byte blocks, not in 512 byte blocks. If the block
|
||||
@ -4456,7 +4488,7 @@ File: xorriso.info, Node: CommandIdx, Next: ConceptIdx, Prev: Legal, Up: Top
|
||||
* -alter_date sets timestamps in ISO image: Manip. (line 147)
|
||||
* -alter_date_r sets timestamps in ISO image: Manip. (line 167)
|
||||
* -append_partition adds arbitrary file after image end: Bootable.
|
||||
(line 202)
|
||||
(line 223)
|
||||
* -application_id sets application id: SetWrite. (line 184)
|
||||
* -as emulates mkisofs or cdrecord: Emulation. (line 13)
|
||||
* -assert_volid rejects undesired images: Loading. (line 84)
|
||||
@ -4672,15 +4704,16 @@ File: xorriso.info, Node: ConceptIdx, Prev: CommandIdx, Up: Top
|
||||
|