mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-18 20:47:55 +00:00
Add support for t530 and w530 dGPU
This commit adds support for the t530 and w530 boards to enable dGPUs. dGPU's are required for DisplayPort external displays in the t530 dgpu model, and for both the VGA dn DisplayPort external displays in the W530 (which has two dGPUs, the K1000M and K2000M, hence two boards). The commit does the following: 1. Adds automated extraction scripts for vbios modelled on the me script in the blobs directory (one per board is necessary as it is based on board-specific bios updates). 2. Adds specific boards for the various dGPU models and corresponding coreboot configs. 3. Updates circleci config.yaml to run scripts and test boards. Tested and working on T530 dgpu and W530 K1000M. dGPU scripts tested on Debian 10 and Ubuntu 21.04
This commit is contained in:
parent
f0f4677112
commit
a854144e2d
73
blobs/xx30/vbios_t530.sh
Executable file
73
blobs/xx30/vbios_t530.sh
Executable file
@ -0,0 +1,73 @@
|
||||
#!/bin/bash
|
||||
|
||||
BLOBDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
ROMPARSER="94a615302f89b94e70446270197e0f5138d678f3"
|
||||
UEFIEXTRACT="UEFIExtract_NE_A58_linux_x86_64.zip"
|
||||
VBIOSFINDER="c2d764975115de466fdb4963d7773b5bc8468a06"
|
||||
BIOSUPDATE="g4uj41us.exe"
|
||||
ROM_PARSER_SHA256SUM="f3db9e9b32c82fea00b839120e4f1c30b40902856ddc61a84bd3743996bed894 94a615302f89b94e70446270197e0f5138d678f3.zip"
|
||||
UEFI_EXTRACT_SHA256SUM="c9cf4066327bdf6976b0bd71f03c9e049ae39ed19ea3b3592bae3da8615d26d7 UEFIExtract_NE_A58_linux_x86_64.zip"
|
||||
VBIOS_FINDER_SHA256SUM="bd07f47fb53a844a69c609ff268249ffe7bf086519f3d20474087224a23d70c5 c2d764975115de466fdb4963d7773b5bc8468a06.zip"
|
||||
BIOS_UPDATE_SHA256SUM="6fc652b5fa10e5ea1ddc0e8477a2f1cfe56e00df76a94629f9b736faaee6199c g4uj41us.exe"
|
||||
DGPU_ROM_SHA256SUM="3efe4886530086c0b612d1e669fbb4459ec93ec949b25a909e7ad273f4f01015 vbios_10de_0def_1.rom"
|
||||
IGPU_ROM_SHA256SUM="10b292c19322e7bb7db53350d2775d37b72a784292ea5686cd0f92af929f4916 vbios_8086_0106_1.rom"
|
||||
|
||||
echo "### Creating temp dir"
|
||||
extractdir=$(mktemp -d)
|
||||
cd "$extractdir"
|
||||
|
||||
echo "### Installing basic dependencies"
|
||||
sudo apt update && sudo apt install -y wget ruby ruby-dev ruby-bundler p7zip-full upx-ucl
|
||||
|
||||
echo "### Downloading rom-parser dependency"
|
||||
wget https://github.com/awilliam/rom-parser/archive/"$ROMPARSER".zip
|
||||
|
||||
echo "### Verifying expected hash of rom-parser"
|
||||
echo "$ROM_PARSER_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification..." && exit 1; }
|
||||
|
||||
echo "### Installing rom-parser dependency"
|
||||
unzip "$ROMPARSER".zip
|
||||
cd rom-parser-"$ROMPARSER" && make
|
||||
sudo cp rom-parser /usr/sbin/
|
||||
|
||||
echo "### Downloading UEFIExtract dependency"
|
||||
wget https://github.com/LongSoft/UEFITool/releases/download/A58/"$UEFIEXTRACT"
|
||||
|
||||
echo "### Verifying expected hash of UEFIExtract"
|
||||
echo "$UEFI_EXTRACT_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification..." && exit 1; }
|
||||
|
||||
echo "### Installing UEFIExtract"
|
||||
unzip "$UEFIEXTRACT"
|
||||
sudo mv UEFIExtract /usr/sbin/
|
||||
|
||||
echo "### Downloading VBiosFinder"
|
||||
wget https://github.com/coderobe/VBiosFinder/archive/"$VBIOSFINDER".zip
|
||||
|
||||
echo "### Verifying expected hash of VBiosFinder"
|
||||
echo "$VBIOS_FINDER_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification..." && exit 1; }
|
||||
|
||||
echo "### Installing VBiosFinder"
|
||||
unzip "$VBIOSFINDER".zip
|
||||
cd VBiosFinder-"$VBIOSFINDER" && bundle install --path=vendor/bundle
|
||||
|
||||
echo "### Downloading latest Lenovo bios update for t530"
|
||||
wget https://download.lenovo.com/pccbbs/mobiles/"$BIOSUPDATE"
|
||||
|
||||
echo "### Verifying expected hash of bios update"
|
||||
echo "$BIOS_UPDATE_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification..." && exit 1; }
|
||||
|
||||
echo "### Finding, extracting and saving vbios"
|
||||
./vbiosfinder extract "$extractdir"/rom-parser-"$ROMPARSER"/VBiosFinder-"$VBIOSFINDER"/"$BIOSUPDATE"
|
||||
|
||||
echo "Verifying expected hash of extracted roms"
|
||||
cd output
|
||||
echo "$DGPU_ROM_SHA256SUM" | sha256sum --check || { echo "dGPU rom failed sha256sum verification..." && exit 1; }
|
||||
echo "$IGPU_ROM_SHA256SUM" | sha256sum --check || { echo "iGPU rom Failed sha256sum verification..." && exit 1; }
|
||||
|
||||
echo "### Moving extracted roms to blobs directory"
|
||||
mv vbios_10de_0def_1.rom $BLOBDIR/10de,0def.rom
|
||||
mv vbios_8086_0106_1.rom $BLOBDIR/8086,0106.rom
|
||||
|
||||
echo "### Cleaning Up"
|
||||
cd "$BLOBDIR"
|
||||
rm -rf "$extractdir"
|
76
blobs/xx30/vbios_w530.sh
Executable file
76
blobs/xx30/vbios_w530.sh
Executable file
@ -0,0 +1,76 @@
|
||||
#!/bin/bash
|
||||
|
||||
BLOBDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
ROMPARSER="94a615302f89b94e70446270197e0f5138d678f3"
|
||||
UEFIEXTRACT="UEFIExtract_NE_A58_linux_x86_64.zip"
|
||||
VBIOSFINDER="c2d764975115de466fdb4963d7773b5bc8468a06"
|
||||
BIOSUPDATE="g5uj39us.exe"
|
||||
ROM_PARSER_SHA256SUM="f3db9e9b32c82fea00b839120e4f1c30b40902856ddc61a84bd3743996bed894 94a615302f89b94e70446270197e0f5138d678f3.zip"
|
||||
UEFI_EXTRACT_SHA256SUM="c9cf4066327bdf6976b0bd71f03c9e049ae39ed19ea3b3592bae3da8615d26d7 UEFIExtract_NE_A58_linux_x86_64.zip"
|
||||
VBIOS_FINDER_SHA256SUM="bd07f47fb53a844a69c609ff268249ffe7bf086519f3d20474087224a23d70c5 c2d764975115de466fdb4963d7773b5bc8468a06.zip"
|
||||
BIOS_UPDATE_SHA256SUM="4769fdcfe34c40d285b8c7290305f04eb91d692f4bf25acd291d114353a958c2 g5uj39us.exe"
|
||||
K2000M_ROM_SHA256SUM="5005b582019b16d2073cec8cd384ec908d8ff38ab286a6dd65eadc0e89bfb4a8 vbios_10de_0ffb_1.rom"
|
||||
K1000M_ROM_SHA256SUM="6e28abb61cd4c69be7bd64e487681164cb487a48d77276f3108e3f192ceeee16 vbios_10de_0ffc_1.rom"
|
||||
IGPU_ROM_SHA256SUM="10b292c19322e7bb7db53350d2775d37b72a784292ea5686cd0f92af929f4916 vbios_8086_0106_1.rom"
|
||||
|
||||
echo "### Creating temp dir"
|
||||
extractdir=$(mktemp -d)
|
||||
cd "$extractdir"
|
||||
|
||||
echo "### Installing basic dependencies"
|
||||
sudo apt update && sudo apt install -y wget ruby ruby-dev ruby-bundler p7zip-full upx-ucl
|
||||
|
||||
echo "### Downloading rom-parser dependency"
|
||||
wget https://github.com/awilliam/rom-parser/archive/"$ROMPARSER".zip
|
||||
|
||||
echo "### Verifying expected hash of rom-parser"
|
||||
echo "$ROM_PARSER_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification..." && exit 1; }
|
||||
|
||||
echo "### Installing rom-parser dependency"
|
||||
unzip "$ROMPARSER".zip
|
||||
cd rom-parser-"$ROMPARSER" && make
|
||||
sudo cp rom-parser /usr/sbin/
|
||||
|
||||
echo "### Downloading UEFIExtract dependency"
|
||||
wget https://github.com/LongSoft/UEFITool/releases/download/A58/"$UEFIEXTRACT"
|
||||
|
||||
echo "### Verifying expected hash of UEFIExtract"
|
||||
echo "$UEFI_EXTRACT_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification..." && exit 1; }
|
||||
|
||||
echo "### Installing UEFIExtract"
|
||||
unzip "$UEFIEXTRACT"
|
||||
sudo mv UEFIExtract /usr/sbin/
|
||||
|
||||
echo "### Downloading VBiosFinder"
|
||||
wget https://github.com/coderobe/VBiosFinder/archive/"$VBIOSFINDER".zip
|
||||
|
||||
echo "### Verifying expected hash of VBiosFinder"
|
||||
echo "$VBIOS_FINDER_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification..." && exit 1; }
|
||||
|
||||
echo "### Installing VBiosFinder"
|
||||
unzip "$VBIOSFINDER".zip
|
||||
cd VBiosFinder-"$VBIOSFINDER" && bundle install --path=vendor/bundle
|
||||
|
||||
echo "### Downloading latest Lenovo bios update for w530"
|
||||
wget https://download.lenovo.com/pccbbs/mobiles/"$BIOSUPDATE"
|
||||
|
||||
echo "### Verifying expected hash of bios update"
|
||||
echo "$BIOS_UPDATE_SHA256SUM" | sha256sum --check || { echo "Failed sha256sum verification..." && exit 1; }
|
||||
|
||||
echo "### Finding, extracting and saving vbios"
|
||||
./vbiosfinder extract "$extractdir"/rom-parser-"$ROMPARSER"/VBiosFinder-"$VBIOSFINDER"/"$BIOSUPDATE"
|
||||
|
||||
echo "Verifying expected hash of extracted roms"
|
||||
cd output
|
||||
echo "$K2000M_ROM_SHA256SUM" | sha256sum --check || { echo "K2000M rom failed sha256sum verification..." && exit 1; }
|
||||
echo "$K1000M_ROM_SHA256SUM" | sha256sum --check || { echo "K1000M rom failed sha256sum verification..." && exit 1; }
|
||||
echo "$IGPU_ROM_SHA256SUM" | sha256sum --check || { echo "iGPU rom Failed sha256sum verification..." && exit 1; }
|
||||
|
||||
echo "### Moving extracted roms to blobs directory"
|
||||
mv vbios_10de_0ffb_1.rom "$BLOBDIR"/10de,0ffb.rom
|
||||
mv vbios_10de_0ffc_1.rom "$BLOBDIR"/10de,0ffc.rom
|
||||
mv vbios_8086_0106_1.rom "$BLOBDIR"/8086,0106.rom
|
||||
|
||||
echo "### Cleaning Up"
|
||||
cd "$BLOBDIR"
|
||||
rm -rf "$extractdir"
|
@ -0,0 +1,90 @@
|
||||
# Configuration for a T530 running Qubes and other Linux Based OSes (through kexec)
|
||||
#
|
||||
# Includes
|
||||
# - Deactivated+neutered ME and expanded consequent IFD BIOS regions
|
||||
# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh)
|
||||
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
|
||||
#
|
||||
# - Includes Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
|
||||
# This board is designed for a t530 with a dGPU. Initialization of the dGPU is necessary in order to use an external monitor via the DisplayPort (either the in-built mini-DisplayPort or the DisplayPort in the dock). In order to build this the relevant script in the blobs directory must be run (or self-pulled roms placed in that directory) and after building the rom, the nvramtool must be run on the 12MB rom to change the default graphics mode away from integrated-only graphics (see README_vbios in the blobs directory).
|
||||
export CONFIG_COREBOOT=y
|
||||
export CONFIG_COREBOOT_VERSION=4.13
|
||||
export CONFIG_LINUX_VERSION=4.14.62
|
||||
|
||||
CONFIG_COREBOOT_CONFIG=config/coreboot-t530-dgpu-hotp-maximized.config
|
||||
CONFIG_LINUX_CONFIG=config/linux-x230.config
|
||||
|
||||
#Additional hardware support
|
||||
CONFIG_LINUX_USB=y
|
||||
CONFIG_LINUX_E1000E=y
|
||||
|
||||
CONFIG_CRYPTSETUP=y
|
||||
CONFIG_FLASHROM=y
|
||||
CONFIG_FLASHTOOLS=y
|
||||
CONFIG_GPG2=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_UTIL_LINUX=y
|
||||
CONFIG_LVM2=y
|
||||
CONFIG_MBEDTLS=y
|
||||
CONFIG_PCIUTILS=y
|
||||
|
||||
#Remote attestation support
|
||||
#TPM based requirements
|
||||
export CONFIG_TPM=y
|
||||
CONFIG_POPT=y
|
||||
CONFIG_QRENCODE=y
|
||||
CONFIG_TPMTOTP=y
|
||||
#HOTP based remote attestation for supported USB Security dongle
|
||||
#With/Without TPM support
|
||||
CONFIG_HOTPKEY=y
|
||||
|
||||
#Nitrokey Storage admin tool
|
||||
CONFIG_NKSTORECLI=n
|
||||
|
||||
#GUI Support
|
||||
#Console based Whiptail support(Console based, no FB):
|
||||
#CONFIG_SLANG=y
|
||||
#CONFIG_NEWT=y
|
||||
#FBWhiptail based (Graphical):
|
||||
CONFIG_CAIRO=y
|
||||
CONFIG_FBWHIPTAIL=y
|
||||
|
||||
#Additional tools:
|
||||
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
||||
CONFIG_DROPBEAR=y
|
||||
|
||||
export CONFIG_BOOTSCRIPT=/bin/gui-init
|
||||
export CONFIG_BOOT_REQ_HASH=n
|
||||
export CONFIG_BOOT_REQ_ROLLBACK=n
|
||||
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on intel_iommu=igfx_off"
|
||||
export CONFIG_BOOT_KERNEL_REMOVE="quiet"
|
||||
export CONFIG_BOOT_DEV="/dev/sda1"
|
||||
export CONFIG_BOARD_NAME="Thinkpad T530-dgpu-hotp-maximized"
|
||||
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"
|
||||
|
||||
# xx30-*-maximized boards require of you initially call one of the
|
||||
# following to have gbe.bin ifd.bin and me.bin
|
||||
# - blobs/xx30/download_clean_me.sh
|
||||
# To download Lenovo original ME binary, neuter+deactivate ME, produce
|
||||
# reduced IFD ME region and expanded BIOS IFD region.
|
||||
# - blobs/xx30/extract.sh
|
||||
# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs.
|
||||
#
|
||||
# This board has two SPI flash chips, an 8 MB that holds the IFD,
|
||||
# the ME image and part of the coreboot image, and a 4 MB one that
|
||||
# has the rest of the coreboot and the reset vector.
|
||||
#
|
||||
# As a consequence, this replaces the need of having to flash t530-flash
|
||||
# and expands available CBFS region (11.5Mb available CBFS space)
|
||||
#
|
||||
# When flashing via an external programmer it is easiest to have
|
||||
# two separate files for these pieces.
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none)
|
||||
@sha256sum $@
|
||||
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none)
|
||||
@sha256sum $@
|
90
boards/t530-dgpu-maximized/t530-dgpu-maximized.config
Normal file
90
boards/t530-dgpu-maximized/t530-dgpu-maximized.config
Normal file
@ -0,0 +1,90 @@
|
||||
# Configuration for a T530 running Qubes and other Linux Based OSes (through kexec)
|
||||
#
|
||||
# Includes
|
||||
# - Deactivated+neutered ME and expanded consequent IFD BIOS regions
|
||||
# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh)
|
||||
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
|
||||
#
|
||||
# - Includes Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
|
||||
# This board is designed for a t530 with a dGPU. Initialization of the dGPU is necessary in order to use an external monitor via the DisplayPort (either the in-built mini-DisplayPort or the DisplayPort in the dock). In order to build this the relevant script in the blobs directory must be run (or self-pulled roms placed in that directory) and after building the rom, the nvramtool must be run on the 12MB rom to change the default graphics mode away from integrated-only graphics (see README_vbios in the blobs directory).
|
||||
export CONFIG_COREBOOT=y
|
||||
export CONFIG_COREBOOT_VERSION=4.13
|
||||
export CONFIG_LINUX_VERSION=4.14.62
|
||||
|
||||
CONFIG_COREBOOT_CONFIG=config/coreboot-t530-dgpu-maximized.config
|
||||
CONFIG_LINUX_CONFIG=config/linux-x230.config
|
||||
|
||||
#Additional hardware support
|
||||
CONFIG_LINUX_USB=y
|
||||
CONFIG_LINUX_E1000E=y
|
||||
|
||||
CONFIG_CRYPTSETUP=y
|
||||
CONFIG_FLASHROM=y
|
||||
CONFIG_FLASHTOOLS=y
|
||||
CONFIG_GPG2=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_UTIL_LINUX=y
|
||||
CONFIG_LVM2=y
|
||||
CONFIG_MBEDTLS=y
|
||||
CONFIG_PCIUTILS=y
|
||||
|
||||
#Remote attestation support
|
||||
#TPM based requirements
|
||||
export CONFIG_TPM=y
|
||||
CONFIG_POPT=y
|
||||
CONFIG_QRENCODE=y
|
||||
CONFIG_TPMTOTP=y
|
||||
#HOTP based remote attestation for supported USB Security dongle
|
||||
#With/Without TPM support
|
||||
CONFIG_HOTPKEY=n
|
||||
|
||||
#Nitrokey Storage admin tool
|
||||
CONFIG_NKSTORECLI=n
|
||||
|
||||
#GUI Support
|
||||
#Console based Whiptail support(Console based, no FB):
|
||||
#CONFIG_SLANG=y
|
||||
#CONFIG_NEWT=y
|
||||
#FBWhiptail based (Graphical):
|
||||
CONFIG_CAIRO=y
|
||||
CONFIG_FBWHIPTAIL=y
|
||||
|
||||
#Additional tools:
|
||||
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
||||
CONFIG_DROPBEAR=y
|
||||
|
||||
export CONFIG_BOOTSCRIPT=/bin/gui-init
|
||||
export CONFIG_BOOT_REQ_HASH=n
|
||||
export CONFIG_BOOT_REQ_ROLLBACK=n
|
||||
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on intel_iommu=igfx_off"
|
||||
export CONFIG_BOOT_KERNEL_REMOVE="quiet"
|
||||
export CONFIG_BOOT_DEV="/dev/sda1"
|
||||
export CONFIG_BOARD_NAME="Thinkpad T530-dgpu-maximized"
|
||||
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"
|
||||
|
||||
# xx30-*-maximized boards require of you initially call one of the
|
||||
# following to have gbe.bin ifd.bin and me.bin
|
||||
# - blobs/xx30/download_clean_me.sh
|
||||
# To download Lenovo original ME binary, neuter+deactivate ME, produce
|
||||
# reduced IFD ME region and expanded BIOS IFD region.
|
||||
# - blobs/xx30/extract.sh
|
||||
# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs.
|
||||
#
|
||||
# This board has two SPI flash chips, an 8 MB that holds the IFD,
|
||||
# the ME image and part of the coreboot image, and a 4 MB one that
|
||||
# has the rest of the coreboot and the reset vector.
|
||||
#
|
||||
# As a consequence, this replaces the need of having to flash t530-flash
|
||||
# and expands available CBFS region (11.5Mb available CBFS space)
|
||||
#
|
||||
# When flashing via an external programmer it is easiest to have
|
||||
# two separate files for these pieces.
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none)
|
||||
@sha256sum $@
|
||||
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none)
|
||||
@sha256sum $@
|
@ -0,0 +1,90 @@
|
||||
# Configuration for a W530 running Qubes and other Linux Based OSes (through kexec)
|
||||
#
|
||||
# Includes
|
||||
# - Deactivated+neutered ME and expanded consequent IFD BIOS regions
|
||||
# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh)
|
||||
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
|
||||
#
|
||||
# - Includes Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
|
||||
# This board is designed for a w530 with the K1000M Nvidia Quadro dGPU. Initialization of the dGPU is necessary in order to use an external monitor whether through the in-build VGA or mini-DisplayPort or via the dock. In order to build this the relevant script in the blobs directory must be run (or self-pulled roms placed in that directory) and after building the rom, the nvramtool must be run on the 12MB rom to change the default graphics mode away from integrated-only graphics (see README_vbios in the blobs directory).
|
||||
export CONFIG_COREBOOT=y
|
||||
export CONFIG_COREBOOT_VERSION=4.13
|
||||
export CONFIG_LINUX_VERSION=4.14.62
|
||||
|
||||
CONFIG_COREBOOT_CONFIG=config/coreboot-w530-dgpu-K1000m-hotp-maximized.config
|
||||
CONFIG_LINUX_CONFIG=config/linux-x230.config
|
||||
|
||||
#Additional hardware support
|
||||
CONFIG_LINUX_USB=y
|
||||
CONFIG_LINUX_E1000E=y
|
||||
|
||||
CONFIG_CRYPTSETUP=y
|
||||
CONFIG_FLASHROM=y
|
||||
CONFIG_FLASHTOOLS=y
|
||||
CONFIG_GPG2=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_UTIL_LINUX=y
|
||||
CONFIG_LVM2=y
|
||||
CONFIG_MBEDTLS=y
|
||||
CONFIG_PCIUTILS=y
|
||||
|
||||
#Remote attestation support
|
||||
#TPM based requirements
|
||||
export CONFIG_TPM=y
|
||||
CONFIG_POPT=y
|
||||
CONFIG_QRENCODE=y
|
||||
CONFIG_TPMTOTP=y
|
||||
#HOTP based remote attestation for supported USB Security dongle
|
||||
#With/Without TPM support
|
||||
CONFIG_HOTPKEY=y
|
||||
|
||||
#Nitrokey Storage admin tool
|
||||
CONFIG_NKSTORECLI=n
|
||||
|
||||
#GUI Support
|
||||
#Console based Whiptail support(Console based, no FB):
|
||||
#CONFIG_SLANG=y
|
||||
#CONFIG_NEWT=y
|
||||
#FBWhiptail based (Graphical):
|
||||
CONFIG_CAIRO=y
|
||||
CONFIG_FBWHIPTAIL=y
|
||||
|
||||
#Additional tools:
|
||||
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
||||
CONFIG_DROPBEAR=y
|
||||
|
||||
export CONFIG_BOOTSCRIPT=/bin/gui-init
|
||||
export CONFIG_BOOT_REQ_HASH=n
|
||||
export CONFIG_BOOT_REQ_ROLLBACK=n
|
||||
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on intel_iommu=igfx_off"
|
||||
export CONFIG_BOOT_KERNEL_REMOVE="quiet"
|
||||
export CONFIG_BOOT_DEV="/dev/sda1"
|
||||
export CONFIG_BOARD_NAME="Thinkpad W530-dgpu-K1000m-hotp-maximized"
|
||||
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"
|
||||
|
||||
# xx30-*-maximized boards require of you initially call one of the
|
||||
# following to have gbe.bin ifd.bin and me.bin
|
||||
# - blobs/xx30/download_clean_me.sh
|
||||
# To download Lenovo original ME binary, neuter+deactivate ME, produce
|
||||
# reduced IFD ME region and expanded BIOS IFD region.
|
||||
# - blobs/xx30/extract.sh
|
||||
# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs.
|
||||
#
|
||||
# This board has two SPI flash chips, an 8 MB that holds the IFD,
|
||||
# the ME image and part of the coreboot image, and a 4 MB one that
|
||||
# has the rest of the coreboot and the reset vector.
|
||||
#
|
||||
# As a consequence, this replaces the need of having to flash t530-flash
|
||||
# and expands available CBFS region (11.5Mb available CBFS space)
|
||||
#
|
||||
# When flashing via an external programmer it is easiest to have
|
||||
# two separate files for these pieces.
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none)
|
||||
@sha256sum $@
|
||||
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none)
|
||||
@sha256sum $@
|
@ -0,0 +1,90 @@
|
||||
# Configuration for a W530 running Qubes and other Linux Based OSes (through kexec)
|
||||
#
|
||||
# Includes
|
||||
# - Deactivated+neutered ME and expanded consequent IFD BIOS regions
|
||||
# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh)
|
||||
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
|
||||
#
|
||||
# - Includes Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
|
||||
# This board is designed for a w530 with the K1000M Nvidia Quadro dGPU. Initialization of the dGPU is necessary in order to use an external monitor whether through the in-build VGA or mini-DisplayPort or via the dock. In order to build this the relevant script in the blobs directory must be run (or self-pulled roms placed in that directory) and after building the rom, the nvramtool must be run on the 12MB rom to change the default graphics mode away from integrated-only graphics (see README_vbios in the blobs directory).
|
||||
export CONFIG_COREBOOT=y
|
||||
export CONFIG_COREBOOT_VERSION=4.13
|
||||
export CONFIG_LINUX_VERSION=4.14.62
|
||||
|
||||
CONFIG_COREBOOT_CONFIG=config/coreboot-w530-dgpu-K1000m-maximized.config
|
||||
CONFIG_LINUX_CONFIG=config/linux-x230.config
|
||||
|
||||
#Additional hardware support
|
||||
CONFIG_LINUX_USB=y
|
||||
CONFIG_LINUX_E1000E=y
|
||||
|
||||
CONFIG_CRYPTSETUP=y
|
||||
CONFIG_FLASHROM=y
|
||||
CONFIG_FLASHTOOLS=y
|
||||
CONFIG_GPG2=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_UTIL_LINUX=y
|
||||
CONFIG_LVM2=y
|
||||
CONFIG_MBEDTLS=y
|
||||
CONFIG_PCIUTILS=y
|
||||
|
||||
#Remote attestation support
|
||||
#TPM based requirements
|
||||
export CONFIG_TPM=y
|
||||
CONFIG_POPT=y
|
||||
CONFIG_QRENCODE=y
|
||||
CONFIG_TPMTOTP=y
|
||||
#HOTP based remote attestation for supported USB Security dongle
|
||||
#With/Without TPM support
|
||||
CONFIG_HOTPKEY=n
|
||||
|
||||
#Nitrokey Storage admin tool
|
||||
CONFIG_NKSTORECLI=n
|
||||
|
||||
#GUI Support
|
||||
#Console based Whiptail support(Console based, no FB):
|
||||
#CONFIG_SLANG=y
|
||||
#CONFIG_NEWT=y
|
||||
#FBWhiptail based (Graphical):
|
||||
CONFIG_CAIRO=y
|
||||
CONFIG_FBWHIPTAIL=y
|
||||
|
||||
#Additional tools:
|
||||
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
||||
CONFIG_DROPBEAR=y
|
||||
|
||||
export CONFIG_BOOTSCRIPT=/bin/gui-init
|
||||
export CONFIG_BOOT_REQ_HASH=n
|
||||
export CONFIG_BOOT_REQ_ROLLBACK=n
|
||||
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on intel_iommu=igfx_off"
|
||||
export CONFIG_BOOT_KERNEL_REMOVE="quiet"
|
||||
export CONFIG_BOOT_DEV="/dev/sda1"
|
||||
export CONFIG_BOARD_NAME="Thinkpad W530-dgpu-K1000m-maximized"
|
||||
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"
|
||||
|
||||
# xx30-*-maximized boards require of you initially call one of the
|
||||
# following to have gbe.bin ifd.bin and me.bin
|
||||
# - blobs/xx30/download_clean_me.sh
|
||||
# To download Lenovo original ME binary, neuter+deactivate ME, produce
|
||||
# reduced IFD ME region and expanded BIOS IFD region.
|
||||
# - blobs/xx30/extract.sh
|
||||
# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs.
|
||||
#
|
||||
# This board has two SPI flash chips, an 8 MB that holds the IFD,
|
||||
# the ME image and part of the coreboot image, and a 4 MB one that
|
||||
# has the rest of the coreboot and the reset vector.
|
||||
#
|
||||
# As a consequence, this replaces the need of having to flash t530-flash
|
||||
# and expands available CBFS region (11.5Mb available CBFS space)
|
||||
#
|
||||
# When flashing via an external programmer it is easiest to have
|
||||
# two separate files for these pieces.
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none)
|
||||
@sha256sum $@
|
||||
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none)
|
||||
@sha256sum $@
|
@ -0,0 +1,90 @@
|
||||
# Configuration for a W530 running Qubes and other Linux Based OSes (through kexec)
|
||||
#
|
||||
# Includes
|
||||
# - Deactivated+neutered ME and expanded consequent IFD BIOS regions
|
||||
# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh)
|
||||
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
|
||||
#
|
||||
# - Includes Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
|
||||
# This board is designed for a w530 with the K2000M Nvidia Quadro dGPU. Initialization of the dGPU is necessary in order to use an external monitor whether through the in-build VGA or mini-DisplayPort or via the dock. In order to build this the relevant script in the blobs directory must be run (or self-pulled roms placed in that directory) and after building the rom, the nvramtool must be run on the 12MB rom to change the default graphics mode away from integrated-only graphics (see README_vbios in the blobs directory).
|
||||
export CONFIG_COREBOOT=y
|
||||
export CONFIG_COREBOOT_VERSION=4.13
|
||||
export CONFIG_LINUX_VERSION=4.14.62
|
||||
|
||||
CONFIG_COREBOOT_CONFIG=config/coreboot-w530-dgpu-K2000m-hotp-maximized.config
|
||||
CONFIG_LINUX_CONFIG=config/linux-x230.config
|
||||
|
||||
#Additional hardware support
|
||||
CONFIG_LINUX_USB=y
|
||||
CONFIG_LINUX_E1000E=y
|
||||
|
||||
CONFIG_CRYPTSETUP=y
|
||||
CONFIG_FLASHROM=y
|
||||
CONFIG_FLASHTOOLS=y
|
||||
CONFIG_GPG2=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_UTIL_LINUX=y
|
||||
CONFIG_LVM2=y
|
||||
CONFIG_MBEDTLS=y
|
||||
CONFIG_PCIUTILS=y
|
||||
|
||||
#Remote attestation support
|
||||
#TPM based requirements
|
||||
export CONFIG_TPM=y
|
||||
CONFIG_POPT=y
|
||||
CONFIG_QRENCODE=y
|
||||
CONFIG_TPMTOTP=y
|
||||
#HOTP based remote attestation for supported USB Security dongle
|
||||
#With/Without TPM support
|
||||
CONFIG_HOTPKEY=y
|
||||
|
||||
#Nitrokey Storage admin tool
|
||||
CONFIG_NKSTORECLI=n
|
||||
|
||||
#GUI Support
|
||||
#Console based Whiptail support(Console based, no FB):
|
||||
#CONFIG_SLANG=y
|
||||
#CONFIG_NEWT=y
|
||||
#FBWhiptail based (Graphical):
|
||||
CONFIG_CAIRO=y
|
||||
CONFIG_FBWHIPTAIL=y
|
||||
|
||||
#Additional tools:
|
||||
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
||||
CONFIG_DROPBEAR=y
|
||||
|
||||
export CONFIG_BOOTSCRIPT=/bin/gui-init
|
||||
export CONFIG_BOOT_REQ_HASH=n
|
||||
export CONFIG_BOOT_REQ_ROLLBACK=n
|
||||
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on intel_iommu=igfx_off"
|
||||
export CONFIG_BOOT_KERNEL_REMOVE="quiet"
|
||||
export CONFIG_BOOT_DEV="/dev/sda1"
|
||||
export CONFIG_BOARD_NAME="Thinkpad W530-dgpu-K2000m-hotp-maximized"
|
||||
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"
|
||||
|
||||
# xx30-*-maximized boards require of you initially call one of the
|
||||
# following to have gbe.bin ifd.bin and me.bin
|
||||
# - blobs/xx30/download_clean_me.sh
|
||||
# To download Lenovo original ME binary, neuter+deactivate ME, produce
|
||||
# reduced IFD ME region and expanded BIOS IFD region.
|
||||
# - blobs/xx30/extract.sh
|
||||
# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs.
|
||||
#
|
||||
# This board has two SPI flash chips, an 8 MB that holds the IFD,
|
||||
# the ME image and part of the coreboot image, and a 4 MB one that
|
||||
# has the rest of the coreboot and the reset vector.
|
||||
#
|
||||
# As a consequence, this replaces the need of having to flash t530-flash
|
||||
# and expands available CBFS region (11.5Mb available CBFS space)
|
||||
#
|
||||
# When flashing via an external programmer it is easiest to have
|
||||
# two separate files for these pieces.
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none)
|
||||
@sha256sum $@
|
||||
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none)
|
||||
@sha256sum $@
|
@ -0,0 +1,90 @@
|
||||
# Configuration for a W530 running Qubes and other Linux Based OSes (through kexec)
|
||||
#
|
||||
# Includes
|
||||
# - Deactivated+neutered ME and expanded consequent IFD BIOS regions
|
||||
# - Forged 00:DE:AD:C0:FF:EE MAC address (if not extracting gbe.bin from backup with blobs/xx30/extract.sh)
|
||||
# - Note that this MAC address can be modified under build/coreboot-VER/util/bincfg/gbe-82579LM.set
|
||||
#
|
||||
# - Includes Nitrokey/Librem Key HOTP Security dongle remote attestation (in addition to TOTP remote attestation through Qr Code)
|
||||
# This board is designed for a w530 with the K2000M Nvidia Quadro dGPU. Initialization of the dGPU is necessary in order to use an external monitor whether through the in-build VGA or mini-DisplayPort or via the dock. In order to build this the relevant script in the blobs directory must be run (or self-pulled roms placed in that directory) and after building the rom, the nvramtool must be run on the 12MB rom to change the default graphics mode away from integrated-only graphics (see README_vbios in the blobs directory).
|
||||
export CONFIG_COREBOOT=y
|
||||
export CONFIG_COREBOOT_VERSION=4.13
|
||||
export CONFIG_LINUX_VERSION=4.14.62
|
||||
|
||||
CONFIG_COREBOOT_CONFIG=config/coreboot-w530-dgpu-K2000m-maximized.config
|
||||
CONFIG_LINUX_CONFIG=config/linux-x230.config
|
||||
|
||||
#Additional hardware support
|
||||
CONFIG_LINUX_USB=y
|
||||
CONFIG_LINUX_E1000E=y
|
||||
|
||||
CONFIG_CRYPTSETUP=y
|
||||
CONFIG_FLASHROM=y
|
||||
CONFIG_FLASHTOOLS=y
|
||||
CONFIG_GPG2=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_UTIL_LINUX=y
|
||||
CONFIG_LVM2=y
|
||||
CONFIG_MBEDTLS=y
|
||||
CONFIG_PCIUTILS=y
|
||||
|
||||
#Remote attestation support
|
||||
#TPM based requirements
|
||||
export CONFIG_TPM=y
|
||||
CONFIG_POPT=y
|
||||
CONFIG_QRENCODE=y
|
||||
CONFIG_TPMTOTP=y
|
||||
#HOTP based remote attestation for supported USB Security dongle
|
||||
#With/Without TPM support
|
||||
CONFIG_HOTPKEY=n
|
||||
|
||||
#Nitrokey Storage admin tool
|
||||
CONFIG_NKSTORECLI=n
|
||||
|
||||
#GUI Support
|
||||
#Console based Whiptail support(Console based, no FB):
|
||||
#CONFIG_SLANG=y
|
||||
#CONFIG_NEWT=y
|
||||
#FBWhiptail based (Graphical):
|
||||
CONFIG_CAIRO=y
|
||||
CONFIG_FBWHIPTAIL=y
|
||||
|
||||
#Additional tools:
|
||||
#SSH server (requires ethernet drivers, eg: CONFIG_LINUX_E1000E)
|
||||
CONFIG_DROPBEAR=y
|
||||
|
||||
export CONFIG_BOOTSCRIPT=/bin/gui-init
|
||||
export CONFIG_BOOT_REQ_HASH=n
|
||||
export CONFIG_BOOT_REQ_ROLLBACK=n
|
||||
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on intel_iommu=igfx_off"
|
||||
export CONFIG_BOOT_KERNEL_REMOVE="quiet"
|
||||
export CONFIG_BOOT_DEV="/dev/sda1"
|
||||
export CONFIG_BOARD_NAME="Thinkpad W530-dgpu-K2000m-maximized"
|
||||
export CONFIG_FLASHROM_OPTIONS="--force --noverify-all -p internal"
|
||||
|
||||
# xx30-*-maximized boards require of you initially call one of the
|
||||
# following to have gbe.bin ifd.bin and me.bin
|
||||
# - blobs/xx30/download_clean_me.sh
|
||||
# To download Lenovo original ME binary, neuter+deactivate ME, produce
|
||||
# reduced IFD ME region and expanded BIOS IFD region.
|
||||
# - blobs/xx30/extract.sh
|
||||
# To extract from backuped 8M (bottom SPI) ME binary, GBE and IFD blobs.
|
||||
#
|
||||
# This board has two SPI flash chips, an 8 MB that holds the IFD,
|
||||
# the ME image and part of the coreboot image, and a 4 MB one that
|
||||
# has the rest of the coreboot and the reset vector.
|
||||
#
|
||||
# As a consequence, this replaces the need of having to flash t530-flash
|
||||
# and expands available CBFS region (11.5Mb available CBFS space)
|
||||
#
|
||||
# When flashing via an external programmer it is easiest to have
|
||||
# two separate files for these pieces.
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-bottom.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 8MB,$@,dd of=$@ if=$< bs=65536 count=128 skip=0 status=none)
|
||||
@sha256sum $@
|
||||
|
||||
all: $(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom
|
||||
$(build)/$(BOARD)/heads-$(BOARD)-$(HEADS_GIT_VERSION)-top.rom: $(build)/$(BOARD)/$(CB_OUTPUT_FILE)
|
||||
$(call do,DD 4MB,$@,dd of=$@ if=$< bs=65536 count=64 skip=128 status=none)
|
||||
@sha256sum $@
|
461
config.yml
Normal file
461
config.yml
Normal file
@ -0,0 +1,461 @@
|
||||
version: 2.1
|
||||
|
||||
commands:
|
||||
build_board:
|
||||
parameters:
|
||||
target:
|
||||
type: string
|
||||
subcommand:
|
||||
type: string
|
||||
steps:
|
||||
- run:
|
||||
name: Install dependencies
|
||||
command: |
|
||||
apt update
|
||||
apt install -y build-essential zlib1g-dev uuid-dev libdigest-sha-perl libelf-dev bc bzip2 bison flex git gnupg iasl m4 nasm patch python python2 python3 wget gnat cpio ccache pkg-config cmake libusb-1.0-0-dev autoconf texinfo ncurses-dev doxygen graphviz udev libudev1 libudev-dev automake libtool rsync innoextract sudo
|
||||
- run:
|
||||
name: Make Board
|
||||
command: |
|
||||
rm -rf build/<<parameters.target>>/* build/log/* && make V=1 BOARD=<<parameters.target>> <<parameters.subcommand>> || touch ./tmpDir/failed_build
|
||||
no_output_timeout: 3h
|
||||
- run:
|
||||
name: Output build failing logs
|
||||
command: |
|
||||
if [[ -f ./tmpDir/failed_build ]]; then find ./build/ -name "*.log" -type f -mmin -1|while read log; do echo ""; echo '==>' "$log" '<=='; echo ""; cat $log;done; exit 1;else echo "Not failing. Continuing..."; fi \
|
||||
- run:
|
||||
name: Output hashes
|
||||
command: |
|
||||
cat build/<<parameters.target>>/hashes.txt || echo "No hashes for this build step..."\
|
||||
- run:
|
||||
name: Archiving build logs.
|
||||
command: |
|
||||
tar zcvf build/<<parameters.target>>/logs.tar.gz build/log/*
|
||||
- store_artifacts:
|
||||
path: build/<<parameters.target>>
|
||||
|
||||
jobs:
|
||||
prep_env:
|
||||
docker:
|
||||
- image: debian:10
|
||||
resource_class: large
|
||||
steps:
|
||||
- run:
|
||||
name: Install dependencies
|
||||
command: |
|
||||
apt update
|
||||
apt install -y build-essential zlib1g-dev uuid-dev libdigest-sha-perl libelf-dev bc bzip2 bison flex git gnupg iasl m4 nasm patch python python2 python3 wget gnat cpio ccache pkg-config cmake libusb-1.0-0-dev autoconf texinfo ncurses-dev doxygen graphviz udev libudev1 libudev-dev automake libtool rsync innoextract sudo
|
||||
- checkout
|
||||
|
||||
- run:
|
||||
name: git reset
|
||||
command: |
|
||||
git reset --hard "$CIRCLE_SHA1" \
|
||||
|
||||
- run:
|
||||
name: Make tmp dir
|
||||
command: |
|
||||
mkdir ./tmpDir \
|
||||
|
||||
- run:
|
||||
name: Creating all modules and patches digest (All modules cache digest)
|
||||
command: |
|
||||
find ./patches/ ./modules/ -type f | sort -h |xargs sha256sum > ./tmpDir/all_modules_and_patches.sha256sums \
|
||||
|
||||
- run:
|
||||
name: Creating coreboot (and associated patches) and musl-cross-make modules digest (musl-cross-make and coreboot cache digest)
|
||||
command: |
|
||||
find ./modules/coreboot ./modules/musl-cross* ./patches/coreboot* -type f | sort -h | xargs sha256sum > ./tmpDir/coreboot_musl-cross.sha256sums \
|
||||
|
||||
- run:
|
||||
name: Creating musl-cross-make and musl-cross-make patches digest (musl-cross-make cache digest)
|
||||
command: |
|
||||
find modules/musl-cross* -type f | sort -h | xargs sha256sum > ./tmpDir/musl-cross.sha256sums \
|
||||
|
||||
- restore_cache:
|
||||
keys:
|
||||
#Restore existing cache for matching modules digest, validated to be exactly the same as in github current commit.
|
||||
#This cache was made on top of below caches, if previously existing. If no module definition changed, we reuse this one. Otherwise...
|
||||
- heads-modules-and-patches-{{ checksum "./tmpDir/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
|
||||
#If precedent cache not found, restore cache for coreboot module (and patches) and musl-cross-make digests (bi-yearly modified)
|
||||
#Otehrwise....
|
||||
- heads-coreboot-musl-cross-{{ checksum "./tmpDir/coreboot_musl-cross.sha256sums" }}{{ .Environment.CACHE_VERSION }}
|
||||
#If precedent cache not found. Restore cache for musl-cross-make module digest (rarely modified).
|
||||
#Otherwise, we build cleanly.
|
||||
- heads-musl-cross-{{ checksum "./tmpDir/musl-cross.sha256sums" }}{{ .Environment.CACHE_VERSION }}
|
||||
- run:
|
||||
name: Download and neuter xx20 ME (keep generated GBE and extracted IFD in tree)
|
||||
command: |
|
||||
./blobs/xx20/download_parse_me.sh
|
||||
|
||||
- run:
|
||||
name: Download and neuter xx30 ME (keep generated GBE and extracted IFD in tree)
|
||||
# me_cleaner.py present under heads xx30 blobs dir comes from https://github.com/corna/me_cleaner/blob/43612a630c79f3bc6f2653bfe90dfe0b7b137e08/me_cleaner.py
|
||||
command: |
|
||||
./blobs/xx30/download_clean_me.sh -m $(readlink -f ./blobs/xx30/me_cleaner.py)
|
||||
|
||||
- run:
|
||||
name: Download and extract t530 vbios roms for dgpu boards
|
||||
command: |
|
||||
./blobs/xx30/vbios_t530.sh
|
||||
|
||||
- run:
|
||||
name: Download and extract w530 vbios roms for dgpu boards
|
||||
command: |
|
||||
./blobs/xx30/vbios_w530.sh
|
||||
|
||||
- persist_to_workspace:
|
||||
root: ~/
|
||||
paths:
|
||||
- .
|
||||
|
||||
build_and_persist:
|
||||
docker:
|
||||
- image: debian:10
|
||||
resource_class: large
|
||||
parameters:
|
||||
target:
|
||||
type: string
|
||||
subcommand:
|
||||
type: string
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: ~/
|
||||
- build_board:
|
||||
target: <<parameters.target>>
|
||||
subcommand: <<parameters.subcommand>>
|
||||
- persist_to_workspace:
|
||||
root: ~/
|
||||
paths:
|
||||
- .
|
||||
|
||||
build:
|
||||
docker:
|
||||
- image: debian:10
|
||||
parameters:
|
||||
target:
|
||||
type: string
|
||||
subcommand:
|
||||
type: string
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: ~/
|
||||
- build_board:
|
||||
target: <<parameters.target>>
|
||||
subcommand: <<parameters.subcommand>>
|
||||
|
||||
save_cache:
|
||||
docker:
|
||||
- image: debian:10
|
||||
steps:
|
||||
- attach_workspace:
|
||||
at: ~/
|
||||
- save_cache:
|
||||
#Generate cache for the same musl-cross module definition if hash is not previously existing
|
||||
#CircleCI removed their wildcard support, so we have to list precise versions to cache in directory names
|
||||
key: heads-musl-cross-{{ checksum "./tmpDir/musl-cross.sha256sums" }}{{ .Environment.CACHE_VERSION }}
|
||||
paths:
|
||||
- crossgcc
|
||||
- build/musl-cross-38e52db8358c043ae82b346a2e6e66bc86a53bc1
|
||||
- save_cache:
|
||||
#Generate cache for the same coreboot mnd musl-cross-make modules definition if hash is not previously existing
|
||||
#CircleCI removed their wildcard support, so we have to list precise versions to cache in directory names
|
||||
key: heads-coreboot-musl-cross-{{ checksum "./tmpDir/coreboot_musl-cross.sha256sums" }}{{ .Environment.CACHE_VERSION }}
|
||||
paths:
|
||||
- build/coreboot-4.11
|
||||
- build/coreboot-4.13
|
||||
- build/coreboot-4.14
|
||||
- build/coreboot-4.15
|
||||
- crossgcc
|
||||
- build/musl-cross-38e52db8358c043ae82b346a2e6e66bc86a53bc1
|
||||
- save_cache:
|
||||
#Generate cache for the exact same modules definitions if hash is not previously existing
|
||||
key: heads-modules-and-patches-{{ checksum "./tmpDir/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
|
||||
paths:
|
||||
- packages
|
||||
- crossgcc
|
||||
- build
|
||||
- install
|
||||
|
||||
workflows:
|
||||
version: 2
|
||||
build_and_test:
|
||||
jobs:
|
||||
- prep_env
|
||||
|
||||
# Below, sequentially build one board for each coreboot
|
||||
# version. The last board in the sequence is the dependency
|
||||
# for the parallel boards built at the end, and also save_cache.
|
||||
|
||||
# Prerequisites
|
||||
- build_and_persist:
|
||||
name: heads_musl-cross
|
||||
target: x230-hotp-maximized
|
||||
subcommand: musl-cross
|
||||
requires:
|
||||
- prep_env
|
||||
|
||||
# Coreboot 4.13
|
||||
- build_and_persist:
|
||||
name: x230-hotp-maximized
|
||||
target: x230-hotp-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- heads_musl-cross
|
||||
|
||||
# Coreboot 4.11
|
||||
#- build_and_persist:
|
||||
# name: librem_l1um
|
||||
# target: librem_l1um
|
||||
# subcommand: ""
|
||||
# requires:
|
||||
# - x230-hotp-maximized
|
||||
|
||||
- save_cache:
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
#
|
||||
#
|
||||
# Those onboarding new boards should add their entries below.
|
||||
#
|
||||
#
|
||||
|
||||
- build:
|
||||
name: x220-hotp-maximized
|
||||
target: x220-hotp-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: x220-maximized
|
||||
target: x220-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t420-hotp-maximized
|
||||
target: t420-hotp-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t520-hotp-maximized
|
||||
target: t520-hotp-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t420-maximized
|
||||
target: t420-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t520-maximized
|
||||
target: t520-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: x230-flash
|
||||
target: x230-flash
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t430-flash
|
||||
target: t430-flash
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t430
|
||||
target: t430
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t430-hotp-verification
|
||||
target: t430-hotp-verification
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: x230
|
||||
target: x230
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: x230-hotp-verification
|
||||
target: x230-hotp-verification
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t430-hotp-maximized
|
||||
target: t430-hotp-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t530-hotp-maximized
|
||||
target: t530-hotp-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t530-dgpu-hotp-maximized
|
||||
target: t530-dgpu-hotp-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: w530-hotp-maximized
|
||||
target: w530-hotp-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: w530-dgpu-K1000m-hotp-maximized
|
||||
target: w530-dgpu-K1000m-hotp-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: w530-dgpu-K2000m-hotp-maximized
|
||||
target: w530-dgpu-K2000m-hotp-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t430-maximized
|
||||
target: t430-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t530-maximized
|
||||
target: t530-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: t530-dgpu-maximized
|
||||
target: t530-dgpu-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: w530-maximized
|
||||
target: w530-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: w530-dgpu-K1000m-maximized
|
||||
target: w530-dgpu-K1000m-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: w530-dgpu-K2000m-maximized
|
||||
target: w530-dgpu-K2000m-maximized
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: qemu-coreboot
|
||||
target: qemu-coreboot
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
|
||||
- build:
|
||||
name: qemu-coreboot-fbwhiptail
|
||||
target: qemu-coreboot-fbwhiptail
|
||||
subcommand: ""
|
||||
requires:
|
||||
- x230-hotp-maximized
|
||||
#KGPE-D16 turned off because CircleCI built time needs to be optimized. Kernel doesn't seem to enforce MAKE_JOBS properly
|
||||
#- build:
|
||||
# name: kgpe-d16_workstation-usb_keyboard
|
||||
# target: kgpe-d16_workstation-usb_keyboard
|
||||
# subcommand: ""
|
||||
# requires:
|
||||
# - librem_l1um
|
||||
|
||||
#- build:
|
||||
# name: kgpe-d16_server
|
||||
# target: kgpe-d16_server
|
||||
# subcommand: ""
|
||||
# requires:
|
||||
# - librem_l1um
|
||||
|
||||
#- build:
|
||||
# name: kgpe-d16_server-whiptail
|
||||
# target: kgpe-d16_server-whiptail
|
||||
# subcommand: ""
|
||||
# requires:
|
||||
# - librem_l1um
|
||||
|
||||
#- build:
|
||||
# name: kgpe-d16_workstation
|
||||
# target: kgpe-d16_workstation
|
||||
# subcommand: ""
|
||||
# requires:
|
||||
# - librem_l1um
|
||||
|
||||
########################
|
||||
########################
|
||||
### OLD STUFF ###
|
||||
########################
|
||||
########################
|
||||
# linuxboot steps need something to pass in the kernel header path
|
||||
# skipping for now
|
||||
# - run:
|
||||
# name: qemu-linuxboot-edk2
|
||||
# command: |
|
||||
# ./build/make-4.2.1/make \
|
||||
# CROSS=/cross/bin/x86_64-linux-musl- \
|
||||
# BOARD=qemu-linuxboot \
|
||||
# `/bin/pwd`/build/linuxboot-git/build/qemu/.configured \
|
||||
# # Run first to avoid too many processes
|
||||
#
|
||||
# - run:
|
||||
# name: qemu-linuxboot
|
||||
# command: |
|
||||
# ./build/make-4.2.1/make \
|
||||
# CROSS=/cross/bin/x86_64-linux-musl- \
|
||||
# CPUS=16 \
|
||||
# V=1 \
|
||||
# BOARD=qemu-linuxboot \
|
||||
#
|
||||
# - store-artifacts:
|
||||
# path: build/qemu-linuxboot/linuxboot.rom
|
||||
# - store-artifacts:
|
||||
# path: build/qemu-linuxboot/hashes.txt
|
30
config/coreboot-t530-dgpu-hotp-maximized.config
Normal file
30
config/coreboot-t530-dgpu-hotp-maximized.config
Normal file
@ -0,0 +1,30 @@
|
||||
CONFIG_TPM_MEASURED_BOOT=y
|
||||
CONFIG_VENDOR_LENOVO=y
|
||||
CONFIG_CBFS_SIZE=0xB80000
|
||||
CONFIG_HAVE_IFD_BIN=y
|
||||
CONFIG_HAVE_ME_BIN=y
|
||||
CONFIG_HAVE_GBE_BIN=y
|
||||
CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin"
|
||||
CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin"
|
||||
CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin"
|
||||
CONFIG_VGA_BIOS_DGPU_ID="10de,0def"
|
||||
CONFIG_VGA_BIOS_DGPU_FILE="../../blobs/xx30/10de,0def.rom"
|
||||
CONFIG_VGA_BIOS=y
|
||||
CONFIG_VGA_BIOS_FILE="../../blobs/xx30/8086,0106.rom"
|
||||
# CONFIG_VGA_BIOS_SECOND is not set
|
||||
CONFIG_VGA_ROM_RUN_DEFAULT=y
|
||||
CONFIG_VGA_BIOS_DGPU=y
|
||||
CONFIG_BOARD_LENOVO_T530=y
|
||||
CONFIG_NO_POST=y
|
||||
CONFIG_UART_PCI_ADDR=0
|
||||
# CONFIG_CONSOLE_SERIAL is not set
|
||||
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
|
||||
CONFIG_DRIVERS_PS2_KEYBOARD=y
|
||||
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000
|
||||
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5=y
|
||||
CONFIG_PAYLOAD_LINUX=y
|
||||
CONFIG_PAYLOAD_FILE="../../build/t530-dgpu-hotp-maximized/bzImage"
|
||||
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet"
|
||||
CONFIG_LINUX_INITRD="../../build/t530-dgpu-hotp-maximized/initrd.cpio.xz"
|
||||
CONFIG_USE_OPTION_TABLE=y
|
||||
CONFIG_STATIC_OPTION_TABLE=y
|
28
config/coreboot-t530-dgpu-maximized.config
Normal file
28
config/coreboot-t530-dgpu-maximized.config
Normal file
@ -0,0 +1,28 @@
|
||||
CONFIG_TPM_MEASURED_BOOT=y
|
||||
CONFIG_VENDOR_LENOVO=y
|
||||
CONFIG_CBFS_SIZE=0xB80000
|
||||
CONFIG_HAVE_IFD_BIN=y
|
||||
CONFIG_HAVE_ME_BIN=y
|
||||
CONFIG_HAVE_GBE_BIN=y
|
||||
CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin"
|
||||
CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin"
|
||||
CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin"
|
||||
CONFIG_VGA_BIOS_DGPU_ID="10de,0def"
|
||||
CONFIG_VGA_BIOS_DGPU_FILE="../../blobs/xx30/10de,0def.rom"
|
||||
CONFIG_VGA_BIOS=y
|
||||
CONFIG_VGA_BIOS_FILE="../../blobs/xx30/8086,0106.rom"
|
||||
# CONFIG_VGA_BIOS_SECOND is not set
|
||||
CONFIG_VGA_ROM_RUN_DEFAULT=y
|
||||
CONFIG_VGA_BIOS_DGPU=y
|
||||
CONFIG_BOARD_LENOVO_T530=y
|
||||
CONFIG_NO_POST=y
|
||||
CONFIG_UART_PCI_ADDR=0
|
||||
# CONFIG_CONSOLE_SERIAL is not set
|
||||
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000
|
||||
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5=y
|
||||
CONFIG_PAYLOAD_LINUX=y
|
||||
CONFIG_PAYLOAD_FILE="../../build/t530-dgpu-maximized/bzImage"
|
||||
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet"
|
||||
CONFIG_LINUX_INITRD="../../build/t530-dgpu-maximized/initrd.cpio.xz"
|
||||
CONFIG_USE_OPTION_TABLE=y
|
||||
CONFIG_STATIC_OPTION_TABLE=y
|
30
config/coreboot-w530-dgpu-K1000m-hotp-maximized.config
Normal file
30
config/coreboot-w530-dgpu-K1000m-hotp-maximized.config
Normal file
@ -0,0 +1,30 @@
|
||||
CONFIG_TPM_MEASURED_BOOT=y
|
||||
CONFIG_VENDOR_LENOVO=y
|
||||
CONFIG_CBFS_SIZE=0xB80000
|
||||
CONFIG_HAVE_IFD_BIN=y
|
||||
CONFIG_HAVE_ME_BIN=y
|
||||
CONFIG_HAVE_GBE_BIN=y
|
||||
CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin"
|
||||
CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin"
|
||||
CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin"
|
||||
CONFIG_VGA_BIOS_DGPU_ID="10de,0ffc"
|
||||
CONFIG_VGA_BIOS_DGPU_FILE="../../blobs/xx30/10de,0ffc.rom"
|
||||
CONFIG_VGA_BIOS=y
|
||||
CONFIG_VGA_BIOS_FILE="../../blobs/xx30/8086,0106.rom"
|
||||
# CONFIG_VGA_BIOS_SECOND is not set
|
||||
CONFIG_VGA_ROM_RUN_DEFAULT=y
|
||||
CONFIG_VGA_BIOS_DGPU=y
|
||||
CONFIG_BOARD_LENOVO_W530=y
|
||||
CONFIG_NO_POST=y
|
||||
CONFIG_UART_PCI_ADDR=0
|
||||
# CONFIG_CONSOLE_SERIAL is not set
|
||||
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
|
||||
CONFIG_DRIVERS_PS2_KEYBOARD=y
|
||||
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000
|
||||
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5=y
|
||||
CONFIG_PAYLOAD_LINUX=y
|
||||
CONFIG_PAYLOAD_FILE="../../build/w530-dgpu-K1000m-hotp-maximized/bzImage"
|
||||
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet"
|
||||
CONFIG_LINUX_INITRD="../../build/w530-dgpu-K1000m-hotp-maximized/initrd.cpio.xz"
|
||||
CONFIG_USE_OPTION_TABLE=y
|
||||
CONFIG_STATIC_OPTION_TABLE=y
|
30
config/coreboot-w530-dgpu-K1000m-maximized.config
Normal file
30
config/coreboot-w530-dgpu-K1000m-maximized.config
Normal file
@ -0,0 +1,30 @@
|
||||
CONFIG_TPM_MEASURED_BOOT=y
|
||||
CONFIG_VENDOR_LENOVO=y
|
||||
CONFIG_CBFS_SIZE=0xB80000
|
||||
CONFIG_HAVE_IFD_BIN=y
|
||||
CONFIG_HAVE_ME_BIN=y
|
||||
CONFIG_HAVE_GBE_BIN=y
|
||||
CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin"
|
||||
CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin"
|
||||
CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin"
|
||||
CONFIG_VGA_BIOS_DGPU_ID="10de,0ffc"
|
||||
CONFIG_VGA_BIOS_DGPU_FILE="../../blobs/xx30/10de,0ffc.rom"
|
||||
CONFIG_VGA_BIOS=y
|
||||
CONFIG_VGA_BIOS_FILE="../../blobs/xx30/8086,0106.rom"
|
||||
# CONFIG_VGA_BIOS_SECOND is not set
|
||||
CONFIG_VGA_ROM_RUN_DEFAULT=y
|
||||
CONFIG_VGA_BIOS_DGPU=y
|
||||
CONFIG_BOARD_LENOVO_W530=y
|
||||
CONFIG_NO_POST=y
|
||||
CONFIG_UART_PCI_ADDR=0
|
||||
# CONFIG_CONSOLE_SERIAL is not set
|
||||
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
|
||||
CONFIG_DRIVERS_PS2_KEYBOARD=y
|
||||
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000
|
||||
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5=y
|
||||
CONFIG_PAYLOAD_LINUX=y
|
||||
CONFIG_PAYLOAD_FILE="../../build/w530-dgpu-K1000m-maximized/bzImage"
|
||||
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet"
|
||||
CONFIG_LINUX_INITRD="../../build/w530-dgpu-K1000m-maximized/initrd.cpio.xz"
|
||||
CONFIG_USE_OPTION_TABLE=y
|
||||
CONFIG_STATIC_OPTION_TABLE=y
|
30
config/coreboot-w530-dgpu-K2000m-hotp-maximized.config
Normal file
30
config/coreboot-w530-dgpu-K2000m-hotp-maximized.config
Normal file
@ -0,0 +1,30 @@
|
||||
CONFIG_TPM_MEASURED_BOOT=y
|
||||
CONFIG_VENDOR_LENOVO=y
|
||||
CONFIG_CBFS_SIZE=0xB80000
|
||||
CONFIG_HAVE_IFD_BIN=y
|
||||
CONFIG_HAVE_ME_BIN=y
|
||||
CONFIG_HAVE_GBE_BIN=y
|
||||
CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin"
|
||||
CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin"
|
||||
CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin"
|
||||
CONFIG_VGA_BIOS_DGPU_ID="10de,0ffb"
|
||||
CONFIG_VGA_BIOS_DGPU_FILE="../../blobs/xx30/10de,0ffb.rom"
|
||||
CONFIG_VGA_BIOS=y
|
||||
CONFIG_VGA_BIOS_FILE="../../blobs/xx30/8086,0106.rom"
|
||||
# CONFIG_VGA_BIOS_SECOND is not set
|
||||
CONFIG_VGA_ROM_RUN_DEFAULT=y
|
||||
CONFIG_VGA_BIOS_DGPU=y
|
||||
CONFIG_BOARD_LENOVO_W530=y
|
||||
CONFIG_NO_POST=y
|
||||
CONFIG_UART_PCI_ADDR=0
|
||||
# CONFIG_CONSOLE_SERIAL is not set
|
||||
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
|
||||
CONFIG_DRIVERS_PS2_KEYBOARD=y
|
||||
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000
|
||||
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5=y
|
||||
CONFIG_PAYLOAD_LINUX=y
|
||||
CONFIG_PAYLOAD_FILE="../../build/w530-dgpu-K2000m-hotp-maximized/bzImage"
|
||||
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet"
|
||||
CONFIG_LINUX_INITRD="../../build/w530-dgpu-K2000m-hotp-maximized/initrd.cpio.xz"
|
||||
CONFIG_USE_OPTION_TABLE=y
|
||||
CONFIG_STATIC_OPTION_TABLE=y
|
30
config/coreboot-w530-dgpu-K2000m-maximized.config
Normal file
30
config/coreboot-w530-dgpu-K2000m-maximized.config
Normal file
@ -0,0 +1,30 @@
|
||||
CONFIG_TPM_MEASURED_BOOT=y
|
||||
CONFIG_VENDOR_LENOVO=y
|
||||
CONFIG_CBFS_SIZE=0xB80000
|
||||
CONFIG_HAVE_IFD_BIN=y
|
||||
CONFIG_HAVE_ME_BIN=y
|
||||
CONFIG_HAVE_GBE_BIN=y
|
||||
CONFIG_IFD_BIN_PATH="../../blobs/xx30/ifd.bin"
|
||||
CONFIG_ME_BIN_PATH="../../blobs/xx30/me.bin"
|
||||
CONFIG_GBE_BIN_PATH="../../blobs/xx30/gbe.bin"
|
||||
CONFIG_VGA_BIOS_DGPU_ID="10de,0ffb"
|
||||
CONFIG_VGA_BIOS_DGPU_FILE="../../blobs/xx30/10de,0ffb.rom"
|
||||
CONFIG_VGA_BIOS=y
|
||||
CONFIG_VGA_BIOS_FILE="../../blobs/xx30/8086,0106.rom"
|
||||
# CONFIG_VGA_BIOS_SECOND is not set
|
||||
CONFIG_VGA_ROM_RUN_DEFAULT=y
|
||||
CONFIG_VGA_BIOS_DGPU=y
|
||||
CONFIG_BOARD_LENOVO_W530=y
|
||||
CONFIG_NO_POST=y
|
||||
CONFIG_UART_PCI_ADDR=0
|
||||
# CONFIG_CONSOLE_SERIAL is not set
|
||||
CONFIG_GENERIC_LINEAR_FRAMEBUFFER=y
|
||||
CONFIG_DRIVERS_PS2_KEYBOARD=y
|
||||
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x80000
|
||||
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5=y
|
||||
CONFIG_PAYLOAD_LINUX=y
|
||||
CONFIG_PAYLOAD_FILE="../../build/w530-dgpu-K2000m-maximized/bzImage"
|
||||
CONFIG_LINUX_COMMAND_LINE="intel_iommu=igfx_off quiet"
|
||||
CONFIG_LINUX_INITRD="../../build/w530-dgpu-K2000m-maximized/initrd.cpio.xz"
|
||||
CONFIG_USE_OPTION_TABLE=y
|
||||
CONFIG_STATIC_OPTION_TABLE=y
|
Loading…
Reference in New Issue
Block a user