mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-01 17:10:11 +00:00
02e43537b3
Some architectures require their SPL loader at a fixed address within the first 16KB of the disk. To avoid an overlap with the partition entries of the EFI partition table, the first safe offset (in bytes, from the start of the device) for the entries can be set through CONFIG_EFI_PARTITION_ENTRIES_OFF (via Kconfig) When formatting a device with an EFI partition table, we may need to leave a gap between the GPT header (always in LBA 1) and the partition entries. The GPT header already contains a field to specify the on-disk location, which has so far always been set to LBA 2. With this change, a configurable offset will be translated into a LBA address indicating where to put the entries. Now also allows an override via device-tree using a config-node (see doc/device-tree-bindings/config.txt for documentation). Tested (exporting an internal MMC formatted with this) against Linux, MacOS X and Windows. Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com> Reviewed-by: Simon Glass <sjg@chromium.org> [trini: __maybe_unused on config_offset to avoid warning] Signed-off-by: Tom Rini <trini@konsulko.com>
121 lines
3.6 KiB
Text
121 lines
3.6 KiB
Text
|
|
menu "Partition Types"
|
|
|
|
config PARTITIONS
|
|
bool "Enable Partition Labels (disklabels) support"
|
|
default y
|
|
help
|
|
Partition Labels (disklabels) Supported:
|
|
Zero or more of the following:
|
|
- CONFIG_MAC_PARTITION Apple's MacOS partition table.
|
|
- CONFIG_DOS_PARTITION MS Dos partition table, traditional on the
|
|
Intel architecture, USB sticks, etc.
|
|
- CONFIG_ISO_PARTITION ISO partition table, used on CDROM etc.
|
|
- CONFIG_EFI_PARTITION GPT partition table, common when EFI is the
|
|
bootloader. Note 2TB partition limit; see
|
|
disk/part_efi.c
|
|
- CONFIG_MTD_PARTITIONS Memory Technology Device partition table.
|
|
If IDE or SCSI support is enabled (CONFIG_CMD_IDE or CONFIG_SCSI)
|
|
you must configure support for at least one non-MTD partition type
|
|
as well.
|
|
|
|
config MAC_PARTITION
|
|
bool "Enable Apple's MacOS partition table"
|
|
depends on PARTITIONS
|
|
default y if SPARC
|
|
help
|
|
Say Y here if you would like to use device under U-Boot which
|
|
were partitioned on a Macintosh.
|
|
|
|
config SPL_MAC_PARTITION
|
|
bool "Enable Apple's MacOS partition table for SPL"
|
|
depends on SPL && PARTITIONS
|
|
default y if MAC_PARTITION
|
|
|
|
config DOS_PARTITION
|
|
bool "Enable MS Dos partition table"
|
|
depends on PARTITIONS
|
|
default y if DISTRO_DEFAULTS
|
|
default y if x86 || SPARC || CMD_FAT || USB_STORAGE
|
|
help
|
|
traditional on the Intel architecture, USB sticks, etc.
|
|
|
|
config SPL_DOS_PARTITION
|
|
bool "Enable MS Dos partition table for SPL"
|
|
depends on SPL && PARTITIONS
|
|
default y if DOS_PARTITION
|
|
|
|
config ISO_PARTITION
|
|
bool "Enable ISO partition table"
|
|
depends on PARTITIONS
|
|
default y if DISTRO_DEFAULTS
|
|
default y if SPARC || MIPS || TEGRA
|
|
|
|
config SPL_ISO_PARTITION
|
|
bool "Enable ISO partition table for SPL"
|
|
depends on SPL && PARTITIONS
|
|
default y if ISO_PARTITION
|
|
|
|
config AMIGA_PARTITION
|
|
bool "Enable AMIGA partition table"
|
|
depends on PARTITIONS
|
|
help
|
|
Say Y here if you would like to use device under U-Boot which
|
|
were partitioned under AmigaOS.
|
|
|
|
config SPL_AMIGA_PARTITION
|
|
bool "Enable AMIGA partition table for SPL"
|
|
depends on SPL && PARTITIONS
|
|
default y if AMIGA_PARTITION
|
|
|
|
config EFI_PARTITION
|
|
bool "Enable EFI GPT partition table"
|
|
depends on PARTITIONS
|
|
default y if DISTRO_DEFAULTS
|
|
default y if TEGRA
|
|
help
|
|
Say Y here if you would like to use device under U-Boot which
|
|
were partitioned using EFI GPT.
|
|
common when EFI is the bootloader. Note 2TB partition limit;
|
|
see disk/part_efi.c
|
|
|
|
config EFI_PARTITION_ENTRIES_OFF
|
|
int "Offset (in bytes) of the EFI partition entries"
|
|
depends on EFI_PARTITION
|
|
default 0
|
|
help
|
|
Specify an earliest location (in bytes) where the partition
|
|
entries may be located. This is meant to allow "punching a
|
|
hole into a device" to create a gap for an SPL, its payload
|
|
and the U-Boot environment.
|
|
|
|
If unsure, leave at 0 (which will locate the partition
|
|
entries at the first possible LBA following the GPT header).
|
|
|
|
config SPL_EFI_PARTITION
|
|
bool "Enable EFI GPT partition table for SPL"
|
|
depends on SPL && PARTITIONS
|
|
default y if EFI_PARTITION
|
|
|
|
config PARTITION_UUIDS
|
|
bool "Enable support of UUID for partition"
|
|
depends on PARTITIONS
|
|
default y if DISTRO_DEFAULTS
|
|
default y if EFI_PARTITION
|
|
help
|
|
Activate the configuration of UUID for partition
|
|
|
|
config SPL_PARTITION_UUIDS
|
|
bool "Enable support of UUID for partition in SPL"
|
|
depends on SPL && PARTITIONS
|
|
default y if SPL_EFI_PARTITION
|
|
|
|
config PARTITION_TYPE_GUID
|
|
bool "Enable support of GUID for partition type"
|
|
depends on PARTITIONS
|
|
depends on EFI_PARTITION
|
|
help
|
|
Activate the configuration of GUID type
|
|
for EFI partition
|
|
|
|
endmenu
|