1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332
|
## SPDX-License-Identifier: GPL-2.0-only
if PAYLOAD_LINUXBOOT
choice
prompt "Architecture"
depends on LINUXBOOT_COMPILE_KERNEL || LINUXBOOT_BUILD_INITRAMFS
default LINUXBOOT_X86_64
config LINUXBOOT_X86_64
bool "x86_64"
depends on ARCH_X86
help
AMD64 kernel and initramfs
config LINUXBOOT_X86
bool "x86"
depends on ARCH_X86
help
X86 kernel and initramfs
config LINUXBOOT_ARM
bool "arm64"
depends on ARCH_ARM
select PAYLOAD_FIT_SUPPORT
help
arm kernel and initramfs
config LINUXBOOT_ARM64
bool "arm64"
depends on ARCH_ARM64
select PAYLOAD_FIT_SUPPORT
help
AARCH64 kernel and initramfs
config LINUXBOOT_RISCV_RV32
bool "RISC-V"
depends on ARCH_RISCV_RV32
select PAYLOAD_FIT_SUPPORT
help
RISC-V kernel and initramfs
config LINUXBOOT_RISCV_RV64
bool "RISC-V"
depends on ARCH_RISCV_RV64
select PAYLOAD_FIT_SUPPORT
help
RISC-V kernel and initramfs
endchoice
comment "Linux kernel"
config LINUXBOOT_COMPILE_KERNEL
bool "Compile kernel"
default n
config LINUXBOOT_KERNEL_PATH
string "Path to kernel"
default ""
depends on !LINUXBOOT_COMPILE_KERNEL
help
The kernel path is either and absolute path or relative to the
LinuxBoot directory
if LINUXBOOT_COMPILE_KERNEL
config LINUXBOOT_CROSS_COMPILE
bool "cross compiler"
default n if LINUXBOOT_X86_64 # currently coreboots cross toolchain cannot build Linux
default y
help
Enable this option if you want to compile Linux using a cross compiler.
The coreboot toolchain also counts as a cross toolchain.
config LINUXBOOT_CROSS_COMPILE_PATH
string "cross compiler"
depends on LINUXBOOT_CROSS_COMPILE
default "" # e.g. "aarch64-linux-gnu-"
help
Choose a custom cross compiler toolchain to use.
The cross toolchain of coreboot will be used if this option is left empty.
If not left empty, it should contain a path to a cross toolchain that is
capable of compiling Linux. It can be useful if you don't want to use the
coreboot toolchain or experience problems using it for building Linux.
config LINUXBOOT_KERNEL_VERSION
string "kernel version"
default "6.3"
help
Choose the Linux kernel version number. (x.x.x)
Release candidate kernels (rc) are currently are not supported.
config LINUXBOOT_KERNEL_CONFIGFILE
string "Config file path"
default "i386/defconfig" if LINUXBOOT_X86
default "x86_64/defconfig" if LINUXBOOT_X86_64
default "arm64/defconfig" if LINUXBOOT_ARM64
default "riscv/defconfig-32" if LINUXBOOT_RISCV_RV32
default "riscv/defconfig-64" if LINUXBOOT_RISCV_RV64
help
Path to the kernel configuration file.
Note: this can be a defconfig file or a complete .config file.
choice
prompt "Kernel binary format"
default LINUXBOOT_KERNEL_BZIMAGE if LINUXBOOT_X86 || LINUXBOOT_X86_64
default LINUXBOOT_KERNEL_UIMAGE if LINUXBOOT_ARM64 || LINUXBOOT_RISCV_RV32 || LINUXBOOT_RISCV_RV64
config LINUXBOOT_KERNEL_BZIMAGE
bool "bzImage"
depends on LINUXBOOT_X86 || LINUXBOOT_X86_64
config LINUXBOOT_KERNEL_UIMAGE
bool "uImage"
depends on LINUXBOOT_ARM64 || LINUXBOOT_RISCV_RV32 || LINUXBOOT_RISCV_RV64
endchoice
config LINUXBOOT_DTS_FILE
string "Compiled devicetree file"
depends on LINUXBOOT_ARM64 || LINUXBOOT_RISCV_RV32 || LINUXBOOT_RISCV_RV64
default "empty.dts"
endif #LINUXBOOT_COMPILE_KERNEL
config LINUX_COMMAND_LINE
string "Kernel command-line"
default ""
help
Add your own kernel command-line arguments.
config PAYLOAD_FILE
default "payloads/external/LinuxBoot/build/Image"
comment "Linux initramfs"
config LINUXBOOT_BUILD_INITRAMFS
bool "Build initramfs"
default n
config LINUXBOOT_INITRAMFS_PATH
string "Path to initramfs"
default "payloads/external/LinuxBoot/build/initramfs" if LINUXBOOT_UROOT
if LINUXBOOT_BUILD_INITRAMFS
choice
prompt "Initramfs"
default LINUXBOOT_UROOT
config LINUXBOOT_UROOT
bool "u-root"
depends on !LINUXBOOT_RISCV_RV32 # not supported by u-root
help
Enable u-root linuxboot mode.
See http://u-root.tk/ for more information.
endchoice
if LINUXBOOT_UROOT
choice
prompt "U-root version"
default LINUXBOOT_UROOT_MAIN
config LINUXBOOT_UROOT_CUSTOM
bool "custom"
help
choose a custom u-root branch
config LINUXBOOT_UROOT_MAIN
bool "main"
help
Latest u-root version
config LINUXBOOT_UROOT_V7_0_0
bool "v7.0.0"
config LINUXBOOT_UROOT_V6_0_0
bool "v6.0.0"
config LINUXBOOT_UROOT_V5_0_0
bool "v5.0.0"
config LINUXBOOT_UROOT_V4_0_0
bool "v4.0.0"
config LINUXBOOT_UROOT_V3_0_0
bool "v3.0.0"
config LINUXBOOT_UROOT_V2_0_0
bool "v2.0.0"
config LINUXBOOT_UROOT_V1_0_0
bool "v1.0.0"
endchoice
config LINUXBOOT_UROOT_CHECKOUT
string "U-root custom branch"
depends on LINUXBOOT_UROOT_CUSTOM
config LINUXBOOT_UROOT_VERSION
string
default LINUXBOOT_UROOT_CHECKOUT if LINUXBOOT_UROOT_CUSTOM
default "main" if LINUXBOOT_UROOT_MAIN
default "v7.0.0" if LINUXBOOT_UROOT_V7_0_0
default "v6.0.0" if LINUXBOOT_UROOT_V6_0_0
default "v5.0.0" if LINUXBOOT_UROOT_V5_0_0
default "v4.0.0" if LINUXBOOT_UROOT_V4_0_0
default "v3.0.0" if LINUXBOOT_UROOT_V3_0_0
default "v2.0.0" if LINUXBOOT_UROOT_V2_0_0
default "v1.0.0" if LINUXBOOT_UROOT_V1_0_0
choice
prompt "Build format"
default LINUXBOOT_UROOT_BB
help
u-root build format (e.g. bb or source). (default "bb")
config LINUXBOOT_UROOT_BB
bool "bb"
config LINUXBOOT_UROOT_SOURCE
bool "source (experimental)"
endchoice
config LINUXBOOT_UROOT_FORMAT
string
default "bb" if LINUXBOOT_UROOT_BB
default "source" if LINUXBOOT_UROOT_SOURCE
config LINUXBOOT_UROOT_FILES
string "Add files to u-root base"
help
Additional files, directories, and binaries (with their ldd dependencies) to add to archive.
Can be speficified multiple times.
config LINUXBOOT_UROOT_INITCMD
string "Init target"
default "init"
help
Symlink target for /init.
Can be an absolute path or a u-root command name. (default "init")
config LINUXBOOT_UROOT_SHELL
string "default shell"
default "gosh"
help
Default shell.
Can be an absolute path or a u-root command name. (default "elvish")
config LINUXBOOT_UROOT_COMMANDS
string "U-root commands"
default "boot coreboot-app"
help
List of additional modules to include,
separated by space. (default "boot coreboot-app")
if LINUXBOOT_UROOT_MAIN
choice
prompt "Choose a specific bootloader"
default SPECIFIC_BOOTLOADER_BOOT
help
Specify a bootloader which starts after u-root init. It will be a symlink
to /bin/uinit. Default: boot
config SPECIFIC_BOOTLOADER_NONE
bool "none"
help
Leave u-root to decide which bootloaders to load first after init, if
any at all. Most likely u-root will start into the defined u-root shell.
config SPECIFIC_BOOTLOADER_BOOT
bool "boot"
config SPECIFIC_BOOTLOADER_PXEBOOT
bool "pxeboot"
config SPECIFIC_BOOTLOADER_FITBOOT
bool "fitboot"
config SPECIFIC_BOOTLOADER_CUSTOM
bool "custom"
endchoice
config SPECIFIC_BOOTLOADER_CUSTOM_CMD
string "Specify a custom program to start"
depends on SPECIFIC_BOOTLOADER_CUSTOM
help
This option will symlink the input to /bin/unit which will set it as the
first boot program after the u-root init. Program flags are not
symlinkable.
config LINUXBOOT_UROOT_UINITCMD
string
default "" if SPECIFIC_BOOTLOADER_NONE
default "boot" if SPECIFIC_BOOTLOADER_BOOT
default "pxeboot" if SPECIFIC_BOOTLOADER_PXEBOOT
default "fitboot" if SPECIFIC_BOOTLOADER_FITBOOT
default SPECIFIC_BOOTLOADER_CUSTOM_CMD if SPECIFIC_BOOTLOADER_CUSTOM
endif #LINUXBOOT_UROOT_MAIN
endif #LINUXBOOT_UROOT
endif #LINUXBOOT_BUILD_INITRAMFS
choice
prompt "Initramfs compression format"
default LINUXBOOT_INITRAMFS_COMPRESSION_XZ
config LINUXBOOT_INITRAMFS_COMPRESSION_NONE
bool "none"
config LINUXBOOT_INITRAMFS_COMPRESSION_XZ
bool "xz compression"
depends on LINUXBOOT_BUILD_INITRAMFS
endchoice
config LINUXBOOT_INITRAMFS_SUFFIX
string
default "" if LINUXBOOT_INITRAMFS_COMPRESSION_NONE
default ".xz" if LINUXBOOT_INITRAMFS_COMPRESSION_XZ
endif #PAYLOAD_LINUXBOOT
|