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)
This commit is contained in:
		
							
								
								
									
										31
									
								
								src/Kconfig
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								src/Kconfig
									
									
									
									
									
								
							| @@ -539,6 +539,16 @@ config PAYLOAD_ELF | |||||||
| 	  You will be able to specify the location and file name of the | 	  You will be able to specify the location and file name of the | ||||||
| 	  payload image later. | 	  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 | config PAYLOAD_SEABIOS | ||||||
| 	bool "SeaBIOS" | 	bool "SeaBIOS" | ||||||
| 	depends on ARCH_X86 | 	depends on ARCH_X86 | ||||||
| @@ -616,6 +626,13 @@ config PAYLOAD_FILE | |||||||
| 	help | 	help | ||||||
| 	  The path and filename of the ELF executable file to use as payload. | 	  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 | config PAYLOAD_FILE | ||||||
| 	depends on PAYLOAD_SEABIOS | 	depends on PAYLOAD_SEABIOS | ||||||
| 	default "$(obj)/seabios/out/bios.bin.elf" | 	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 | 	  In order to reduce the size payloads take up in the ROM chip | ||||||
| 	  coreboot can compress them using the LZMA algorithm. | 	  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 | endmenu | ||||||
|  |  | ||||||
| menu "Debugging" | menu "Debugging" | ||||||
|   | |||||||
| @@ -74,6 +74,16 @@ $(obj)/coreboot.pre1: $(CBFSTOOL) | |||||||
| 	mv $(obj)/coreboot.rom $@ | 	mv $(obj)/coreboot.rom $@ | ||||||
| endif | 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) | $(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" | 	@printf "    CBFS       $(subst $(obj)/,,$(@))\n" | ||||||
| 	cp $(obj)/coreboot.pre $@.tmp | 	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" | 	@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) | 	$(CBFSTOOL) $@.tmp add-payload -f $(CONFIG_PAYLOAD_FILE) -n $(CONFIG_CBFS_PREFIX)/payload -c $(CBFS_PAYLOAD_COMPRESS_FLAG) | ||||||
| endif | 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) | ifeq ($(CONFIG_PAYLOAD_SEABIOS),y) | ||||||
| 	@printf "    PAYLOAD    SeaBIOS (internal, compression: $(CBFS_PAYLOAD_COMPRESS_FLAG))\n" | 	@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) | 	$(CBFSTOOL) $@.tmp add-payload -f $(CONFIG_PAYLOAD_FILE) -n $(CONFIG_CBFS_PREFIX)/payload -c $(CBFS_PAYLOAD_COMPRESS_FLAG) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user