Per default, use SeaBIOS payload instead of no payload.

Add choice to use stable or master version of seabios repository

Signed-off-by: Stefan Reinauer <stepan@coreboot.org>
Acked-by: Stefan Reinauer <stepan@coreboot.org>



git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6223 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
This commit is contained in:
Stefan Reinauer
2010-12-30 17:39:50 +00:00
committed by Stefan Reinauer
parent d7ce71d58f
commit f1939bb29b
5 changed files with 82 additions and 4 deletions

View File

@ -363,6 +363,7 @@ clean-for-update: doxygen-clean
rm -f $(obj)/mainboard/$(MAINBOARDDIR)/bootblock.* $(obj)/mainboard/$(MAINBOARDDIR)/dsdt.* rm -f $(obj)/mainboard/$(MAINBOARDDIR)/bootblock.* $(obj)/mainboard/$(MAINBOARDDIR)/dsdt.*
rm -f $(obj)/cpu/x86/smm/smm_bin.c $(obj)/cpu/x86/smm/smm.* $(obj)/cpu/x86/smm/smm rm -f $(obj)/cpu/x86/smm/smm_bin.c $(obj)/cpu/x86/smm/smm.* $(obj)/cpu/x86/smm/smm
rmdir -p $(alldirs) 2>/dev/null >/dev/null || true rmdir -p $(alldirs) 2>/dev/null >/dev/null || true
make -C payloads/external/SeaBIOS clean
clean: clean-for-update clean: clean-for-update
rm -f $(obj)/coreboot* .ccwrap rm -f $(obj)/coreboot* .ccwrap

31
payloads/external/SeaBIOS/Makefile.inc vendored Normal file
View File

@ -0,0 +1,31 @@
TAG-$(CONFIG_SEABIOS_MASTER)=master
TAG-$(CONFIG_SEABIOS_STABLE)=0.6.1-stable
all: seabios
seabios: patch
cd seabios; $(MAKE) CC="$(CC)" LD="$(LD)"
patch: checkout
test -r seabios/.patched || \
perl -pi -e "s,#define CONFIG_COREBOOT 0,#define CONFIG_COREBOOT 1,;" \
-e "s,#define CONFIG_DEBUG_SERIAL 0,#define CONFIG_DEBUG_SERIAL 1,;" \
-e "s,#define CONFIG_VGAHOOKS 0,#define CONFIG_VGAHOOKS 1,;" \
seabios/src/config.h
touch seabios/.patched
checkout:
echo "Checking out SeaBIOS $(TAG-y)"
test -d seabios && ( cd seabios; git pull ) || \
git clone git://git.linuxtogo.org/home/kevin/seabios.git seabios
cd seabios; git checkout $(TAG-y)
clean:
test -d seabios && (cd seabios; $(MAKE) CC="$(CC)" LD="$(LD)" clean) || exit 0
distclean:
rm -rf seabios
.PHONY: seabios

View File

@ -333,7 +333,8 @@ menu "Payload"
choice choice
prompt "Add a payload" prompt "Add a payload"
default PAYLOAD_NONE default PAYLOAD_NONE if !ARCH_X86
default PAYLOAD_SEABIOS if ARCH_X86
config PAYLOAD_NONE config PAYLOAD_NONE
bool "None" bool "None"
@ -355,6 +356,31 @@ 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_SEABIOS
bool "SeaBIOS"
depends on ARCH_X86
help
Select this option if you want to build a coreboot image
with a SeaBIOS payload. If you don't know what this is
about, just leave it enabled.
See http://coreboot.org/Payloads for more information.
endchoice
choice
prompt "SeaBIOS version"
default SEABIOS_STABLE
depends on PAYLOAD_SEABIOS
config SEABIOS_STABLE
bool "stable"
help
Stable SeaBIOS version
config SEABIOS_MASTER
bool "master"
help
Newest SeaBIOS version
endchoice endchoice
config PAYLOAD_FILE config PAYLOAD_FILE
@ -364,11 +390,15 @@ 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
depends on PAYLOAD_SEABIOS
default "payloads/external/SeaBIOS/seabios/out/bios.bin.elf"
# TODO: Defined if no payload? Breaks build? # TODO: Defined if no payload? Breaks build?
config COMPRESSED_PAYLOAD_LZMA config COMPRESSED_PAYLOAD_LZMA
bool "Use LZMA compression for payloads" bool "Use LZMA compression for payloads"
default y default y
depends on PAYLOAD_ELF depends on PAYLOAD_ELF || PAYLOAD_SEABIOS
help help
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.

View File

