mirror of
https://github.com/linuxboot/heads.git
synced 2024-12-19 04:57:55 +00:00
268fb90623
* patches/coreboot-4.12: Add patch for Cannonlake ME status Add patch print ME status regardless of enablement state Signed-off-by: Matt DeVillier <matt.devillier@puri.sm> * modules: add purism-blobs module Rather than require users to manually run a script to download the required blobs to build Purism Librem boards, automate it so the correct version is automatically downloaded/extracted. Restrict to coreboot 4.12 for now since 4.8.1 still needs FSP blobs, which are not in module. Signed-off-by: Matt DeVillier <matt.devillier@puri.sm> * configs/linux-librem13v2: unset CONFIG_RETPOLINE Fixes compilation issue with newer kernels, ignored by older ones which don't need it Signed-off-by: Matt DeVillier <matt.devillier@puri.sm> * Add new board: Librem Mini Add Librem Mini board patch for coreboot 4.12, board config and coreboot config. Continue reusing existing librem13v2 Linux config, same as all other Librem boards currently. Use new purism-blobs module. Signed-off-by: Matt DeVillier <matt.devillier@puri.sm> * board/librem*: rename for consistency Use 'librem_<board>' notation for consistency across all models. Rename linux config file since used by multiple Librem models. Signed-off-by: Matt DeVillier <matt.devillier@puri.sm> * CircleCI: add librem_mini board to test Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
208 lines
6.9 KiB
YAML
208 lines
6.9 KiB
YAML
version: 2
|
|
jobs:
|
|
build:
|
|
docker:
|
|
- image: debian:10
|
|
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 wget gnat cpio ccache pkg-config cmake libusb-1.0-0-dev autoconf texinfo ncurses-dev
|
|
- checkout
|
|
|
|
- run:
|
|
name: git reset
|
|
command: |
|
|
git reset --hard "$CIRCLE_SHA1" \
|
|
|
|
- run:
|
|
name: Creating all modules and patches digest
|
|
command: |
|
|
find ./patches/ ./modules/ -type f | sort -h |xargs sha256sum > /tmp/all_modules_and_patches.sha256sums \
|
|
|
|
- run:
|
|
name: Creating musl-cross-make and musl-cross-make patches digest
|
|
command: |
|
|
find ./patches/musl-cross-* modules/musl-cross* -type f | sort -h | xargs sha256sum > /tmp/musl-cross_module_and_patches.sha256sums \
|
|
|
|
|
|
- restore_cache:
|
|
keys:
|
|
#Restore existing cache for modules checksums validated to be exactly the same as in github current commit
|
|
- heads-modules-and-patches-{{ checksum "/tmp/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
|
|
#If precedent fails. Restore cache for musl-cross module checksum validated to be exactly the same as in github current commit
|
|
- heads-cross-musl-{{ checksum "/tmp/musl-cross_module_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
|
|
|
|
# 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- \
|
|
# --load 2 \
|
|
# V=1 \
|
|
# BOARD=qemu-linuxboot \
|
|
#
|
|
# - store-artifacts:
|
|
# path: build/qemu-linuxboot/linuxboot.rom
|
|
# - store-artifacts:
|
|
# path: build/qemu-linuxboot/hashes.txt
|
|
|
|
- run:
|
|
name: x230-flash
|
|
#We delete build/make-4.2.1/ directory until issue #799 is fixed.
|
|
command: |
|
|
rm -rf build/x230-flash/* build/log/* && make --load 2 \
|
|
V=1 \
|
|
BOARD=x230-flash \
|
|
no_output_timeout: 3h
|
|
- run:
|
|
name: Ouput x230-flash hashes
|
|
command: |
|
|
cat build/x230-flash/hashes.txt \
|
|
- run:
|
|
name: Archiving build logs for x230-flash
|
|
command: |
|
|
tar zcvf build/x230-flash/logs.tar.gz build/log/*
|
|
- store-artifacts:
|
|
path: build/x230-flash
|
|
|
|
- run:
|
|
name: t430-flash
|
|
command: |
|
|
rm -rf build/t430-flash/* build/log/* && make --load 2 \
|
|
V=1 \
|
|
BOARD=t430-flash \
|
|
no_output_timeout: 3h
|
|
- run:
|
|
name: Ouput t430-flash hashes
|
|
command: |
|
|
cat build/t430-flash/hashes.txt \
|
|
- run:
|
|
name: Archiving build logs for t430-flash
|
|
command: |
|
|
tar zcvf build/t430-flash/logs.tar.gz build/log/*
|
|
- store-artifacts:
|
|
path: build/t430-flash
|
|
|
|
- run:
|
|
name: t430
|
|
command: |
|
|
rm -rf build/t430/* build/log/* && make --load 2 \
|
|
V=1 \
|
|
BOARD=t430 \
|
|
no_output_timeout: 3h
|
|
- run:
|
|
name: Ouput t430 hashes
|
|
command: |
|
|
cat build/t430/hashes.txt \
|
|
- run:
|
|
name: Archiving build logs for t430
|
|
command: |
|
|
tar zcvf build/t430/logs.tar.gz build/log/*
|
|
- store-artifacts:
|
|
path: build/t430
|
|
|
|
- run:
|
|
name: x230
|
|
command: |
|
|
rm -rf build/x230/* build/log/* && make --load 2 \
|
|
V=1 \
|
|
BOARD=x230 \
|
|
no_output_timeout: 3h
|
|
- run:
|
|
name: Ouput x230 hashes
|
|
command: |
|
|
cat build/x230/hashes.txt \
|
|
- run:
|
|
name: Archiving build logs for x230
|
|
command: |
|
|
tar zcvf build/x230/logs.tar.gz build/log/*
|
|
- store-artifacts:
|
|
path: build/x230
|
|
|
|
- run:
|
|
name: x230-hotp-verification
|
|
command: |
|
|
rm -rf build/x230-hotp-verification/* build/log/* && make --load 2 \
|
|
V=1 \
|
|
BOARD=x230-hotp-verification \
|
|
no_output_timeout: 3h
|
|
- run:
|
|
name: Ouput x230-hotp-verification hashes
|
|
command: |
|
|
cat build/x230-hotp-verification/hashes.txt \
|
|
- run:
|
|
name: Archiving build logs for x230-hotp-verification
|
|
command: |
|
|
tar zcvf build/x230-hotp-verification/logs.tar.gz build/log/*
|
|
- store-artifacts:
|
|
path: build/x230-hotp-verification
|
|
|
|
- run:
|
|
name: librem_mini
|
|
command: |
|
|
rm -rf build/librem_mini/* build/log/* && make --load 2 \
|
|
V=1 \
|
|
BOARD=librem_mini \
|
|
no_output_timeout: 3h
|
|
- run:
|
|
name: Ouput librem_mini hashes
|
|
command: |
|
|
cat build/librem_mini/hashes.txt \
|
|
- run:
|
|
name: Archiving build logs for librem_mini
|
|
command: |
|
|
tar zcvf build/librem_mini/logs.tar.gz build/log/*
|
|
- store-artifacts:
|
|
path: build/librem_mini
|
|
|
|
- run:
|
|
name: qemu-coreboot
|
|
command: |
|
|
rm -rf build/qemu-coreboot/* build/log/* && make --load 2 \
|
|
V=1 \
|
|
BOARD=qemu-coreboot \
|
|
no_output_timeout: 3h
|
|
- run:
|
|
name: Output qemu-coreboot hashes
|
|
command: |
|
|
cat build/qemu-coreboot/hashes.txt \
|
|
- run:
|
|
name: Archiving build logs for qemu-coreboot
|
|
command: |
|
|
tar zcvf build/qemu-coreboot/logs.tar.gz build/log/*
|
|
- store-artifacts:
|
|
path: build/qemu-coreboot
|
|
|
|
- save_cache:
|
|
#Generate cache for the same musl-cross module definition if hash is not previously existing
|
|
key: heads-cross-musl-{{ checksum "/tmp/musl-cross_module_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
|
|
paths:
|
|
- crossgcc
|
|
- build/musl-cross-*
|
|
|
|
- save_cache:
|
|
#Generate cache for the exact same modules definitions if hash is not previously existing
|
|
key: heads-modules-and-patches-{{ checksum "/tmp/all_modules_and_patches.sha256sums" }}{{ .Environment.CACHE_VERSION }}
|
|
paths:
|
|
- packages
|
|
- crossgcc
|
|
- build
|
|
workflows:
|
|
version: 2
|
|
build_and_test:
|
|
jobs:
|
|
- build
|