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
22 config LINUXBOOT_ARM64
25 select PAYLOAD_FIT_SUPPORT
27 AARCH64 kernel and initramfs
29 config LINUXBOOT_RISCV
32 select PAYLOAD_FIT_SUPPORT
34 RISC-V kernel and initramfs
38 comment "Linux kernel"
40 config LINUXBOOT_COMPILE_KERNEL
44 if LINUXBOOT_COMPILE_KERNEL
45 comment "parse linux crosscompiler with: LINUXBOOT_CROSS_COMPILE"
48 config LINUXBOOT_KERNEL_PATH
49 string "Path to kernel"
51 depends on !LINUXBOOT_COMPILE_KERNEL
53 if LINUXBOOT_COMPILE_KERNEL
56 prompt "Kernel release"
57 default LINUXBOOT_KERNEL_STABLE
59 Choose the kernel release.
61 Select 'custom' if your want to define the kernel version.
62 For more information about the current 'mainline', 'stable' or 'longterm'
63 version, visit: https://www.kernel.org/
65 config LINUXBOOT_KERNEL_MAINLINE
68 Mainline kernel version
70 config LINUXBOOT_KERNEL_STABLE
75 config LINUXBOOT_KERNEL_LONGTERM
78 Longterm (LTS) kernel version
80 config LINUXBOOT_KERNEL_CUSTOM
87 config LINUXBOOT_KERNEL_CUSTOM_VERSION
88 string "kernel version"
90 depends on LINUXBOOT_KERNEL_CUSTOM
92 Choose the Linux kernel version number. (x.x.x)
93 Release candidate kernels (rc) are currently are not supported.
96 prompt "Kernel configuration"
97 default LINUXBOOT_KERNEL_ARCH_DEFAULT_CONFIG
99 config LINUXBOOT_KERNEL_ARCH_DEFAULT_CONFIG
100 bool "Default architecture configuration"
102 This option will use the default configuration for the
103 selected architecture.
105 config LINUXBOOT_KERNEL_CUSTOM_CONFIG
106 bool "Custom (def)config file"
110 config LINUXBOOT_KERNEL_CONFIGFILE
111 string "Config file path"
113 depends on LINUXBOOT_KERNEL_CUSTOM_CONFIG
115 Path to the kernel configuration file.
117 Note: this can be a defconfig file or a complete .config file.
120 prompt "Kernel binary format"
121 default LINUXBOOT_KERNEL_BZIMAGE if LINUXBOOT_X86 || LINUXBOOT_X86_64
122 default LINUXBOOT_KERNEL_UIMAGE if LINUXBOOT_ARM64 || LINUXBOOT_RISCV
124 config LINUXBOOT_KERNEL_BZIMAGE
126 depends on LINUXBOOT_X86 || LINUXBOOT_X86_64
128 config LINUXBOOT_KERNEL_UIMAGE
130 depends on LINUXBOOT_ARM64 || LINUXBOOT_RISCV
134 config LINUXBOOT_DTB_FILE
135 string "Compiled devicetree file"
136 depends on LINUXBOOT_ARM64 || LINUXBOOT_RISCV
139 endif #LINUXBOOT_COMPILE_KERNEL
141 config LINUX_COMMAND_LINE
142 string "Kernel command-line"
145 Add your own kernel command-line arguments.
148 default "payloads/external/LinuxBoot/linuxboot/bzImage" if LINUXBOOT_COMPILE_KERNEL && ( LINUXBOOT_X86 || LINUXBOOT_X86_64 )
149 default "payloads/external/LinuxBoot/linuxboot/uImage" if LINUXBOOT_COMPILE_KERNEL && (LINUXBOOT_ARM64 || LINUXBOOT_RISCV)
150 default LINUXBOOT_KERNEL_PATH if !LINUXBOOT_COMPILE_KERNEL
152 comment "Linux initramfs"
154 config LINUXBOOT_BUILD_INITRAMFS
155 bool "Build initramfs"
158 config LINUXBOOT_INITRAMFS_PATH
159 string "Path to initramfs"
160 depends on !LINUXBOOT_BUILD_INITRAMFS
162 if LINUXBOOT_BUILD_INITRAMFS
165 prompt "Payload Mode"
166 default LINUXBOOT_UROOT
168 config LINUXBOOT_UROOT
171 Enable u-root linuxboot mode.
172 See http://u-root.tk/ for more information.
179 prompt "U-root version"
180 default LINUXBOOT_UROOT_MAIN
182 config LINUXBOOT_UROOT_CUSTOM
185 choose a custom u-root branch
187 config LINUXBOOT_UROOT_MAIN
190 Latest u-root version
192 config LINUXBOOT_UROOT_V7_0_0
195 config LINUXBOOT_UROOT_V6_0_0
198 config LINUXBOOT_UROOT_V5_0_0
201 config LINUXBOOT_UROOT_V4_0_0
204 config LINUXBOOT_UROOT_V3_0_0
207 config LINUXBOOT_UROOT_V2_0_0
210 config LINUXBOOT_UROOT_V1_0_0
215 config LINUXBOOT_UROOT_CHECKOUT
216 string "U-root custom branch"
217 depends on LINUXBOOT_UROOT_CUSTOM
219 config LINUXBOOT_UROOT_VERSION
221 default LINUXBOOT_UROOT_CHECKOUT if LINUXBOOT_UROOT_CUSTOM
222 default "main" if LINUXBOOT_UROOT_MAIN
223 default "v7.0.0" if LINUXBOOT_UROOT_V7_0_0
224 default "v6.0.0" if LINUXBOOT_UROOT_V6_0_0
225 default "v5.0.0" if LINUXBOOT_UROOT_V5_0_0
226 default "v4.0.0" if LINUXBOOT_UROOT_V4_0_0
227 default "v3.0.0" if LINUXBOOT_UROOT_V3_0_0
228 default "v2.0.0" if LINUXBOOT_UROOT_V2_0_0
229 default "v1.0.0" if LINUXBOOT_UROOT_V1_0_0
232 prompt "Build format"
233 default LINUXBOOT_UROOT_BB
235 u-root build format (e.g. bb or source). (default "bb")
237 config LINUXBOOT_UROOT_BB
240 config LINUXBOOT_UROOT_SOURCE
241 bool "source (experimental)"
245 config LINUXBOOT_UROOT_FORMAT
247 default "bb" if LINUXBOOT_UROOT_BB
248 default "source" if LINUXBOOT_UROOT_SOURCE
250 config LINUXBOOT_UROOT_FILES
251 string "Add files to u-root base"
253 Additional files, directories, and binaries (with their ldd dependencies) to add to archive.
254 Can be speficified multiple times.
256 config LINUXBOOT_UROOT_INITCMD
260 Symlink target for /init.
261 Can be an absolute path or a u-root command name. (default "init")
263 config LINUXBOOT_UROOT_SHELL
264 string "default shell"
268 Can be an absolute path or a u-root command name. (default "elvish")
270 config LINUXBOOT_UROOT_COMMANDS
271 string "U-root commands"
272 default "boot coreboot-app"
274 List of additional modules to include,
275 separated by space. (default "boot coreboot-app")
277 if LINUXBOOT_UROOT_MAIN
280 prompt "Choose a specific bootloader"
281 default SPECIFIC_BOOTLOADER_SYSTEMBOOT
283 Specify a bootloader which starts after u-root init. It will be a symlink
284 to /bin/uinit. Default: systemboot
286 config SPECIFIC_BOOTLOADER_NONE
289 Leave u-root to decide which bootloaders to load first after init, if
290 any at all. Most likely u-root will start into the defined u-root shell.
292 config SPECIFIC_BOOTLOADER_SYSTEMBOOT
295 If systemboot has been used as a bootloader wrapper in the past,
296 enable this option. It will invoke -uinitcmd=systemboot and result in
297 a BIOS/UEFI BDS boot behavior.
299 config SPECIFIC_BOOTLOADER_BOOT2
302 config SPECIFIC_BOOTLOADER_PXEBOOT
305 config SPECIFIC_BOOTLOADER_STBOOT
308 config SPECIFIC_BOOTLOADER_CUSTOM
313 config SPECIFIC_BOOTLOADER_CUSTOM_CMD
314 string "Specify a custom program to start"
315 depends on SPECIFIC_BOOTLOADER_CUSTOM
317 This option will symlink the input to /bin/unit which will set it as the
318 first boot program after the u-root init. Program flags are not
321 config LINUXBOOT_UROOT_UINITCMD
323 default "" if SPECIFIC_BOOTLOADER_NONE
324 default "systemboot" if SPECIFIC_BOOTLOADER_SYSTEMBOOT
325 default "boot2" if SPECIFIC_BOOTLOADER_BOOT2
326 default "pxeboot" if SPECIFIC_BOOTLOADER_PXEBOOT
327 default "stboot" if SPECIFIC_BOOTLOADER_STBOOT
328 default SPECIFIC_BOOTLOADER_CUSTOM_CMD if SPECIFIC_BOOTLOADER_CUSTOM
330 endif #LINUXBOOT_UROOT_MAIN
332 endif #LINUXBOOT_UROOT
334 endif #LINUXBOOT_BUILD_INITRAMFS
337 prompt "Initramfs compression format"
338 default LINUXBOOT_INITRAMFS_COMPRESSION_XZ
340 config LINUXBOOT_INITRAMFS_COMPRESSION_NONE
343 config LINUXBOOT_INITRAMFS_COMPRESSION_XZ
344 bool "xz compression"
350 default "payloads/external/LinuxBoot/linuxboot/initramfs_u-root.cpio" if LINUXBOOT_UROOT
351 default LINUXBOOT_INITRAMFS_PATH if !LINUXBOOT_BUILD_INITRAMFS
353 config LINUXBOOT_INITRAMFS_SUFFIX
355 default "" if LINUXBOOT_INITRAMFS_COMPRESSION_NONE
356 default ".xz" if LINUXBOOT_INITRAMFS_COMPRESSION_XZ
358 endif #PAYLOAD_LINUXBOOT