diff options
author | Patrick Georgi <patrick@georgi-clan.de> | 2013-08-31 08:26:52 +0200 |
---|---|---|
committer | Patrick Georgi <patrick@georgi-clan.de> | 2013-08-31 08:58:39 +0200 |
commit | 16ae95c4bce956c115deaa7b5d42b3472a72e9e9 (patch) | |
tree | 0c3cb97197e41894e6619f13d93646251f553af1 | |
parent | 2f39eae41d750817143f9372f67de6b1ee96b4a6 (diff) |
Add Kconfig options for Linux as payload
These allow to define a kernel image, initrd and command line.
Change-Id: I40155b812728a176b6d15871e1e6c96e4ad693c8
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/3893
Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
Tested-by: build bot (Jenkins)
-rw-r--r-- | src/Kconfig | 31 | ||||
-rw-r--r-- | src/arch/x86/Makefile.inc | 14 |
2 files changed, 45 insertions, 0 deletions
diff --git a/src/Kconfig b/src/Kconfig index f714cb2de1..be2cb249c1 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -539,6 +539,16 @@ config PAYLOAD_ELF You will be able to specify the location and file name of the payload image later. +config PAYLOAD_LINUX + bool "A Linux payload" + help + Select this option if you have a Linux bzImage which coreboot + should run as soon as the basic hardware initialization + is completed. + + You will be able to specify the location and file name of the + payload image later. + config PAYLOAD_SEABIOS bool "SeaBIOS" depends on ARCH_X86 @@ -617,6 +627,13 @@ config PAYLOAD_FILE The path and filename of the ELF executable file to use as payload. config PAYLOAD_FILE + string "Linux path and filename" + depends on PAYLOAD_LINUX + default "bzImage" + help + The path and filename of the bzImage kernel to use as payload. + +config PAYLOAD_FILE depends on PAYLOAD_SEABIOS default "$(obj)/seabios/out/bios.bin.elf" @@ -640,6 +657,20 @@ config COMPRESSED_PAYLOAD_LZMA In order to reduce the size payloads take up in the ROM chip coreboot can compress them using the LZMA algorithm. +config LINUX_COMMAND_LINE + string "Linux command line" + depends on PAYLOAD_LINUX + default "" + help + A command line to add to the Linux kernel. + +config LINUX_INITRD + string "Linux initrd" + depends on PAYLOAD_LINUX + default "" + help + An initrd image to add to the Linux kernel. + endmenu menu "Debugging" diff --git a/src/arch/x86/Makefile.inc b/src/arch/x86/Makefile.inc index 5c286761f2..b3b82b998c 100644 --- a/src/arch/x86/Makefile.inc +++ b/src/arch/x86/Makefile.inc @@ -74,6 +74,16 @@ $(obj)/coreboot.pre1: $(CBFSTOOL) mv $(obj)/coreboot.rom $@ endif +ifeq ($(CONFIG_PAYLOAD_LINUX),y) +LINUX_ADDITIONAL_CONFIG:= +ifneq ($(strip $(call strip_quotes,$(CONFIG_LINUX_COMMAND_LINE))),) + LINUX_ADDITIONAL_CONFIG+=-C $(CONFIG_LINUX_COMMAND_LINE) +endif +ifneq ($(strip $(call strip_quotes,$(CONFIG_LINUX_INITRD))),) + LINUX_ADDITIONAL_CONFIG+=-I $(CONFIG_LINUX_INITRD) +endif +endif + $(obj)/coreboot.rom: $(obj)/coreboot.pre $(objcbfs)/coreboot_ram.elf $(CBFSTOOL) $(call strip_quotes,$(COREBOOT_ROM_DEPENDENCIES)) $$(INTERMEDIATE) $$(VBOOT_STUB_ELF) @printf " CBFS $(subst $(obj)/,,$(@))\n" cp $(obj)/coreboot.pre $@.tmp @@ -85,6 +95,10 @@ ifeq ($(CONFIG_PAYLOAD_ELF),y) @printf " PAYLOAD $(CONFIG_PAYLOAD_FILE) (compression: $(CBFS_PAYLOAD_COMPRESS_FLAG))\n" $(CBFSTOOL) $@.tmp add-payload -f $(CONFIG_PAYLOAD_FILE) -n $(CONFIG_CBFS_PREFIX)/payload -c $(CBFS_PAYLOAD_COMPRESS_FLAG) endif +ifeq ($(CONFIG_PAYLOAD_LINUX),y) + @printf " PAYLOAD $(CONFIG_PAYLOAD_FILE) (compression: $(CBFS_PAYLOAD_COMPRESS_FLAG))\n" + $(CBFSTOOL) $@.tmp add-payload -f $(CONFIG_PAYLOAD_FILE) -n $(CONFIG_CBFS_PREFIX)/payload -c $(CBFS_PAYLOAD_COMPRESS_FLAG) $(LINUX_ADDITIONAL_CONFIG) +endif ifeq ($(CONFIG_PAYLOAD_SEABIOS),y) @printf " PAYLOAD SeaBIOS (internal, compression: $(CBFS_PAYLOAD_COMPRESS_FLAG))\n" $(CBFSTOOL) $@.tmp add-payload -f $(CONFIG_PAYLOAD_FILE) -n $(CONFIG_CBFS_PREFIX)/payload -c $(CBFS_PAYLOAD_COMPRESS_FLAG) |