1 ## SPDX-License-Identifier: GPL-2.0-only
7 depends on LINUXBOOT_COMPILE_KERNEL || LINUXBOOT_BUILD_INITRAMFS
8 default LINUXBOOT_X86_64
10 config LINUXBOOT_X86_64
14 AMD64 kernel and initramfs
20 X86 kernel and initramfs
25 select PAYLOAD_FIT_SUPPORT
27 arm kernel and initramfs
29 config LINUXBOOT_ARM64
32 select PAYLOAD_FIT_SUPPORT
34 AARCH64 kernel and initramfs
36 config LINUXBOOT_RISCV_RV32
38 depends on ARCH_RISCV_RV32
39 select PAYLOAD_FIT_SUPPORT
41 RISC-V kernel and initramfs
43 config LINUXBOOT_RISCV_RV64
45 depends on ARCH_RISCV_RV64
46 select PAYLOAD_FIT_SUPPORT
48 RISC-V kernel and initramfs
52 comment "Linux kernel"
54 config LINUXBOOT_COMPILE_KERNEL
58 config LINUXBOOT_KERNEL_PATH
59 string "Path to kernel"
61 depends on !LINUXBOOT_COMPILE_KERNEL
63 The kernel path is either and absolute path or relative to the
66 if LINUXBOOT_COMPILE_KERNEL
68 config LINUXBOOT_CROSS_COMPILE
70 default n if LINUXBOOT_X86_64 # currently coreboots cross toolchain cannot build Linux
73 Enable this option if you want to compile Linux using a cross compiler.
74 The coreboot toolchain also counts as a cross toolchain.
76 config LINUXBOOT_CROSS_COMPILE_PATH
77 string "cross compiler"
78 depends on LINUXBOOT_CROSS_COMPILE
79 default "" # e.g. "aarch64-linux-gnu-"
81 Choose a custom cross compiler toolchain to use.
82 The cross toolchain of coreboot will be used if this option is left empty.
83 If not left empty, it should contain a path to a cross toolchain that is
84 capable of compiling Linux. It can be useful if you don't want to use the
85 coreboot toolchain or experience problems using it for building Linux.
87 config LINUXBOOT_KERNEL_VERSION
88 string "kernel version"
91 Choose the Linux kernel version number. (x.x.x)
92 Release candidate kernels (rc) are currently are not supported.
94 config LINUXBOOT_KERNEL_CONFIGFILE
95 string "Config file path"
96 default "i386/defconfig" if LINUXBOOT_X86
97 default "x86_64/defconfig" if LINUXBOOT_X86_64
98 default "arm64/defconfig" if LINUXBOOT_ARM64
99 default "riscv/defconfig-32" if LINUXBOOT_RISCV_RV32
100 default "riscv/defconfig-64" if LINUXBOOT_RISCV_RV64
102 Path to the kernel configuration file.
104 Note: this can be a defconfig file or a complete .config file.
107 prompt "Kernel binary format"
108 default LINUXBOOT_KERNEL_BZIMAGE if LINUXBOOT_X86 || LINUXBOOT_X86_64
109 default LINUXBOOT_KERNEL_UIMAGE if LINUXBOOT_ARM64 || LINUXBOOT_RISCV_RV32 || LINUXBOOT_RISCV_RV64
111 config LINUXBOOT_KERNEL_BZIMAGE
113 depends on LINUXBOOT_X86 || LINUXBOOT_X86_64
115 config LINUXBOOT_KERNEL_UIMAGE
117 depends on LINUXBOOT_ARM64 || LINUXBOOT_RISCV_RV32 || LINUXBOOT_RISCV_RV64
121 config LINUXBOOT_DTS_FILE
122 string "Compiled devicetree file"
123 depends on LINUXBOOT_ARM64 || LINUXBOOT_RISCV_RV32 || LINUXBOOT_RISCV_RV64
126 endif #LINUXBOOT_COMPILE_KERNEL
128 config LINUX_COMMAND_LINE
129 string "Kernel command-line"
132 Add your own kernel command-line arguments.
135 default "payloads/external/LinuxBoot/build/Image"
137 comment "Linux initramfs"
139 config LINUXBOOT_BUILD_INITRAMFS
140 bool "Build initramfs"
143 config LINUXBOOT_INITRAMFS_PATH
144 string "Path to initramfs"
145 default "payloads/external/LinuxBoot/build/initramfs" if LINUXBOOT_UROOT
147 if LINUXBOOT_BUILD_INITRAMFS
151 default LINUXBOOT_UROOT
153 config LINUXBOOT_UROOT
155 depends on !LINUXBOOT_RISCV_RV32 # not supported by u-root
157 Enable u-root linuxboot mode.
158 See http://u-root.tk/ for more information.
165 prompt "U-root version"
166 default LINUXBOOT_UROOT_MAIN
168 config LINUXBOOT_UROOT_CUSTOM
171 choose a custom u-root branch
173 config LINUXBOOT_UROOT_MAIN
176 Latest u-root version
178 config LINUXBOOT_UROOT_V7_0_0
181 config LINUXBOOT_UROOT_V6_0_0
184 config LINUXBOOT_UROOT_V5_0_0
187 config LINUXBOOT_UROOT_V4_0_0
190 config LINUXBOOT_UROOT_V3_0_0
193 config LINUXBOOT_UROOT_V2_0_0
196 config LINUXBOOT_UROOT_V1_0_0
201 config LINUXBOOT_UROOT_CHECKOUT
202 string "U-root custom branch"
203 depends on LINUXBOOT_UROOT_CUSTOM
205 config LINUXBOOT_UROOT_VERSION
207 default LINUXBOOT_UROOT_CHECKOUT if LINUXBOOT_UROOT_CUSTOM
208 default "main" if LINUXBOOT_UROOT_MAIN
209 default "v7.0.0" if LINUXBOOT_UROOT_V7_0_0
210 default "v6.0.0" if LINUXBOOT_UROOT_V6_0_0
211 default "v5.0.0" if LINUXBOOT_UROOT_V5_0_0
212 default "v4.0.0" if LINUXBOOT_UROOT_V4_0_0
213 default "v3.0.0" if LINUXBOOT_UROOT_V3_0_0
214 default "v2.0.0" if LINUXBOOT_UROOT_V2_0_0
215 default "v1.0.0" if LINUXBOOT_UROOT_V1_0_0
218 prompt "Build format"
219 default LINUXBOOT_UROOT_BB
221 u-root build format (e.g. bb or source). (default "bb")
223 config LINUXBOOT_UROOT_BB
226 config LINUXBOOT_UROOT_SOURCE
227 bool "source (experimental)"
231 config LINUXBOOT_UROOT_FORMAT
233 default "bb" if LINUXBOOT_UROOT_BB
234 default "source" if LINUXBOOT_UROOT_SOURCE
236 config LINUXBOOT_UROOT_FILES
237 string "Add files to u-root base"
239 Additional files, directories, and binaries (with their ldd dependencies) to add to archive.
240 Can be speficified multiple times.
242 config LINUXBOOT_UROOT_INITCMD
246 Symlink target for /init.
247 Can be an absolute path or a u-root command name. (default "init")
249 config LINUXBOOT_UROOT_SHELL
250 string "default shell"
254 Can be an absolute path or a u-root command name. (default "elvish")
256 config LINUXBOOT_UROOT_COMMANDS
257 string "U-root commands"
258 default "boot coreboot-app"
260 List of additional modules to include,
261 separated by space. (default "boot coreboot-app")
263 if LINUXBOOT_UROOT_MAIN
266 prompt "Choose a specific bootloader"
267 default SPECIFIC_BOOTLOADER_BOOT
269 Specify a bootloader which starts after u-root init. It will be a symlink
270 to /bin/uinit. Default: boot
272 config SPECIFIC_BOOTLOADER_NONE
275 Leave u-root to decide which bootloaders to load first after init, if
276 any at all. Most likely u-root will start into the defined u-root shell.
278 config SPECIFIC_BOOTLOADER_BOOT
281 config SPECIFIC_BOOTLOADER_PXEBOOT
284 config SPECIFIC_BOOTLOADER_FITBOOT
287 config SPECIFIC_BOOTLOADER_CUSTOM
292 config SPECIFIC_BOOTLOADER_CUSTOM_CMD
293 string "Specify a custom program to start"
294 depends on SPECIFIC_BOOTLOADER_CUSTOM
296 This option will symlink the input to /bin/unit which will set it as the
297 first boot program after the u-root init. Program flags are not
300 config LINUXBOOT_UROOT_UINITCMD
302 default "" if SPECIFIC_BOOTLOADER_NONE
303 default "boot" if SPECIFIC_BOOTLOADER_BOOT
304 default "pxeboot" if SPECIFIC_BOOTLOADER_PXEBOOT
305 default "fitboot" if SPECIFIC_BOOTLOADER_FITBOOT
306 default SPECIFIC_BOOTLOADER_CUSTOM_CMD if SPECIFIC_BOOTLOADER_CUSTOM
308 endif #LINUXBOOT_UROOT_MAIN
310 endif #LINUXBOOT_UROOT
312 endif #LINUXBOOT_BUILD_INITRAMFS
315 prompt "Initramfs compression format"
316 default LINUXBOOT_INITRAMFS_COMPRESSION_XZ
318 config LINUXBOOT_INITRAMFS_COMPRESSION_NONE
321 config LINUXBOOT_INITRAMFS_COMPRESSION_XZ
322 bool "xz compression"
323 depends on LINUXBOOT_BUILD_INITRAMFS
327 config LINUXBOOT_INITRAMFS_SUFFIX
329 default "" if LINUXBOOT_INITRAMFS_COMPRESSION_NONE
330 default ".xz" if LINUXBOOT_INITRAMFS_COMPRESSION_XZ
332 endif #PAYLOAD_LINUXBOOT