@ -34,9 +34,12 @@ endif
####################################################################### #######################################################################
# Build the final rom image # Build the final rom image
COREBOOT_ROM_DEPENDENCIES:= COREBOOT_ROM_DEPENDENCIES:=
ifneq ($(CONFIG_PAYLOAD_NONE),y) ifeq ($(CONFIG_PAYLOAD_ELF),y)
COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_PAYLOAD_FILE) COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_PAYLOAD_FILE)
endif endif
ifeq ($(CONFIG_PAYLOAD_SEABIOS),y)
COREBOOT_ROM_DEPENDENCIES+=seabios
endif
ifeq ($(CONFIG_VGA_BIOS),y) ifeq ($(CONFIG_VGA_BIOS),y)
COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_VGA_BIOS_FILE) COREBOOT_ROM_DEPENDENCIES+=$(CONFIG_VGA_BIOS_FILE)
endif endif
@ -80,10 +83,15 @@ $(obj)/coreboot.rom: $(obj)/coreboot.pre $(obj)/coreboot_ram $(CBFSTOOL) $(call
$(CBFSTOOL) $@.tmp add-stage $(obj)/coreboot_ram $(CONFIG_CBFS_PREFIX)/coreboot_ram $(CBFS_COMPRESS_FLAG) $(CBFSTOOL) $@.tmp add-stage $(obj)/coreboot_ram $(CONFIG_CBFS_PREFIX)/coreboot_ram $(CBFS_COMPRESS_FLAG)
ifeq ($(CONFIG_PAYLOAD_NONE),y) ifeq ($(CONFIG_PAYLOAD_NONE),y)
@printf " PAYLOAD \e[1;31mnone (as specified by user)\e[0m\n" @printf " PAYLOAD \e[1;31mnone (as specified by user)\e[0m\n"
else endif
ifeq ($(CONFIG_PAYLOAD_ELF),y)
@printf " PAYLOAD $(CONFIG_PAYLOAD_FILE) (compression: $(CBFS_PAYLOAD_COMPRESS_NAME))\n" @printf " PAYLOAD $(CONFIG_PAYLOAD_FILE) (compression: $(CBFS_PAYLOAD_COMPRESS_NAME))\n"
$(CBFSTOOL) $@.tmp add-payload $(CONFIG_PAYLOAD_FILE) $(CONFIG_CBFS_PREFIX)/payload $(CBFS_PAYLOAD_COMPRESS_FLAG) $(CBFSTOOL) $@.tmp add-payload $(CONFIG_PAYLOAD_FILE) $(CONFIG_CBFS_PREFIX)/payload $(CBFS_PAYLOAD_COMPRESS_FLAG)
endif endif
ifeq ($(CONFIG_PAYLOAD_SEABIOS),y)
@printf " PAYLOAD SeaBIOS (internal, compression: $(CBFS_PAYLOAD_COMPRESS_NAME))\n"
$(CBFSTOOL) $@.tmp add-payload $(CONFIG_PAYLOAD_FILE) $(CONFIG_CBFS_PREFIX)/payload $(CBFS_PAYLOAD_COMPRESS_FLAG)
endif
ifeq ($(CONFIG_VGA_BIOS),y) ifeq ($(CONFIG_VGA_BIOS),y)
@printf " VGABIOS $(CONFIG_VGA_BIOS_FILE) $(CONFIG_VGA_BIOS_ID)\n" @printf " VGABIOS $(CONFIG_VGA_BIOS_FILE) $(CONFIG_VGA_BIOS_ID)\n"
$(CBFSTOOL) $@.tmp add $(CONFIG_VGA_BIOS_FILE) "pci$(CONFIG_VGA_BIOS_ID).rom" optionrom $(CBFSTOOL) $@.tmp add $(CONFIG_VGA_BIOS_FILE) "pci$(CONFIG_VGA_BIOS_ID).rom" optionrom
@ -272,3 +280,10 @@ include $(src)/arch/x86/Makefile.bootblock.inc
else else
include $(src)/arch/x86/Makefile.bigbootblock.inc include $(src)/arch/x86/Makefile.bigbootblock.inc
endif endif
seabios:
$(MAKE) -C payloads/external/SeaBIOS -f Makefile.inc \
CC="$(CC)" LD="$(LD)" \
CONFIG_SEABIOS_MASTER=$(CONFIG_SEABIOS_MASTER) \
CONFIG_SEABIOS_STABLE=$(CONFIG_SEABIOS_STABLE)

View File

@ -175,6 +175,7 @@ function create_config
echo "CONFIG_CBFS_PREFIX=\"$cbfs_prefix\"" >> ${build_dir}/config.build echo "CONFIG_CBFS_PREFIX=\"$cbfs_prefix\"" >> ${build_dir}/config.build
if [ "$PAYLOAD" != "/dev/null" ]; then if [ "$PAYLOAD" != "/dev/null" ]; then
echo "# CONFIG_PAYLOAD_NONE is not set" >> ${build_dir}/config.build echo "# CONFIG_PAYLOAD_NONE is not set" >> ${build_dir}/config.build
echo "# CONFIG_PAYLOAD_SEABIOS is not set" >> ${build_dir}/config.build
echo "CONFIG_PAYLOAD_ELF=y" >> ${build_dir}/config.build echo "CONFIG_PAYLOAD_ELF=y" >> ${build_dir}/config.build
echo "CONFIG_PAYLOAD_FILE=\"$PAYLOAD\"" >> ${build_dir}/config.build echo "CONFIG_PAYLOAD_FILE=\"$PAYLOAD\"" >> ${build_dir}/config.build
fi fi