be58923fed
BOOTBOOT is a multi-platform, architecture agnostic boot protocol. The protocol describes how to boot an ELF64 or PE32+ executable inside an initial ram disk image into clean 64 bit mode. This version uses libpayload to do that. Depending on the lib's configuration, initrd can be in ROM as a cbfs file or a Flashmap partition; on disk a GPT partition or a file on a FAT formatted ESP partition. For more information see https://gitlab.com/bztsrc/bootboot Change-Id: I8692cde0730338026a7760a293c1e37f66004bc0 Signed-off-by: Zoltan Baldaszti <bztemail@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/45482 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
44 lines
1.1 KiB
Makefile
44 lines
1.1 KiB
Makefile
project_git_repo=https://gitlab.com/bztsrc/bootboot.git
|
|
project_dir=bootboot
|
|
ifeq ($(CONFIG_COREBOOT_BUILD),)
|
|
include ../../../.config
|
|
endif
|
|
ifeq ($(CONFIG_ARCH_ARM64),y)
|
|
loader_dir=$(project_dir)/aarch64-cb
|
|
else
|
|
loader_dir=$(project_dir)/x86_64-cb
|
|
endif
|
|
|
|
unexport KCONFIG_AUTOHEADER
|
|
unexport KCONFIG_AUTOCONFIG
|
|
unexport KCONFIG_DEPENDENCIES
|
|
unexport KCONFIG_SPLITCONFIG
|
|
unexport KCONFIG_TRISTATE
|
|
unexport KCONFIG_NEGATIVES
|
|
|
|
all: bootboot
|
|
|
|
checkout:
|
|
echo " GIT BOOTBOOT $(loader_dir)"
|
|
test -L $(project_dir) || test -d $(project_dir) || \
|
|
git clone $(project_git_repo) $(project_dir)
|
|
|
|
bootboot: libpayload
|
|
echo " MAKE $(loader_dir)"
|
|
$(MAKE) -C $(loader_dir) LIBCONFIG_PATH=../../../libpayload
|
|
|
|
libpayload: checkout
|
|
cp $(loader_dir)/lib.config ../../libpayload/.config
|
|
cd ../../libpayload && $(MAKE) oldconfig && \
|
|
$(MAKE) && $(MAKE) DESTDIR=../external/BOOTBOOT/$(loader_dir) install
|
|
|
|
clean:
|
|
test -d $(loader_dir) && $(MAKE) -C $(loader_dir) clean || exit 0
|
|
|
|
distclean:
|
|
rm -rf $(project_dir)
|
|
|
|
print-repo-info:
|
|
echo "$(project_git_repo) $(project_dir)"
|
|
|
|
.PHONY: checkout bootboot libpayload clean distclean print-repo-info
|