• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Xeon Scalable processor coreboot Community Preview Guide
2================================================
3
4## Background
5
6Sapphire Rapids coreboot was already merged into coreboot mainline.
7Granite Rapids coreboot upstreaming is coming.
8
9For Granite Rapids coreboot, we are going to perform a phased
10upstreaming strategy according to the maturity of the code. A community
11preview branch is opensource at:
12https://review.coreboot.org/plugins/gitiles/intel-dev-pub/.
13
14The community preview branch initially contains codes on legacy feature
15enabling and matured patch set for platform support. More platform
16support code will come with the platform development. The subsequent
17upstreaming work will be based on this branch. It provides 2 board
18targets,
19
201. Avenue City CRB (Granite Rapids-AP)
212. Beechnut City CRB (Granite Rapids-SP)
22
23The above targets can pass build with Granite Rapids n-1 FSP headers,
24which is a set of stub FSP headers used for compilation sanity check.
25
26## Build steps
27
28### Prepare workspace
29
30```
31# Create workspace
32
33mkdir workspace && cd workspace
34
35# Prepare coreboot codebase
36
37git clone https://review.coreboot.org/intel-dev-pub ln -s intel-dev-pub/
38coreboot
39
40# Prepare stub binaries and update their path in
41# configs/builder/config.intel.crb.avc.n-1
42
43# Granite Rapids coreboot uses FSP 2.4, where FSP-I is newly introduced
44# as an optional module to provide FSP based SMM capability. For FSP 2.4
45# and FSP-I, please further refer to:
46# https://cdrdv2-public.intel.com/736809/736809_FSP_EAS_v2.4_Errata_A.pdf
47
48CONFIG_IFD_BIN_PATH=<path of intel flash descriptor blob>
49CONFIG_CPU_UCODE_BINARIES=<path of ucode>
50CONFIG_FSP_T_FILE=<path of FSP-T binary>
51CONFIG_FSP_M_FILE=<path of FSP-M binary>
52CONFIG_FSP_S_FILE=<path of FSP-S binary>
53CONFIG_FSP_I_FILE=<path of FSP-I binary>
54CONFIG_PAYLOAD_FILE=<path of payload binary>
55```
56
57### Download necessary submodules
58```
59git submodule update --init --checkout 3rdparty/vboot
60```
61
62### Or take below alternative if the network connection is not good
63```
64git clone https://github.com/coreboot/vboot.git 3rdparty/vboot/
65```
66
67### Build toolchain
68```
69make crossgcc-i386 CPUS=$(nproc)
70```
71
72### Build BIOS (Avenue City CRB)
73```
74make distclean
75
76make defconfig KBUILD_DEFCONFIG=configs/builder/config.intel.crb.avc.n-1
77
78make olddefconfig
79
80make clean
81
82make UPDATED_SUBMODULES=1 -j`nproc`
83```
84
85### Build BIOS (Beechnut City CRB)
86```
87make distclean
88
89make defconfig KBUILD_DEFCONFIG=configs/builder/config.intel.crb.bnc.n-1
90
91make olddefconfig
92
93make clean
94
95make UPDATED_SUBMODULES=1 -j`nproc`
96```
97
98### Obtain the preview patch list
99
100```
101# The tag ‘upstream’ points to the upstream commit that the preview
102# branch is based on.
103
104git format-patch upstream..HEAD
105```
106
107## About Granite Rapids n-1 FSP Headers
108
109This is a set of stub FSP headers for Granite Rapids server, which will
110be forward compatible with the formal Granite Rapids FSP headers which
111will be opensource at a later stage. For the n-1 FSP headers, there are
112no corresponding n-1 FSP binaries. To pass build, users need to use stub
113binaries which could be generated in arbitrary ways.  Granite Rapids n-1
114FSP headers are at: `src/vendorcode/intel/fsp/fsp2_0/graniterapids_n-1`.
115
116For the formal Granite Rapids FSP headers and binaries, they will be
117published at in
118https://github.com/coreboot/coreboot/tree/main/src/vendorcode/intel/fsp/fsp2_0
119(headers only) and https://github.com/intel/FSP (headers and binaries)
120at a later stage.