summaryrefslogtreecommitdiff
path: root/payloads/external/LinuxBoot/Kconfig
diff options
context:
space:
mode:
authorMarcello Sylvester Bauer <info@marcellobauer.com>2018-11-11 18:03:26 +0100
committerPhilipp Deppenwiese <zaolin.daisuki@gmail.com>2018-11-28 18:28:45 +0000
commit78d0256f1d2bb09e4430f2bd56b58df78d54311b (patch)
tree193c5725f2d51a6dba1454ccf7861566bffce6a3 /payloads/external/LinuxBoot/Kconfig
parent5d8f02f3ef624e9055cc48cd354497a583133b1d (diff)
downloadcoreboot-78d0256f1d2bb09e4430f2bd56b58df78d54311b.tar.xz
LinuxBoot: refactor payload
Clean and refactor the structure of the LinuxBoot payload integration, to make it more modular and readable. The kernel and initramfs should handled in separated makefiles. tested with: - qemu-i440fx (x86, x86_64) - cavium CN8100 (arm64) Change-Id: I41d0275a5f7efb920e881f43b0acda29f41ee221 Signed-off-by: Marcello Sylvester Bauer <info@marcellobauer.com> Reviewed-on: https://review.coreboot.org/c/29581 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Philipp Deppenwiese <zaolin.daisuki@gmail.com>
Diffstat (limited to 'payloads/external/LinuxBoot/Kconfig')
-rw-r--r--payloads/external/LinuxBoot/Kconfig55
1 files changed, 45 insertions, 10 deletions
diff --git a/payloads/external/LinuxBoot/Kconfig b/payloads/external/LinuxBoot/Kconfig
index ba8b5a6d08..046faef287 100644
--- a/payloads/external/LinuxBoot/Kconfig
+++ b/payloads/external/LinuxBoot/Kconfig
@@ -1,6 +1,7 @@
## This file is part of the coreboot project.
##
## Copyright (C) 2017 Facebook Inc.
+## Copyright (C) 2018 9elements Cyber Security
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
@@ -16,6 +17,7 @@ if PAYLOAD_LINUXBOOT
choice
prompt "Architecture"
+ depends on LINUXBOOT_COMPILE_KERNEL || LINUXBOOT_BUILD_INITRAMFS
default LINUXBOOT_X86_64
config LINUXBOOT_X86_64
@@ -42,9 +44,22 @@ endchoice
config LINUXBOOT_ARCH
string
default "amd64" if LINUXBOOT_X86_64
- default "386" if LINUXBOOT_X86
+ default "i386" if LINUXBOOT_X86
default "arm64" if LINUXBOOT_ARM64
+comment "Linux kernel"
+
+config LINUXBOOT_COMPILE_KERNEL
+ bool "Compile kernel"
+ default n
+
+config LINUXBOOT_KERNEL_PATH
+ string "Path to kernel"
+ default "Image"
+ depends on !LINUXBOOT_COMPILE_KERNEL
+
+if LINUXBOOT_COMPILE_KERNEL
+
choice
prompt "Kernel version"
default LINUXBOOT_KERNEL_STABLE
@@ -73,19 +88,35 @@ config LINUXBOOT_KERNEL_CONFIGFILE
Add your own kernel configuration file. Otherwise a default
minimal defconfig is used.
+config LINUXBOOT_DTB_FILE
+ string "Compiled devicetree file"
+ depends on LINUXBOOT_ARM64
+ default ""
+
+endif #LINUXBOOT_COMPILE_KERNEL
+
config LINUX_COMMAND_LINE
string "Kernel command-line"
default ""
help
Add your own kernel command-line arguments.
-config LINUXBOOT_DTB_FILE
- string "Compiled devicetree file"
- depends on LINUXBOOT_ARM64
- default ""
-
config PAYLOAD_FILE
- default "payloads/external/LinuxBoot/linuxboot/kernel-image"
+ default "payloads/external/LinuxBoot/linuxboot/bzImage" if LINUXBOOT_COMPILE_KERNEL && ( LINUXBOOT_X86 || LINUXBOOT_X86_64 )
+ default "payloads/external/LinuxBoot/linuxboot/uImage" if LINUXBOOT_COMPILE_KERNEL && LINUXBOOT_ARM64
+ default LINUXBOOT_KERNEL_PATH if !LINUXBOOT_COMPILE_KERNEL
+
+comment "Linux initramfs"
+
+config LINUXBOOT_BUILD_INITRAMFS
+ bool "Build initramfs"
+ default n
+
+config LINUXBOOT_INITRAMFS_PATH
+ string "Path to initramfs"
+ depends on !LINUXBOOT_BUILD_INITRAMFS
+
+if LINUXBOOT_BUILD_INITRAMFS
choice
prompt "Payload Mode"
@@ -128,9 +159,13 @@ config LINUXBOOT_UROOT_FILES
Path to directory containing root structure for embedding into the
initramfs.
+endif #LINUXBOOT_UROOT
+
+endif #LINUXBOOT_BUILD_INITRAMFS
+
config LINUX_INITRD
string
- default "payloads/external/LinuxBoot/linuxboot/initramfs.cpio.xz"
+ default "payloads/external/LinuxBoot/linuxboot/initramfs_u-root.cpio.xz" if LINUXBOOT_UROOT
+ default LINUXBOOT_INITRAMFS_PATH if !LINUXBOOT_BUILD_INITRAMFS
-endif
-endif
+endif #PAYLOAD_LINUXBOOT