summaryrefslogtreecommitdiff
path: root/resources/coreboot/default/patches/0001-hardcode-tianocore-revisions-and-don-t-automatically.patch
blob: d05eb306a79d2575166b504c8465536f551a396a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
From 91b073efaca57d455e2f25370918b9796cbc1a15 Mon Sep 17 00:00:00 2001
From: Leah Rowe <leah@libreboot.org>
Date: Thu, 13 May 2021 23:52:08 +0100
Subject: [PATCH 01/17] hardcode tianocore revisions, and don't automatically
 download

---
 Makefile                             |  2 +-
 payloads/external/tianocore/Makefile | 57 ++++++++--------------------
 2 files changed, 17 insertions(+), 42 deletions(-)

diff --git a/Makefile b/Makefile
index 02c6288f15..8290b45e89 100644
--- a/Makefile
+++ b/Makefile
@@ -486,7 +486,7 @@ distclean-utils:
 		$(MAKE) -C util/$(tool) distclean MFLAGS= MAKEFLAGS= ; \
 		rm -f /util/$(tool)/junit.xml;)
 
-distclean: clean clean-ctags clean-cscope distclean-payloads distclean-utils
+distclean: clean clean-ctags clean-cscope distclean-utils
 	rm -f .config .config.old ..config.tmp* .kconfig.d .tmpconfig* .ccwrap .xcompile
 	rm -rf coreboot-builds coreboot-builds-chromeos
 	rm -f abuild*.xml junit.xml* util/lint/junit.xml
diff --git a/payloads/external/tianocore/Makefile b/payloads/external/tianocore/Makefile
index 7cd34f1732..3527b7a2ad 100644
--- a/payloads/external/tianocore/Makefile
+++ b/payloads/external/tianocore/Makefile
@@ -1,5 +1,8 @@
 ## SPDX-License-Identifier: GPL-2.0-only
 
+# This file has been modified for libreboot/osboot/osboot-libre.
+# The tianocore repo/branch/revision has been hardcoded, as have some options
+
 # force the shell to bash - the edksetup.sh script doesn't work with dash
 export SHELL := env bash
 
@@ -9,51 +12,31 @@ project_git_repo=https://github.com/mrchromebox/edk2
 project_git_branch=coreboot_fb
 upstream_git_repo=https://github.com/tianocore/edk2
 
-ifeq ($(CONFIG_TIANOCORE_UEFIPAYLOAD),y)
-bootloader=UefiPayloadPkg
-logo_pkg=MdeModulePkg
-build_flavor=-D BOOTLOADER=COREBOOT -D PCIE_BASE=$(CONFIG_MMCONF_BASE_ADDRESS) -DPS2_KEYBOARD_ENABLE
-TAG=upstream/master
-else
 bootloader=CorebootPayloadPkg
 logo_pkg=CorebootPayloadPkg
 # STABLE revision is MrChromebox's coreboot framebuffer (coreboot_fb) branch
-TAG=origin/$(project_git_branch)
-endif
-
-ifneq ($(CONFIG_TIANOCORE_REVISION_ID),)
-TAG=$(CONFIG_TIANOCORE_REVISION_ID)
-endif
+TAG=ca08920ded1649921a12105d1959df423733431f
+# above is a commit ID in MrChromebox's coreboot_fb branch
 
 export EDK_TOOLS_PATH=$(project_dir)/BaseTools
 
-ifeq ($(CONFIG_TIANOCORE_DEBUG),y)
-BUILD_TYPE=DEBUG
-else
 BUILD_TYPE=RELEASE
-endif
 
-ifneq ($(CONFIG_TIANOCORE_USE_8254_TIMER), y)
 TIMER=-DUSE_HPET_TIMER
-endif
 
-TIMEOUT=-D PLATFORM_BOOT_TIMEOUT=$(CONFIG_TIANOCORE_BOOT_TIMEOUT)
+# see coreboot 61a3c8a005922d46425c84f847c0ad26e9c3cdca
+# "2 seconds for board with internal display"
+# "5 seconds for board without internal display"
+# libreboot takes the shotgun approach. 5 seconds for all
+TIMEOUT=-D PLATFORM_BOOT_TIMEOUT=5
 
-ifeq ($(CONFIG_TIANOCORE_COREBOOTPAYLOAD),y)
-ifeq ($(CONFIG_TIANOCORE_TARGET_IA32), y)
-ARCH=-a IA32 -p CorebootPayloadPkg/CorebootPayloadPkgIa32.dsc
-else
 ARCH=-a IA32 -a X64 -p CorebootPayloadPkg/CorebootPayloadPkgIa32X64.dsc
-endif
-else
-ARCH=-a IA32 -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc
-endif
 
-BUILD_STR=-q $(ARCH) -t COREBOOT -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT) $(build_flavor)
+BUILD_STR=-q $(ARCH) -t COREBOOT -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT)
 
 all: clean build
 
-$(project_dir):
+download:
 	echo "    Cloning $(project_name) from Git"
 	git clone --branch $(project_git_branch) $(project_git_repo) $(project_dir); \
 		cd $(project_dir); \
@@ -76,17 +59,9 @@ update: $(project_dir)
 		git submodule update --init
 
 checktools:
-	echo "Checking uuid-dev..."
-	echo "#include <uuid/uuid.h>" > libtest.c
-	echo "int main(int argc, char **argv) { (void) argc; (void) argv; return 0; }" >> libtest.c
-	$(HOSTCC) $(HOSTCCFLAGS) libtest.c -o libtest >/dev/null 2>&1 && echo " found uuid-dev." || \
-		( echo " Not found."; echo "ERROR: please_install uuid-dev (libuuid-devel)"; exit 1 )
-	rm -rf libtest.c libtest
-	echo "Checking nasm..."
-	type nasm > /dev/null 2>&1 && echo " found nasm." || \
-		( echo " Not found."; echo "Error: Please install nasm."; exit 1 )
-
-build: update checktools
+	echo "tianocore tool check disabled"
+
+build: checktools
 	unset CC; $(MAKE) -C $(project_dir)/BaseTools
 	echo " build $(project_name) $(TAG)"
 	if [ -n "$(CONFIG_TIANOCORE_BOOTSPLASH_FILE)" ]; then \
@@ -116,4 +91,4 @@ clean:
 distclean:
 	rm -rf $(project_dir)
 
-.PHONY: all update checktools config build clean distclean
+.PHONY: all update checktools config build clean distclean download
-- 
2.25.1