| ## SPDX-License-Identifier: GPL-2.0-only |
| |
| menu "Payload" |
| |
| config PAYLOAD_NONE |
| bool "Don't add a payload" |
| default y if !ARCH_X86 |
| help |
| Select this option if you want to create an "empty" coreboot |
| ROM image for a certain mainboard, i.e. a coreboot ROM image |
| which does not yet contain a payload. |
| |
| For such an image to be useful, you have to use 'cbfstool' |
| to add a payload to the ROM image later. |
| |
| if !PAYLOAD_NONE |
| choice |
| prompt "Payload to add" |
| default PAYLOAD_SEABIOS if ARCH_X86 |
| |
| config PAYLOAD_ELF |
| bool "An ELF executable payload" |
| help |
| Select this option if you have a payload image (an ELF file) |
| which coreboot should run as soon as the basic hardware |
| initialization is completed. |
| |
| You will be able to specify the location and file name of the |
| payload image later. |
| |
| config PAYLOAD_FIT |
| bool "A FIT payload" |
| depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM |
| select PAYLOAD_FIT_SUPPORT |
| help |
| Select this option if you have a payload image (a FIT file) which |
| coreboot should run as soon as the basic hardware initialization |
| is completed. |
| |
| You will be able to specify the location and file name of the |
| payload image later. |
| |
| config PAYLOAD_FLAT_BINARY |
| bool "A flat binary" |
| select PAYLOAD_IS_FLAT_BINARY |
| help |
| Select this option if you have a flat binary without any |
| executable format surrounding it which coreboot should run |
| as soon as the basic hardware initialization is completed. |
| |
| You will be able to specify the location and file name of the |
| payload image later. |
| |
| source "payloads/external/*/Kconfig.name" |
| |
| endchoice |
| |
| source "payloads/external/*/Kconfig" |
| |
| config PAYLOAD_FILE |
| string "Payload path and filename" |
| depends on PAYLOAD_ELF || PAYLOAD_FIT |
| default "payload.elf" if PAYLOAD_ELF |
| default "uImage" if PAYLOAD_FIT |
| help |
| The path and filename of the ELF executable file to use as payload. |
| |
| choice |
| prompt "Payload compression algorithm" |
| default COMPRESSED_PAYLOAD_LZMA |
| default COMPRESSED_PAYLOAD_NONE if PAYLOAD_LINUX || PAYLOAD_LINUXBOOT || PAYLOAD_FIT |
| depends on !PAYLOAD_LINUX && !PAYLOAD_LINUXBOOT && !PAYLOAD_FIT |
| help |
| Choose the compression algorithm for the chosen payloads. |
| You can choose between None, LZMA, or LZ4. |
| |
| config COMPRESSED_PAYLOAD_NONE |
| bool "Use no compression for payloads" |
| help |
| Do not compress the payload. |
| |
| config COMPRESSED_PAYLOAD_LZMA |
| bool "Use LZMA compression for payloads" |
| help |
| In order to reduce the size payloads take up in the ROM chip |
| coreboot can compress them using the LZMA algorithm. |
| |
| config COMPRESSED_PAYLOAD_LZ4 |
| bool "Use LZ4 compression for payloads" |
| help |
| In order to reduce the size payloads take up in the ROM chip |
| coreboot can compress them using the LZ4 algorithm. |
| endchoice |
| |
| config PAYLOAD_OPTIONS |
| string "Additional cbfstool options" if PAYLOAD_FLAT_BINARY |
| default "" |
| depends on PAYLOAD_IS_FLAT_BINARY |
| help |
| Additional cbfstool options for the payload |
| |
| config PAYLOAD_IS_FLAT_BINARY |
| bool |
| default n |
| |
| config PAYLOAD_FIT_SUPPORT |
| bool "FIT support" |
| default n |
| default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64 || ARCH_RISCV) |
| depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM |
| select FLATTENED_DEVICE_TREE |
| help |
| Select this option if your payload is of type FIT. |
| Enables FIT parser and devicetree patching. The FIT is non |
| self-extracting and needs to have a compatible compression format. |
| |
| config COMPRESS_SECONDARY_PAYLOAD |
| bool "Use LZMA compression for secondary payloads" |
| default y |
| help |
| In order to reduce the size secondary payloads take up in the |
| ROM chip they can be compressed using the LZMA algorithm. |
| |
| menu "Secondary Payloads" |
| |
| config COREINFO_SECONDARY_PAYLOAD |
| bool "Load coreinfo as a secondary payload" |
| default n |
| depends on ARCH_X86 |
| help |
| coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB, |
| or any other payload that can load additional payloads. |
| |
| config GRUB2_SECONDARY_PAYLOAD |
| bool "Load GRUB2 as a secondary payload" |
| default n |
| depends on !PAYLOAD_GRUB2 |
| select PAYLOAD_BUILD_GRUB2 |
| help |
| GRUB2 can be loaded as a secondary payload under SeaBIOS or any |
| other payload that can load additional payloads. |
| |
| config MEMTEST_SECONDARY_PAYLOAD |
| bool "Load Memtest86+ as a secondary payload" |
| default n |
| depends on ARCH_X86 |
| help |
| Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB, |
| or any other payload that can load additional payloads. |
| |
| config NVRAMCUI_SECONDARY_PAYLOAD |
| bool "Load nvramcui as a secondary payload" |
| default n |
| depends on ARCH_X86 && HAVE_OPTION_TABLE |
| help |
| nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB, |
| or any other payload that can load additional payloads. |
| |
| config SEABIOS_SECONDARY_PAYLOAD |
| bool "Load SeaBIOS as a secondary payload" |
| default n |
| depends on ARCH_X86 |
| depends on !PAYLOAD_SEABIOS |
| depends on !PAYLOAD_SEAGRUB |
| select PAYLOAD_BUILD_SEABIOS |
| help |
| SeaBIOS can be loaded as a secondary payload under GRUB or any |
| other payload that can load additional payloads. |
| |
| config TINT_SECONDARY_PAYLOAD |
| bool "Load tint as a secondary payload" |
| default n |
| depends on ARCH_X86 |
| help |
| tint can be loaded as a secondary payload under SeaBIOS, GRUB, |
| or any other payload that can load additional payloads. |
| |
| config COREDOOM_SECONDARY_PAYLOAD |
| bool "Load coreDOOM as a secondary payload" |
| default n |
| depends on ARCH_X86 |
| help |
| coreDOOM can be loaded as a secondary payload under SeaBIOS, GRUB, |
| or any other payload that can load additional payloads. Requires a |
| linear framebuffer. If built as a secondary payload for SeaBIOS, the |
| generated VGA BIOS option rom is also required. |
| |
| source "payloads/external/*/Kconfig.secondary" |
| |
| endmenu # "Secondary Payloads" |
| |
| endif # !PAYLOAD_NONE |
| |
| endmenu |