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 source "payloads/external/*/Kconfig.name"
47 source "payloads/external/*/Kconfig"
50 string "Payload path and filename"
51 depends on PAYLOAD_ELF || PAYLOAD_FIT
52 default "payload.elf" if PAYLOAD_ELF
53 default "uImage" if PAYLOAD_FIT
55 The path and filename of the ELF executable file to use as payload.
58 prompt "Payload compression algorithm"
59 default COMPRESSED_PAYLOAD_LZMA
60 default COMPRESSED_PAYLOAD_NONE if PAYLOAD_LINUX || PAYLOAD_LINUXBOOT || PAYLOAD_FIT
61 depends on !PAYLOAD_LINUX && !PAYLOAD_LINUXBOOT && !PAYLOAD_FIT
63 Choose the compression algorithm for the chosen payloads.
64 You can choose between None, LZMA, or LZ4.
66 config COMPRESSED_PAYLOAD_NONE
67 bool "Use no compression for payloads"
69 Do not compress the payload.
71 config COMPRESSED_PAYLOAD_LZMA
72 bool "Use LZMA compression for payloads"
74 In order to reduce the size payloads take up in the ROM chip
75 coreboot can compress them using the LZMA algorithm.
77 config COMPRESSED_PAYLOAD_LZ4
78 bool "Use LZ4 compression for payloads"
80 In order to reduce the size payloads take up in the ROM chip
81 coreboot can compress them using the LZ4 algorithm.
84 config PAYLOAD_OPTIONS
85 string "Additional cbfstool options"
88 Additional cbfstool options for the payload
90 config PAYLOAD_IS_FLAT_BINARY
91 bool "Payload is a flat binary"
94 Add the payload to cbfs as a flat binary type instead of as an
97 config PAYLOAD_FIT_SUPPORT
100 default y if PAYLOAD_LINUX && (ARCH_ARM || ARCH_ARM64 || ARCH_RISCV)
101 depends on ARCH_ARM64 || ARCH_RISCV || ARCH_ARM
102 select FLATTENED_DEVICE_TREE
104 Select this option if your payload is of type FIT.
105 Enables FIT parser and devicetree patching. The FIT is non
106 self-extracting and needs to have a compatible compression format.
108 config COMPRESS_SECONDARY_PAYLOAD
109 bool "Use LZMA compression for secondary payloads"
112 In order to reduce the size secondary payloads take up in the
113 ROM chip they can be compressed using the LZMA algorithm.
115 menu "Secondary Payloads"
117 config COREINFO_SECONDARY_PAYLOAD
118 bool "Load coreinfo as a secondary payload"
122 coreinfo can be loaded as a secondary payload under SeaBIOS, GRUB,
123 or any other payload that can load additional payloads.
125 config GRUB2_SECONDARY_PAYLOAD
126 bool "Load GRUB2 as a secondary payload"
128 depends on !PAYLOAD_GRUB2
129 select PAYLOAD_BUILD_GRUB2
131 GRUB2 can be loaded as a secondary payload under SeaBIOS or any
132 other payload that can load additional payloads.
134 config MEMTEST_SECONDARY_PAYLOAD
135 bool "Load Memtest86+ as a secondary payload"
139 Memtest86+ can be loaded as a secondary payload under SeaBIOS, GRUB,
140 or any other payload that can load additional payloads.
142 config NVRAMCUI_SECONDARY_PAYLOAD
143 bool "Load nvramcui as a secondary payload"
145 depends on ARCH_X86 && HAVE_OPTION_TABLE
147 nvramcui can be loaded as a secondary payload under SeaBIOS, GRUB,
148 or any other payload that can load additional payloads.
150 config SEABIOS_SECONDARY_PAYLOAD
151 bool "Load SeaBIOS as a secondary payload"
154 depends on !PAYLOAD_SEABIOS
155 depends on !PAYLOAD_SEAGRUB
156 select PAYLOAD_BUILD_SEABIOS
158 SeaBIOS can be loaded as a secondary payload under GRUB or any
159 other payload that can load additional payloads.
161 config TINT_SECONDARY_PAYLOAD
162 bool "Load tint as a secondary payload"
166 tint can be loaded as a secondary payload under SeaBIOS, GRUB,
167 or any other payload that can load additional payloads.
169 config COREDOOM_SECONDARY_PAYLOAD
170 bool "Load coreDOOM as a secondary payload"
174 coreDOOM can be loaded as a secondary payload under SeaBIOS, GRUB,
175 or any other payload that can load additional payloads. Requires a
176 linear framebuffer. If built as a secondary payload for SeaBIOS, the
177 generated VGA BIOS option rom is also required.
179 source "payloads/external/*/Kconfig.secondary"
181 endmenu # "Secondary Payloads"
183 endif # !PAYLOAD_NONE