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 PAYLOAD_FIT_SUPPORT
109 default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64 || ARCH_RISCV)
110 depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM
111 select FLATTENED_DEVICE_TREE
113 Select this option if your payload is of type FIT.
114 Enables FIT parser and devicetree patching. The FIT is non
115 self-extracting and needs to have a compatible compression format.
117 config COMPRESS_SECONDARY_PAYLOAD
118 bool "Use LZMA compression for secondary payloads"
121 In order to reduce the size secondary payloads take up in the
122 ROM chip they can be compressed using the LZMA algorithm.
124 menu "Secondary Payloads"
126 config COREINFO_SECONDARY_PAYLOAD
127 bool "Load coreinfo as a secondary payload"
131 coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB,
132 or any other payload that can load additional payloads.
134 config GRUB2_SECONDARY_PAYLOAD
135 bool "Load GRUB2 as a secondary payload"
137 depends on !PAYLOAD_GRUB2
138 select PAYLOAD_BUILD_GRUB2
140 GRUB2 can be loaded as a secondary payload under SeaBIOS or any
141 other payload that can load additional payloads.
143 config MEMTEST_SECONDARY_PAYLOAD
144 bool "Load Memtest86+ as a secondary payload"
148 Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
149 or any other payload that can load additional payloads.
151 config NVRAMCUI_SECONDARY_PAYLOAD
152 bool "Load nvramcui as a secondary payload"
154 depends on ARCH_X86 && HAVE_OPTION_TABLE
156 nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB,
157 or any other payload that can load additional payloads.
159 config SEABIOS_SECONDARY_PAYLOAD
160 bool "Load SeaBIOS as a secondary payload"
163 depends on !PAYLOAD_SEABIOS
164 depends on !PAYLOAD_SEAGRUB
165 select PAYLOAD_BUILD_SEABIOS
167 SeaBIOS can be loaded as a secondary payload under GRUB or any
168 other payload that can load additional payloads.
170 config TINT_SECONDARY_PAYLOAD
171 bool "Load tint as a secondary payload"
175 tint can be loaded as a secondary payload under SeaBIOS, GRUB,
176 or any other payload that can load additional payloads.
178 config COREDOOM_SECONDARY_PAYLOAD
179 bool "Load coreDOOM as a secondary payload"
183 coreDOOM can be loaded as a secondary payload under SeaBIOS, GRUB,
184 or any other payload that can load additional payloads. Requires a
185 linear framebuffer. If built as a secondary payload for SeaBIOS, the
186 generated VGA BIOS option rom is also required.
188 source "payloads/external/*/Kconfig.secondary"
190 endmenu # "Secondary Payloads"
192 endif # !PAYLOAD_NONE