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:
committed by
Stefan Reinauer
parent
d7ce71d58f
commit
f1939bb29b
1
Makefile
1
Makefile
@ -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
31
payloads/external/SeaBIOS/Makefile.inc
vendored
Normal 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
|
34
src/Kconfig
34
src/Kconfig
@ -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.
|
||||||
|
@ -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)
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
Reference in New Issue
Block a user