Commit Graph

100 Commits

Author SHA1 Message Date
MrChromebox
b71f3757c1
modules/linux: add support for building with kernel 5.4.69 (#854)
* modules/linux: add support for building with kernel 5.4.69

Add support to module, port patches from 4.19.139.
Needed for newer platforms not supported by 4.19 kernel.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* CircleCI: add rysnc dependency for building kernel 5.x

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* Migrate all Librem boards to kernel 5.x, common config

Update linux-librem_common.config from 4.x to 5.x, and add
CONFIG items needed to support the librem_l1um (AST DRM drivers,
serial port output).

Tested on Librem 13v4, Librem Mini, and Librem Server L1UM.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2020-10-25 01:26:08 -04:00
Markus Meissner
09ca500d3e
add x230-nkstorecli board config (#817)
* add x230-nkstorecli board; 
* add modules: nkstorecli, libnk, libhidapi-libusb
* version bump nkstorecli; related minor in libnk
* upd. libnk module version bump to 3.6; remove 3.5 patch
2020-10-19 10:47:22 -04:00
MrChromebox
85d7e29d18
Add new board: Purism Librem Server L1UM (#858)
* modules/coreboot: add option to use coreboot 4.11

Port patches from coreboot 4.8.1 to 4.11:
* 0000-measure-boot -> 0001
* 0010-cross-compiler-support

All other patches for coreboot 4.8.1 have either already been
integrated, or are for platforms which do not need to be migrated
to coreboot 4.11 (they will move to 4.12 or newer).

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* patches/coreboot-4.11: Add Broadwell-DE platform patch

Add a patch for FSP Broadwell-DE to make use of Heads' measured boot.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* patches/coreboot-4.11: Add patch to read serial # from CBFS

Will be used by multiple Librem boards.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* patches/coreboot-4.11: add board support for Librem Server L1UM

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* Librem Server L1UM: add new board

Add board config, coreboot config, kernel config files.
Add conditional purism-blobs dependency to coreboot-4.11 module.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* flash.sh: add special handling for librem_l1um board

Add support for persisting PCIe config via PCHSTRP9 in flash descriptor.
This is needed to support multiple variants of the L1UM server which
use the same firmware but differ in PCIe lane configuration via the
PCH straps configuration in the flash descriptor.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* patches/coreboot-4.11: Add 'Use PRIxPTR to print uintptr_t' patch

Cherry-picked from upstream coreboot (post-4.11), fixes compilation issue.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* CircleCI: add target to build board librem_l1um

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2020-10-18 14:48:25 -04:00
tlaurion
b80899f36c
musl-cross: remove old patch artifact of the musl-cross era (#849)
* musl-cross: remove old patch artifact of the musl-cross era

* CircleCI: do not produce hash digest for musl-cross-make patches (artifact was for musl-cross, not musl-cross-make)
2020-10-16 15:26:59 -04:00
MrChromebox
afa6753a30
librem_mini-NoTPM: drop '-noTPM' suffix (#843)
There's only one Librem Mini board, it doesn't use a TPM,
no reason to unnecesarily lengthen the board name.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2020-09-30 16:13:15 -04:00
Thierry Laurion
e3c81a94f8
CircleCI: changing order of build boards, since we want to test coreboot 4.12 built boards currently failing for lack of memory in other builds (make error 137). 2020-09-25 16:00:07 -04:00
Thierry Laurion
c47425709f
CircleCI: we pass CPUS=2 to CPUS=4 since the logic calculation for threads/memory is 1/1024Mb, CircleCI supposedly reserving 4Gb for medium (free). Build time will increase, unfortunately, when compared to nproc returning 32 cores. 2020-09-25 15:56:27 -04:00
Thierry Laurion
c74564086c
Buildsystem: permit to pass CPUS=X to make to force a number of CPUS to be used if desired, else the default is detected in Makefile and pushed to submodules. If nothing specified, uses nproc and pass it to submodules. CircleCI forced to CPUS=2 2020-09-25 15:52:31 -04:00
tlaurion
53c74fa02a
CircleCI: readd librem_mini (#832)
* CircleCI: readd librem_mini while making sure that if a board build fails, all logfile modified in the last minute are outputted on the CircleCI console prior to really failing and exiting

* librem_mini-NoTPM: addition of board config, distinctive coreboot config (required per Heads build system) to construct a ROM without TPM requirement.

* librem_mini: deletion of board and coreboot relative config, keeping librem_mini-NoTPM and coreboot config only. Removed librem_mini board build under CircleCI, keeping only librem_mini-NoTPM
2020-09-15 10:51:37 -04:00
tlaurion
b2c49e8742
CircleCI: removing librem_mini board under CircleCI (#825)
Coreboot 4.12, on which the librem_mini depends, doesn't build under debian:10 docker image as of right now.
	It was building over debian:bullseye (where 4.8.1 boards didn't) which constructed a valid cache that
	was reused when building #806 (https://app.circleci.com/pipelines/github/tlaurion/heads/364/workflows/df9bad8d-8ff1-40da-b8d8-1b87a05be509/jobs/392)
Consequently, more troubleshooting would need to be done under local debian:10 docker image.
2020-09-03 22:02:16 -04:00
tlaurion
8067efc9ae
CircleCI: bring recent failing logs on CI output (#822) 2020-09-02 14:42:55 -04:00
MrChromebox
268fb90623
Add new board: Purism Librem Mini (#806)
* 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>
2020-09-02 14:39:37 -04:00
tlaurion
b14e564ac9
Fix CircleCI build problems (#808)
* CircleCI: debian:10 docker based. Give possitility to override CACHE_VERSION through CircleCI when needed
* Makefile: fix #799 with implementation of @osresearch's recommended https://github.com/osresearch/heads/issues/799#issuecomment-673059028
* modules/coreboot : indentation fix and putting version hashes together to facilitate future maintainership.
2020-08-20 15:15:46 -04:00
tlaurion
c6a82a2464
CircleCI: mitigate issue #799 (#800) 2020-08-12 15:07:54 -04:00
tlaurion
63b400c73f
CircleCI : specialized caches (#798)
CircleCI: two cache save/restore mechanisms. One bound to musl-cross+patches, one for modules + patches.

* Replacing the generic cache bound to CircleCI user to have two caches levels. One for musl-cross and its patchsets, one for all modules and their patchset being the same. So if modules changed, we use the cache for musl-cross as a fallback to economize one hour of precious build time out of two, while most of Heads changes are on the scripts and can be built on top of packages+patches cache
2020-08-11 16:38:26 -04:00
tlaurion
53071ce183
CircleCI: fix typos (save_cache and restore_cache not identical) 2020-06-08 09:42:01 -04:00
tlaurion
7941dac328
CIs: Replace cache fingerprints so cache is reusable between builds (fix save_cache) 2020-06-07 21:55:45 -04:00
Thierry Laurion
11a0fdc061
CIs: Replace cache fingerprint with username of the user launching the build to make it reusable between PRs 2020-06-07 16:39:38 -04:00
Thierry Laurion
dcbeb26e03
CIs: move qemu-coreboot to be built last, add t430 and t430-flash boards to CIs 2020-06-06 12:35:13 -04:00
Thierry Laurion
7600ce4bff
GitlabCI: restrict cache, store cleaned build artifacts for x230* and qemu-coreboot 2020-05-24 22:16:19 -04:00
Thierry Laurion
d5083f410c
x230-hotp-verification: Add x230-hotp-verification board to have a HOTP supported remote attestation for Nitrokey Pro 2, Nitrokey Storage 2 and Librem Key 2020-05-21 18:06:19 -04:00
Thierry Laurion
040e358b2d
CIs: pass CircleCI to debian:bullseye docker image, provide logs.tar.gz and cpios to facilitate debugging of reproducibility issues 2020-05-04 14:55:36 -04:00
Trammell hudson
1e77a72f99
circleci: skip linuxboot steps for now
Signed-off-by: Trammell hudson <hudson@trmm.net>
2020-01-09 00:07:19 +01:00
Trammell hudson
31f021e5f7
circleci: enable V=1 to produce more output and avoid timing out
Signed-off-by: Trammell hudson <hudson@trmm.net>
2020-01-08 23:26:20 +01:00
Trammell hudson
97402ed32d
circleci: replace -j4 with --load 2 2020-01-08 23:10:46 +01:00
Trammell hudson
c069901f90
circleci: no tabs!
Signed-off-by: Trammell hudson <hudson@trmm.net>
2020-01-08 22:47:27 +01:00
Trammell hudson
35ddd3e065
circleci: pre-build edk2 for linuxboot
Signed-off-by: Trammell hudson <hudson@trmm.net>
2020-01-08 22:45:39 +01:00
Trammell Hudson
fed0858126
circleci: try using the osresearch/musl-cross docker image
Signed-off-by: Trammell Hudson <hudson@trmm.net>
2020-01-08 17:33:49 +01:00
Trammell hudson
6183d58ecc
fix config spacing and path to xgcc 2018-09-18 16:04:28 -04:00
Trammell hudson
9ab033aa06
use externally built coreboot compilers 2018-09-18 15:59:48 -04:00
Trammell hudson
866358d5c7
rollback to 16.04? 2018-09-18 15:12:41 -04:00
Trammell hudson
fdb8268fc9
remove coreboot-gcc target (it will be built anyway) and add x230 2018-09-18 13:07:14 -04:00
Trammell hudson
eafe001097
fix yaml 2018-09-18 12:09:16 -04:00
Trammell hudson
7a39cc78f4
create hashes and store them in the circleci artifacts 2018-09-18 12:08:16 -04:00
Trammell hudson
553964157b
use a smaller image, maybe we will not run out of space 2018-09-18 10:43:36 -04:00
Trammell hudson
d3bf7aab64
does tput cause the problem with circleci? 2018-09-18 09:59:09 -04:00
Trammell hudson
606600586c
coreboot-gcc target 2018-09-18 09:27:18 -04:00
Trammell hudson
e03f375bfd
use osresearch/heads-builder docker image with pre-built compilers 2018-09-18 07:14:39 -04:00
Trammell hudson
5555e9e8ac
circleci needs to use the new 4.2.1 make 2018-09-18 06:55:16 -04:00
Trammell hudson
bec3335cf6
verbose builds to avoid quiet timeouts 2018-09-16 17:56:17 -04:00
Trammell hudson
e3ac9b59f3
ensure there is output from the musl-cross bild 2018-09-15 07:11:12 -04:00
Trammell hudson
f96cceb621
do dependencies before checkout 2018-09-15 06:56:42 -04:00
Trammell hudson
081cda2dd4
bootstrap and parallelize build 2018-09-15 06:53:34 -04:00
Trammell hudson
cdd061e063
switch back to 16.04 just to avoid make-4.2 error 2018-09-15 05:59:28 -04:00
Trammell hudson
607381fec2
try apt-update before apt-install 2018-09-15 05:58:00 -04:00
Trammell hudson
b826e4c705
tweak yaml 2018-09-15 05:56:58 -04:00
Trammell hudson
265ed9d043
checkout dependencies 2018-09-15 05:52:38 -04:00
Trammell hudson
96ea6b69ba
try ubuntu 18.04 build 2018-09-15 05:49:32 -04:00
Trammell hudson
32cd59d4f6
try ubuntu 18.04 build 2018-09-15 05:48:03 -04:00
Trammell hudson
2e1dd82992
try enabling circleci builder 2018-09-15 05:42:42 -04:00