Commit Graph

232 Commits

Author SHA1 Message Date
Thierry Laurion
b94edd1d6c qemu-coreboot-fbwhiptail board: coreboot config CBFS region upgraded to 7.5mb to not fail CI 2020-11-05 18:14:42 -05:00
Tom Hiller
b055a3be1c fix(config-qemu-fbwhiptail): update CONFIG_CBFS_SIZE 2020-11-01 15:38:38 -05:00
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
MrChromebox
d398a4e440
configs/coreboot-librem_l1um: drop CONFIG_LOCALVERSION (#866)
PR #859 should have included this after #858 was merged,
but was missed

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2020-10-21 18:06:03 -04:00
MrChromebox
bd7a945bbb
Inject Heads version string into coreboot LOCALVERSION... (#859)
* config/coreboot-*: drop CONFIG_LOCALVERSION
Will be injected as part of the build using $(HEADS_GIT_VERSION)
Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* modules/coreboot: inject $(HEADS_GIT_VERSION) as CONFIG_LOCALVERSION
Needed for fwupd to handle board updates
Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* modules/coreboot: override SMBIOS ProductName with $(BOARD)
Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>

* Use $(BOARD)-$(HEADS_GIT_VERSION) as basis for output filename
makes builds uniquely identifiable based on board and version.
Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2020-10-21 11:04:27 -04:00
MrChromebox
1e5a08fa78
Librem Mini: increase size of CBFS (#863)
Increase size of CBFS to 0xC00000 (from 0x800000) to accomodate
newer/larger kernels.

Update purism-blobs module so an update/modified IFD and smaller
ME blob are used.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2020-10-20 18:20:55 -04:00
tlaurion
30852aa273
xx30 boards: suspend/resume fix (#838)
* x230-hotp-verification: revert to coreboot "CONFIG_CBFS_SIZE=0x700000" by disabling board "CONFIG_DROPBEAR=y" and "CONFIG_LINUX_E1000E" to save space per @alex-nitrokey test under #770 to fix #608
* x230-htop-verification board: add clarifications on x230 board differences. Fixes #737 #770 #608
* X230 board & coreboot config: Fix x230 board, removing dropbear and e1000e driver.
* t430: board and coreboot config par with x230 to circumvent CBFS linked suspend/resume issues.
2020-10-19 12:50:24 -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
MrChromebox
2d53395c03
config/coreboot-librem_15v4: set kernel video mode to 1080p (#857)
Set the kernel video mode for the internal display to 1080p,
as the native panel resolution of 2160p is difficult to read.

A recent update to fbwhiptail allows the GUI to make use of the
scaled resolution as well, provided it is set via kernel param.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2020-10-18 10:11:42 -04:00
MrChromebox
92e9a24902
coreboot-4.12: Use musl-cross-make (#844)
* patches/coreboot-4.12: add cross-compiler support patch

Ported from coreboot-4.8.1, re-exported via `git diff`

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

* modules/coreboot: use musl-cross-make to build

revert toolchain bits to pre-4.12 addition

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

* config/coreboot-librem_mini: use CONFIG_ANY_TOOLCHAIN

Needed since coreboot 4.12 now built with musl-cross-make

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2020-10-02 15:12: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
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
ef96d64d09
Merge pull request #821 from tlaurion/x230_t430-CBFS_fix
xx30 boards: fixing CONFIG_CBFS_SIZE=0x710000 for x230 and t430 boards
2020-09-02 17:25: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
Thierry Laurion
cde6e24e8d
xx30 boards: fixing CONFIG_CBFS_SIZE=0x710000 for x230 and t430 boards to fix #815 and #667 2020-09-01 12:31:47 -04:00
Matt DeVillier
ffedd3ac11
configs/busybox: include 'fold' utility
Will be used to wrap long error messages so not truncated
when shown in fbwhiptail dialogs.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2020-07-21 09:47:51 -05:00
Thierry Laurion
9798cf9c66
x230-htop-verification: coreboot CBFS_SIZE changed to 0x710000
as per https://github.com/osresearch/heads/pull/748/files#diff-540d604c350e8fd52c25559b642795fbR5
2020-06-20 11:04:32 -04:00
tlaurion
488d6529e4
Merge pull request #670 from flawedworld/patch-1
Add ability to change CMOS values for X230
2020-05-24 13:58:49 -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
tlaurion
2ee51d864c
Merge pull request #656 from fibreblazer/master
T430 Support
2020-05-15 19:19:00 -04:00
tlaurion
762e59eac3
Merge pull request #693 from SebastianMcMillan/patch-4
Fix X220 and T420 CBFS sizes
2020-05-15 19:16:52 -04:00
flawedworld
23735d729a Add T430 board support
Co-authored-by: Sebastian McMillan <22755892+SebastianMcMillan@users.noreply.github.com>
Co-authored-by: Andrew Montoya <halossqwerty@gmail.com>
2020-05-15 18:52:11 +01:00
Thierry Laurion
31a103fdae
Working config to do make BOARD=qemu-coreboot-fbwhiptail and then make BOARD=qemu-coreboot-fbwhiptail run 2020-05-11 13:56:40 -04:00
Thierry Laurion
ba68c723bf
qemu-coreboot: Now useful to debug something through make BOARD=qemu-coreboot. TODO: map a virtual TPM instance and USB passthrough. Thanks to @orangecms for the tip 2020-04-22 23:02:46 -04:00
Sebastian McMillan
cc2eb8f207
Update coreboot-t420.config 2020-03-09 15:59:00 -05:00
Sebastian McMillan
b1471d945a
Update coreboot-x220.config
Add some room in the CBFS to actually save GPG keys, as well as have room to add libremkey support.
2020-03-09 15:53:19 -05:00
Gabe Gałązka
801bbed601
Update coreboot-x230.config 2020-02-23 18:51:42 +00:00
Sebastian McMillan
3165ba60f6
Update coreboot-t420.config
Fix Screen Garble
2020-02-19 19:03:31 -06:00
Sebastian McMillan
21faf524b9
T420 initial support + X220 FBWhiptail Support (#578)
* Add support for the Lenovo ThinkPad T420 and X220.
* Fix the autodetection of ifdtool and me_cleaner.
* Enable FBWhiptail mode for X220 and T420
* Decreased CBFS size to fix 50 seconds boot delay problems
2020-02-19 12:51:03 -05:00
Gabe Gałązka
e341f40cc4
Update coreboot-x230.config 2020-02-03 22:09:42 +00:00
Gabe Gałązka
6c85d7a61e
Add ability to change CMOS values for X230
Add ability to change CMOS values by genning SMBIOS tables and using the values from stock bios, this allows for editing of SMBIOS values to change things such as VRAM allocation, FN and CTRL key swap etc
2020-02-01 17:43:35 +00:00
Trammell Hudson
791d064397
musl-cross-make: replace all cross compilers with musl-cross-make
Signed-off-by: Trammell Hudson <hudson@trmm.net>
2020-01-08 17:08:15 +01:00
tlaurion
b4a647c485
Merge pull request #461 from osresearch/debug-linux
Enable verbose bootup debugging and set the early serial IO base port
2019-11-28 10:53:29 -05:00
Matt DeVillier
e8fb231bc7
config/coreboot-librem*: disable iGPU IOMMU for Linux payload
Disabling IOMMU on the iGPU for Heads (mostly) eliminates
display corruption when kexec'ing to new kernel (and has no effect
on iGPU/IOMMU for kexec'ed kernel)

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2019-11-21 15:42:51 -06:00
Matt DeVillier
858f027285
config/coreboot-librem*: drop secondary payloads
Drop coreinto/memtest secondary payloads as they are not
usable with Linux as primary payload. Leftover copy-pasta
from original SeaBIOS configs.

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2019-11-18 21:43:47 -06:00
Martin Kepplinger
a4effd9167 config/linux-x230: remove debug symbols
Remove debug symbols and dynamic debug support from Linux. This reduces
our resulting bzImage by 100K.

This should help when size becomes even more limited, see #562
2019-05-20 13:47:20 +02:00
paul
9c18962f41 Enable busybox loadkmap command 2019-04-29 15:36:25 +01:00
Christopher A. Williamson
70f809187b Disable EXT2 standard driver (replaced by EXT4 driver) 2019-02-19 21:16:52 +00:00
Christopher A. Williamson
6794e9cdb5 Add support for EXT2 (via the EXT4 driver) 2019-02-19 13:49:06 +00:00
tlaurion
50172f21e5
Merge pull request #527 from flammit/qemu-gui-init
qemu-coreboot: change configs to enable gui-init testing
2019-02-17 08:50:14 -05:00
Matt DeVillier
988724c39d configs/coreboot/librem*: remove iommu=pt from linux cmd line
No longer needed with addition of IOMMU/RMRR patches

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2019-02-12 17:09:56 -06:00
Matt DeVillier
9aaa25c882 coreboot/config: add librem 13v4/15v4 as clones of 13v2/15v3
Adjust blobs paths for kbl vs skl, adjust board names

Signed-off-by: Matt DeVillier <matt.devillier@puri.sm>
2019-02-12 16:32:04 -06:00
Thierry Laurion
be12506d7c
GPG2 branch required sed
sed is required to import owner trust information in trustdb when keys are imported into pubkey.kbx/pubkey.gpg
2019-02-09 12:15:20 -05:00
tlaurion
564f3ee201
Merge pull request #490 from kylerankin/add_empty_keyring_detection
Add empty keyring detection, clean up main menu
2019-02-08 15:01:28 -05:00
tlaurion
98598e7f2f
Merge pull request #465 from merge/x230-gui
x230: use fbwhiptail and gui-init instead of generic-init
2019-02-08 13:32:22 -05:00
Martin Kepplinger
ae40892205 x230: use fbwhiptail and gui-init instead of generic-init
This changes Heads' bootscript for the x230 to gui-init and adds config
options needed for it. The config is very similar to the librem13v2 config.

My comparison of startup-time from a power-button press shows 2.5 seconds
more with these changes applied.

That said, the experience is smooth, the GUI is beautiful and easier to use
than the shell and text menu, especially during setup. That's what we
buy with startup time here.
2019-02-07 21:06:44 +01:00
Trammell hudson
b89ed83af6
enable Unix Domain sockets for gpg-agent 2019-01-26 11:49:27 -05:00
Kyle Rankin
57b487c38c
Update version #s for Librem coreboot, add Librem Key detection dialog
The Librem coreboot is labeled with the current version and is visible
from dmidecode and is supposed to reflect the current version of
coreboot, however it was out of date and reflected 4.7 when Heads has
moved on to 4.8.1.

I've also added a simple change to further simplify onboarding by
warning users who have Librem Key configured when they boot without it
being inserted.
2018-12-05 14:51:53 -08:00
Francis Lam
a14a4fb419
qemu-coreboot: change configs to enable gui-init testing 2018-12-01 10:10:04 -08:00