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>
		
			
				
	
	
		
			45 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Makefile
		
	
	
	
	
	
			
		
		
	
	
			45 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
 |