u-boot/disk/Kconfig
AKASHI Takahiro 3fb6fa7a71 disk: don't compile in partition support for spl/tpl if not really necessary
Under the current Kconfigs, disk/part.c will be compiled in even if none of
partition table types are enabled. This will lead to the size growth of SPL
/TPL code.

With this patch, CONFIG_PARTITIONS is selected only if, at least, one of
CONFIG_*_PARTITION is enabled.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
2022-04-23 22:05:34 +02:00

159 lines
4.5 KiB
Plaintext

menu "Partition Types"
config PARTITIONS
bool
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 SPL_PARTITIONS
bool
select SPL_SPRINTF
select SPL_STRTO
help
Enable this for base partition support in SPL. The required
partition table types shold be enabled separately. This add a
small amount of size to SPL, typically 500 bytes.
config TPL_PARTITIONS
bool
select TPL_SPRINTF
select TPL_STRTO
help
Enable this for base partition support in SPL. The required
partition table types shold be enabled separately. This add a
small amount of size to SPL, typically 500 bytes.
config MAC_PARTITION
bool "Enable Apple's MacOS partition table"
select PARTITIONS
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
default y if MAC_PARTITION
select SPL_PARTITIONS
config DOS_PARTITION
bool "Enable MS Dos partition table"
default y if DISTRO_DEFAULTS
default y if x86 || CMD_FAT || USB_STORAGE
select PARTITIONS
help
traditional on the Intel architecture, USB sticks, etc.
config SPL_DOS_PARTITION
bool "Enable MS Dos partition table for SPL"
depends on SPL
default n if ARCH_SUNXI
default y if DOS_PARTITION
select SPL_PARTITIONS
config ISO_PARTITION
bool "Enable ISO partition table"
default y if DISTRO_DEFAULTS
default y if MIPS || ARCH_TEGRA
select PARTITIONS
config SPL_ISO_PARTITION
bool "Enable ISO partition table for SPL"
depends on SPL
select SPL_PARTITIONS
config AMIGA_PARTITION
bool "Enable AMIGA partition table"
select 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
default y if AMIGA_PARTITION
select SPL_PARTITIONS
config EFI_PARTITION
bool "Enable EFI GPT partition table"
default y if DISTRO_DEFAULTS
default y if ARCH_TEGRA
select PARTITIONS
select LIB_UUID
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_NUMBERS
int "Number of the EFI partition entries"
depends on EFI_PARTITION
default 56 if ARCH_SUNXI
default 128
help
Specify the number of partition entries in the GPT. This is
meant to allow less than the standard specifies for devices
that might need to place their first-stage bootloader in the
middle of a regular GPT.
If unsure, leave at 128 entries, which is the standard
number.
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
default n if ARCH_SUNXI
default y if EFI_PARTITION
select SPL_PARTITIONS
config PARTITION_UUIDS
bool "Enable support of UUID for partition"
depends on PARTITIONS
default y if DISTRO_DEFAULTS
default y if EFI_PARTITION
select LIB_UUID
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 EFI_PARTITION
help
Activate the configuration of GUID type
for EFI partition
endmenu