Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

migrate all commmunity supported boards to coreboot 4.13 (Except KGPE-D16 which stays to coreboot 4.11) #1015

Merged
merged 16 commits into from
Dec 4, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
186 changes: 105 additions & 81 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ commands:
parameters:
target:
type: string
subcommand:
type: string
steps:
- run:
name: Install dependencies
Expand All @@ -14,7 +16,7 @@ commands:
- run:
name: Make Board
command: |
rm -rf build/<<parameters.target>>/* build/log/* && make CPUS=16 V=1 BOARD=<<parameters.target>> || touch ./tmpDir/failed_build
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
Expand All @@ -23,7 +25,7 @@ commands:
- run:
name: Output hashes
command: |
cat build/<<parameters.target>>/hashes.txt \
cat build/<<parameters.target>>/hashes.txt || echo "No hashes for this build step..."\
- run:
name: Archiving build logs.
command: |
Expand All @@ -35,6 +37,7 @@ jobs:
prep_env:
docker:
- image: debian:10
resource_class: large
steps:
- run:
name: Install dependencies
Expand Down Expand Up @@ -86,12 +89,8 @@ jobs:

- run:
name: Download and neuter xx30 ME (keep generated GBE and extracted IFD in tree)
# Below when we download me_cleaner it's not really that important to validate it's
# integrity. This is because ./blobs/xx30/download_clean_me.sh does a hash check on
# it's result anyway.
# me_cleaner.py present under heads xx30 blobs dir comes from https://github.com/corna/me_cleaner/blob/43612a630c79f3bc6f2653bfe90dfe0b7b137e08/me_cleaner.py
command: |
wget -O ./blobs/xx30/me_cleaner.py https://raw.githubusercontent.com/corna/me_cleaner/master/me_cleaner.py
chmod +x ./blobs/xx30/me_cleaner.py
./blobs/xx30/download_clean_me.sh -m $(readlink -f ./blobs/xx30/me_cleaner.py)

- persist_to_workspace:
Expand All @@ -102,14 +101,18 @@ jobs:
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>>
target: <<parameters.target>>
subcommand: <<parameters.subcommand>>
- persist_to_workspace:
root: ~/
paths:
Expand All @@ -121,11 +124,14 @@ jobs:
parameters:
target:
type: string
subcommand:
type: string
steps:
- attach_workspace:
at: ~/
- build_board:
target: <<parameters.target>>
target: <<parameters.target>>
subcommand: <<parameters.subcommand>>

save_cache:
docker:
Expand All @@ -135,17 +141,22 @@ jobs:
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-*
- 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-*
- build/coreboot-4.11
- build/coreboot-4.13
- build/coreboot-4.14
- build/coreboot-4.15
- crossgcc
- build/musl-cross-*
- 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 }}
Expand All @@ -165,31 +176,33 @@ workflows:
# version. The last board in the sequence is the dependency
# for the parallel boards built at the end, and also save_cache.

# Coreboot 4.8.1
# Prerequisites
- build_and_persist:
name: qemu-coreboot
target: qemu-coreboot
name: heads_musl-cross
target: x230-hotp-maximized
subcommand: musl-cross
requires:
- prep_env

# Coreboot 4.11
# Coreboot 4.13
- build_and_persist:
name: kgpe-d16_workstation
target: kgpe-d16_workstation
requires:
- qemu-coreboot

# Coreboot 4.14
- build_and_persist:
name: librem_mini
target: librem_mini
name: x230-hotp-maximized
target: x230-hotp-maximized
subcommand: ""
requires:
- kgpe-d16_workstation
- heads_musl-cross

# Coreboot 4.11
#- build_and_persist:
# name: librem_l1um
# target: librem_l1um
# subcommand: ""
# requires:
# - x230-hotp-maximized

- save_cache:
requires:
- librem_mini
- x230-hotp-maximized

#
#
Expand All @@ -200,117 +213,128 @@ workflows:
- build:
name: x220-hotp-maximized
target: x220-hotp-maximized
subcommand: ""
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: x220-maximized
target: x220-maximized
subcommand: ""
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: t420-hotp-maximized
target: t420-hotp-maximized
subcommand: ""
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: t420-maximized
target: t420-maximized
subcommand: ""
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: x230-flash
target: x230-flash
subcommand: ""
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: t430-flash
target: t430-flash
subcommand: ""
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: t430
target: t430
subcommand: ""
requires:
- x230-hotp-maximized

- build:
name: t430-hotp-verification
target: t430-hotp-verification
subcommand: ""
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: x230
target: x230
subcommand: ""
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: x230-hotp-verification
target: x230-hotp-verification
subcommand: ""
requires:
- librem_mini

- build:
name: x230-maximized
target: x230-maximized
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: t430-hotp-maximized
target: t430-hotp-maximized
subcommand: ""
requires:
- librem_mini

- build:
name: x230-hotp-maximized
target: x230-hotp-maximized
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: t430-maximized
target: t430-maximized
subcommand: ""
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: qemu-coreboot-fbwhiptail
target: qemu-coreboot-fbwhiptail
requires:
- librem_mini

- build:
name: kgpe-d16_workstation-usb_keyboard
target: kgpe-d16_workstation-usb_keyboard
requires:
- librem_mini

- build:
name: kgpe-d16_server
target: kgpe-d16_server
requires:
- librem_mini

- build:
name: kgpe-d16_server-whiptail
target: kgpe-d16_server-whiptail
requires:
- librem_mini

- build:
name: librem_l1um
target: librem_l1um
name: qemu-coreboot
target: qemu-coreboot
subcommand: ""
requires:
- librem_mini
- x230-hotp-maximized

- build:
name: librem_mini_v2
target: librem_mini_v2
name: qemu-coreboot-fbwhiptail
target: qemu-coreboot-fbwhiptail
subcommand: ""
requires:
- librem_mini

- 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

########################
########################
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ log_dir := $(build)/log

# Controls how many parallel jobs are invoked in subshells
CPUS ?= $(shell nproc)
#MAKE_JOBS ?= -j$(CPUS) --max-load 16
MAKE_JOBS ?= -j$(CPUS) --max-load 16

# Create the log directory if it doesn't already exist
BUILD_LOG := $(shell mkdir -p "$(log_dir)" )
Expand Down Expand Up @@ -530,7 +530,7 @@ endif
$(COREBOOT_UTIL_DIR)/cbmem/cbmem \
$(COREBOOT_UTIL_DIR)/superiotool/superiotool \
$(COREBOOT_UTIL_DIR)/inteltool/inteltool \
: $(build)/$(coreboot_base_dir)/.canary
: $(build)/$(coreboot_base_dir)/.canary musl-cross
+$(call do,MAKE,$(notdir $@),\
$(MAKE) -C "$(dir $@)" $(CROSS_TOOLS) \
)
Expand Down
Loading