Building manual
Intro
This document describes the procedure for building coreboot for all Protectli devices.
Requirements
- Docker
- Git
sudo apt-get install git
Alternatively Fedora can be used instead of Ubuntu by following the same steps except: Install Docker Engine on Fedora
Building
To build Dasharo firmware image, first clone the coreboot repository:
git clone https://github.com/Dasharo/coreboot.git
- Checkout to the device's branch:
cd coreboot git checkout protectli_vault_kbl/release
To build a specific version replace protectli_vault_kbl/release
to
protectli_vault_kbl_v1.0.x
where x
is the version number.
-
Start build process (note it requires certain blobs to proceed):
cd coreboot git submodule update --init --checkout # you will need to obtain the ZIP with blobs at this point unzip protectli_blobs.zip -d 3rdparty/blobs/mainboard ./build.sh fw6
-
Checkout the desired version, e.g.
v0.9.3
:cd coreboot git checkout protectli_vault_jsl_v0.9.3
-
Checkout submodules:
git submodule update --init --checkout
-
Obtain the Protectli blobs package (only for versions v0.9.0 and v0.9.1):
Replace
<PROTECTLI_BLOBS_REPO>
with a a proper path to the repository in a form of:git@repo-path.git
. You should checkout to the same tag as in case of the coreboot repository.cd 3rdparty/blobs/mainboard/ git init git remote add origin <PROTECTLI_BLOBS_REPO> git fetch origin && git checkout protectli_vault_jsl_v0.9.0 cd -
-
Build the firmware:
-
for V1210
./build.sh V1210
-
for V1211
./build.sh V1211
-
for V1410
./build.sh V1410
-
for V1610
./build.sh V1610
-
The resulting coreboot image will be placed in the coreboot directory as
protectli_V1210.rom
, protectli_V1410.rom
or protectli_V1610.rom
respectvely.
Since version v1.0.18 VP4630 and VP4650 use different configuration file than VP4670. Versions v1.0.17 and older do not support VP4650 and VP4670 at all.
Versions v1.1.1 and newer support all variants with a single binary.
-
Checkout the desired version, e.g.
v1.1.0
:cd coreboot git checkout protectli_vault_cml_v1.1.0
-
Checkout submodules:
git submodule update --init --checkout
-
Obtain the Protectli blobs package (only for version v1.1.0 and older):
Replace
<PROTECTLI_BLOBS_REPO>
with a a proper path to the repository in a form of:git@repo-path.git
. You should checkout to the same tag as in case of the coreboot repository.cd 3rdparty/blobs/mainboard/ git init git remote add origin <PROTECTLI_BLOBS_REPO> git fetch origin && git checkout protectli_vault_cml_v1.1.0 cd -
-
Build the firmware:
./build.sh vp46xx
The resulting coreboot image will be placed in the coreboot directory as
protectli_vault_cml_<version>_vp46xx.rom
../build.sh vp4630_vp4650
The resulting coreboot image will be placed in the coreboot directory as
protectli_vault_cml_<version>_vp4630_vp4650.rom
../build.sh vp4670
The resulting coreboot image will be placed in the coreboot directory as
protectli_vault_cml_<version>_vp4670.rom
.
-
Checkout the desired version, e.g.
v0.9.0
:cd coreboot git checkout protectli_vault_adl_v0.9.0
-
Checkout submodules:
git submodule update --init --checkout
-
Build the firmware:
./build.sh vp66xx
The resulting coreboot image will be placed in the coreboot directory as
protectli_vp66xx.rom
.
-
Checkout the desired version, e.g.
v1.0.15
:cd coreboot git checkout protectli_vault_glk_v1.0.15
-
Checkout submodules:
git submodule update --init --checkout
-
Obtain the Protectli blobs package (only for v1.0.15 or older):
Replace
<PROTECTLI_BLOBS_REPO>
with a a proper path to the repository in a form of:git@repo-path.git
. You should checkout to the same tag as in case of the coreboot repository.cd 3rdparty/blobs/mainboard/ git init git remote add origin <PROTECTLI_BLOBS_REPO> git fetch origin && git checkout protectli_vault_glk_v1.0.15 cd - ln -s ../blobs/mainboard/protectli/vault_glk/GeminilakeFspBinPkg/ 3rdparty/fsp/GeminilakeFspBinPkg
-
Build the firmware:
./build.sh vp2410
The resulting coreboot image will be placed in the coreboot directory as
protectli_vp2410_<version>.rom
.
-
Checkout the desired version, e.g.
v1.1.0
:cd coreboot git checkout protectli_vault_ehl_v1.1.0
-
Checkout submodules:
git submodule update --init --checkout
-
Obtain the Protectli blobs package (only v1.1.0 or older):
Replace
<PROTECTLI_BLOBS_REPO>
with a a proper path to the repository in a form of:git@repo-path.git
. You should checkout to the same tag as in case of the coreboot repository.cd 3rdparty/blobs/mainboard/ git init git remote add origin <PROTECTLI_BLOBS_REPO> git fetch origin && git checkout protectli_vault_ehl_v1.1.0 cd -
-
Build the firmware:
./build.sh vp2420
The resulting coreboot image will be placed in the coreboot directory as
protectli_vp2420_<version>.rom
.