1 ## SPDX-License-Identifier: GPL-2.0-only
6 bool "Don't add a payload"
9 Select this option if you want to create an "empty" coreboot
10 ROM image for a certain mainboard, i.e. a coreboot ROM image
11 which does not yet contain a payload.
13 For such an image to be useful, you have to use 'cbfstool'
14 to add a payload to the ROM image later.
18 prompt "Payload to add"
19 default PAYLOAD_SEABIOS if ARCH_X86
22 bool "An ELF executable payload"
24 Select this option if you have a payload image (an ELF file)
25 which coreboot should run as soon as the basic hardware
26 initialization is completed.
28 You will be able to specify the location and file name of the
33 depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM
34 select PAYLOAD_FIT_SUPPORT
36 Select this option if you have a payload image (a FIT file) which
37 coreboot should run as soon as the basic hardware initialization
40 You will be able to specify the location and file name of the
43 config PAYLOAD_FLAT_BINARY
45 select PAYLOAD_IS_FLAT_BINARY
47 Select this option if you have a flat binary without any
48 executable format surrounding it which coreboot should run
49 as soon as the basic hardware initialization is completed.
51 You will be able to specify the location and file name of the
54 source "payloads/external/*/Kconfig.name"
58 source "payloads/external/*/Kconfig"
61 string "Payload path and filename"
62 depends on PAYLOAD_ELF || PAYLOAD_FIT || PAYLOAD_FLAT_BINARY
63 default "payload.elf" if PAYLOAD_ELF
64 default "uImage" if PAYLOAD_FIT
66 The path and filename of the ELF executable file to use as payload.
69 prompt "Payload compression algorithm"
70 default COMPRESSED_PAYLOAD_LZMA
71 default COMPRESSED_PAYLOAD_NONE if PAYLOAD_LINUX || PAYLOAD_LINUXBOOT || PAYLOAD_FIT
72 depends on !PAYLOAD_LINUX && !PAYLOAD_LINUXBOOT && !PAYLOAD_FIT
74 Choose the compression algorithm for the chosen payloads.
75 You can choose between None, LZMA, or LZ4.
77 config COMPRESSED_PAYLOAD_NONE
78 bool "Use no compression for payloads"
80 Do not compress the payload.
82 config COMPRESSED_PAYLOAD_LZMA
83 bool "Use LZMA compression for payloads"
85 In order to reduce the size payloads take up in the ROM chip
86 coreboot can compress them using the LZMA algorithm.
88 config COMPRESSED_PAYLOAD_LZ4
89 bool "Use LZ4 compression for payloads"
91 In order to reduce the size payloads take up in the ROM chip
92 coreboot can compress them using the LZ4 algorithm.
95 config PAYLOAD_OPTIONS
96 string "Additional cbfstool options" if PAYLOAD_FLAT_BINARY
98 depends on PAYLOAD_IS_FLAT_BINARY
100 Additional cbfstool options for the payload
102 config PAYLOAD_IS_FLAT_BINARY
106 config COMPRESS_SECONDARY_PAYLOAD
107 bool "Use LZMA compression for secondary payloads"
110 In order to reduce the size secondary payloads take up in the
111 ROM chip they can be compressed using the LZMA algorithm.
113 menu "Secondary Payloads"
115 config COREINFO_SECONDARY_PAYLOAD
116 bool "Load coreinfo as a secondary payload"
120 coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB,
121 or any other payload that can load additional payloads.
123 config GRUB2_SECONDARY_PAYLOAD
124 bool "Load GRUB2 as a secondary payload"
126 depends on !PAYLOAD_GRUB2
127 select PAYLOAD_BUILD_GRUB2
129 GRUB2 can be loaded as a secondary payload under SeaBIOS or any
130 other payload that can load additional payloads.
132 config MEMTEST_SECONDARY_PAYLOAD
133 bool "Load Memtest86+ as a secondary payload"
137 Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
138 or any other payload that can load additional payloads.
140 config NVRAMCUI_SECONDARY_PAYLOAD
141 bool "Load nvramcui as a secondary payload"
143 depends on ARCH_X86 && HAVE_OPTION_TABLE
145 nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB,
146 or any other payload that can load additional payloads.
148 config SEABIOS_SECONDARY_PAYLOAD
149 bool "Load SeaBIOS as a secondary payload"
152 depends on !PAYLOAD_SEABIOS
153 depends on !PAYLOAD_SEAGRUB
154 select PAYLOAD_BUILD_SEABIOS
156 SeaBIOS can be loaded as a secondary payload under GRUB or any
157 other payload that can load additional payloads.
159 config TINT_SECONDARY_PAYLOAD
160 bool "Load tint as a secondary payload"
164 tint can be loaded as a secondary payload under SeaBIOS, GRUB,
165 or any other payload that can load additional payloads.
167 config COREDOOM_SECONDARY_PAYLOAD
168 bool "Load coreDOOM as a secondary payload"
172 coreDOOM can be loaded as a secondary payload under SeaBIOS, GRUB,
173 or any other payload that can load additional payloads. Requires a
174 linear framebuffer. If built as a secondary payload for SeaBIOS, the
175 generated VGA BIOS option rom is also required.
177 source "payloads/external/*/Kconfig.secondary"
179 endmenu # "Secondary Payloads"
181 endif # !PAYLOAD_NONE
183 config PAYLOAD_FIT_SUPPORT
186 default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64 || ARCH_RISCV)
187 depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM
188 select FLATTENED_DEVICE_TREE
190 Select this option if your payload is of type FIT.
191 Enables FIT parser and devicetree patching. The FIT is non
192 self-extracting and needs to have a compatible compression format.