mb/google/brya/var/omnigul: Modify NVMe and UFS Storage support
[coreboot.git] / payloads / external / LinuxBoot / Kconfig
blob4feb98b9dbca69303452ec3847fab532a2d8966f
1 ## SPDX-License-Identifier: GPL-2.0-only
3 if PAYLOAD_LINUXBOOT
5 choice
6         prompt "Architecture"
7         depends on LINUXBOOT_COMPILE_KERNEL || LINUXBOOT_BUILD_INITRAMFS
8         default LINUXBOOT_X86_64
10 config LINUXBOOT_X86_64
11         bool "x86_64"
12         depends on ARCH_X86
13         help
14           AMD64 kernel and initramfs
16 config LINUXBOOT_X86
17         bool "x86"
18         depends on ARCH_X86
19         help
20           X86 kernel and initramfs
22 config LINUXBOOT_ARM64
23         bool "arm64"
24         depends on ARCH_ARM64
25         select PAYLOAD_FIT_SUPPORT
26         help
27           AARCH64 kernel and initramfs
29 config LINUXBOOT_RISCV
30         bool "RISC-V"
31         depends on ARCH_RISCV
32         select PAYLOAD_FIT_SUPPORT
33         help
34           RISC-V kernel and initramfs
36 endchoice
38 comment "Linux kernel"
40 config LINUXBOOT_COMPILE_KERNEL
41         bool "Compile kernel"
42         default n
44 if LINUXBOOT_COMPILE_KERNEL
45 comment "parse linux crosscompiler with: LINUXBOOT_CROSS_COMPILE"
46 endif
48 config LINUXBOOT_KERNEL_PATH
49         string "Path to kernel"
50         default "Image"
51         depends on !LINUXBOOT_COMPILE_KERNEL
53 if LINUXBOOT_COMPILE_KERNEL
55 choice
56         prompt "Kernel release"
57         default LINUXBOOT_KERNEL_STABLE
58         help
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
66         bool "mainline"
67         help
68           Mainline kernel version
70 config LINUXBOOT_KERNEL_STABLE
71         bool "stable"
72         help
73           Stable kernel version
75 config LINUXBOOT_KERNEL_LONGTERM
76         bool "longterm"
77         help
78           Longterm (LTS) kernel version
80 config LINUXBOOT_KERNEL_CUSTOM
81         bool "custom"
82         help
83           Custom kernel version
85 endchoice
87 config LINUXBOOT_KERNEL_CUSTOM_VERSION
88         string "kernel version"
89         default ""
90         depends on LINUXBOOT_KERNEL_CUSTOM
91         help
92           Choose the Linux kernel version number. (x.x.x)
93           Release candidate kernels (rc) are currently are not supported.
95 choice
96         prompt "Kernel configuration"
97         default LINUXBOOT_KERNEL_ARCH_DEFAULT_CONFIG
99 config LINUXBOOT_KERNEL_ARCH_DEFAULT_CONFIG
100         bool "Default architecture configuration"
101         help
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"
108 endchoice
110 config LINUXBOOT_KERNEL_CONFIGFILE
111         string "Config file path"
112         default "defconfig"
113         depends on LINUXBOOT_KERNEL_CUSTOM_CONFIG
114         help
115           Path to the kernel configuration file.
117           Note: this can be a defconfig file or a complete .config file.
119 choice
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
125         bool "bzImage"
126         depends on LINUXBOOT_X86 || LINUXBOOT_X86_64
128 config LINUXBOOT_KERNEL_UIMAGE
129         bool "uImage"
130         depends on LINUXBOOT_ARM64 || LINUXBOOT_RISCV
132 endchoice
134 config LINUXBOOT_DTB_FILE
135         string "Compiled devicetree file"
136         depends on LINUXBOOT_ARM64 || LINUXBOOT_RISCV
137         default ""
139 endif #LINUXBOOT_COMPILE_KERNEL
141 config LINUX_COMMAND_LINE
142         string "Kernel command-line"
143         default ""
144         help
145           Add your own kernel command-line arguments.
147 config PAYLOAD_FILE
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"
156         default n
158 config LINUXBOOT_INITRAMFS_PATH
159         string "Path to initramfs"
160         depends on !LINUXBOOT_BUILD_INITRAMFS
162 if LINUXBOOT_BUILD_INITRAMFS
164 choice
165         prompt "Payload Mode"
166         default LINUXBOOT_UROOT
168 config LINUXBOOT_UROOT
169         bool "u-root"
170         help
171           Enable u-root linuxboot mode.
172           See http://u-root.tk/ for more information.
174 endchoice
176 if LINUXBOOT_UROOT
178 choice
179         prompt "U-root version"
180         default LINUXBOOT_UROOT_MAIN
182 config LINUXBOOT_UROOT_CUSTOM
183         bool "custom"
184         help
185           choose a custom u-root branch
187 config LINUXBOOT_UROOT_MAIN
188         bool "main"
189         help
190           Latest u-root version
192 config LINUXBOOT_UROOT_V7_0_0
193         bool "v7.0.0"
195 config LINUXBOOT_UROOT_V6_0_0
196         bool "v6.0.0"
198 config LINUXBOOT_UROOT_V5_0_0
199         bool "v5.0.0"
201 config LINUXBOOT_UROOT_V4_0_0
202         bool "v4.0.0"
204 config LINUXBOOT_UROOT_V3_0_0
205         bool "v3.0.0"
207 config LINUXBOOT_UROOT_V2_0_0
208         bool "v2.0.0"
210 config LINUXBOOT_UROOT_V1_0_0
211         bool "v1.0.0"
213 endchoice
215 config LINUXBOOT_UROOT_CHECKOUT
216         string "U-root custom branch"
217         depends on LINUXBOOT_UROOT_CUSTOM
219 config LINUXBOOT_UROOT_VERSION
220         string
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
231 choice
232         prompt "Build format"
233         default LINUXBOOT_UROOT_BB
234         help
235           u-root build format (e.g. bb or source). (default "bb")
237 config LINUXBOOT_UROOT_BB
238         bool "bb"
240 config LINUXBOOT_UROOT_SOURCE
241         bool "source (experimental)"
243 endchoice
245 config LINUXBOOT_UROOT_FORMAT
246         string
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"
252         help
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
257         string "Init target"
258         default "init"
259         help
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"
265         default "elvish"
266         help
267           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"
273         help
274           List of additional modules to include,
275           separated by space. (default "boot coreboot-app")
277 if LINUXBOOT_UROOT_MAIN
279 choice
280         prompt "Choose a specific bootloader"
281         default SPECIFIC_BOOTLOADER_SYSTEMBOOT
282         help
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
287         bool "none"
288         help
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
293         bool "systemboot"
294         help
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
300         bool "boot2"
302 config SPECIFIC_BOOTLOADER_PXEBOOT
303         bool "pxeboot"
305 config SPECIFIC_BOOTLOADER_STBOOT
306         bool "stboot"
308 config SPECIFIC_BOOTLOADER_CUSTOM
309         bool "custom"
311 endchoice
313 config SPECIFIC_BOOTLOADER_CUSTOM_CMD
314         string "Specify a custom program to start"
315         depends on SPECIFIC_BOOTLOADER_CUSTOM
316         help
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
319           symlinkable.
321 config LINUXBOOT_UROOT_UINITCMD
322         string
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
336 choice
337         prompt "Initramfs compression format"
338         default LINUXBOOT_INITRAMFS_COMPRESSION_XZ
340 config LINUXBOOT_INITRAMFS_COMPRESSION_NONE
341         bool "none"
343 config LINUXBOOT_INITRAMFS_COMPRESSION_XZ
344         bool "xz compression"
346 endchoice
348 config LINUX_INITRD
349         string
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
354         string
355         default "" if LINUXBOOT_INITRAMFS_COMPRESSION_NONE
356         default ".xz" if LINUXBOOT_INITRAMFS_COMPRESSION_XZ
358 endif #PAYLOAD_LINUXBOOT