Commit Graph

745 Commits

Author SHA1 Message Date
Youness Alaoui
1fc114ba42
Librem13v2: Enable IOMMU and Pass-through mode
By enabling Pass-through iommu, it fixes the GPU glitching issues
we've had with IOMMU, and it also allows us to boot a target kernel
without having to give it intel_iommu=igfx_off as argument.
2018-04-03 19:04:57 -04:00
Kyle Rankin
887c79065e
Add GUI package update handler w/ checksum update function
Part of the Heads workflow involves handling legitimate changes to /boot
as part of the package manager. This is a challenging workflow to handle
as package managers on many systems work in a completely unattended way
(and some even reboot first, apply updates, and then reboot again).

We need to be able to detect changes that are potentially caused by a
package manager so to do that I've set up a trigger within the OS
(currently just for Debian) that runs both before and after package
updates. It verifies the signatures in /boot and if they fail before
package updates it creates a log file in
/boot/kexec_package_trigger_pre.txt. If they fail after package updates
run /boot/kexec_package_trigger_post.txt is created. These files contain
the following fields:

CHANGED_FILES: A list of files in /boot that failed the sha256sum check
UPDATE_INITRAMFS_PACKAGE: An (optional) list of packages known to
trigger initramfs changes

Following those fields is a list of log output from the last package
manager run which contains its own formatted fields (I'm pulling from
/var/lib/dpkg/info).

When a user selects a boot option, gui-init first verifies the
checksums just to catch errors before calling kexec-select-boot. If
there are any errors it looks for these package logs and if they exist,
it displays appropriate warnings. If the files are absent it displays a
more generic warning. The user is also given an opportunity to re-sign
the /boot hashes.
2018-04-03 15:20:34 -07:00
Trammell hudson
f60f0543d6
rename x230-flash coreboot file and update path to bzImage (#375) 2018-04-02 11:12:23 -04:00
Trammell hudson
1f04cf94ef
generate the list of modules to be cleaned automatically (issue #313) 2018-03-29 18:05:57 -04:00
Trammell hudson
83df25c5ab
Merge branch 'nested_menus' of https://github.com/kylerankin/heads 2018-03-29 17:32:08 -04:00
Trammell hudson
c6ece3bea1
Merge branch 'cairo' of https://github.com/kakaroto/heads 2018-03-29 17:21:57 -04:00
Trammell hudson
bd0c7da8f5
point pkg-config at the $(INSTALL) directory (issue #373) 2018-03-29 17:21:51 -04:00
Trammell hudson
fe3e6dd5ec
Merge branch 'nvme' of https://github.com/kakaroto/heads 2018-03-29 15:35:38 -04:00
Youness Alaoui
8ca6286ae0
Add Cairo/FBWhiptail to the build process
Enable it by default for the Librem 13 v2
2018-03-28 16:42:34 -04:00
Youness Alaoui
02145a80f5
Update flashrom to 1.0 2018-03-26 15:21:41 -04:00
Trammell hudson
e62362ddcc
Tioga Pass support, with the Broadcom BCM57302 2018-03-23 21:13:09 -04:00
Trammell hudson
b0fa91a6cf
very small Leopard board build 2018-03-22 17:34:58 -04:00
Kyle Rankin
35916d942b
Handle signing failures more gracefully with a dialog 2018-03-20 11:26:09 -07:00
Trammell hudson
f01e4076a0
fix target for non-external cross compiler build (issue #162) 2018-03-16 15:18:13 -04:00
Trammell hudson
7e52951715
fix missing ) in check for cross compiler (issue #162) 2018-03-16 13:37:24 -04:00
Trammell hudson
7f30b22b82
allow CROSS or MUSL_DIR to be set on the command line so that an external cross compiler can be used (issue #162) 2018-03-16 12:59:24 -04:00
Trammell hudson
114d17bab6
add leading + to enable job server mode for parallel make 2018-03-15 18:10:15 -04:00
Trammell hudson
7e0450113f
split Linux patches into separate files (issue #348) 2018-03-15 17:44:42 -04:00
Trammell hudson
e7697055a3
Merge branch 'init-changes' of https://github.com/flammit/heads 2018-03-15 17:16:13 -04:00
Trammell hudson
3cbff7ed1e
split coreboot patch into measured boot, kgpe-16 and sandybridge patches (#358) 2018-03-15 15:41:46 -04:00
Trammell hudson
18a7d5e16d
Merge branch 'vejmarie-nerf' 2018-03-15 15:34:40 -04:00
Trammell hudson
514ec6bb29
reduce the number of tools include in a qemu-linuxboot u-root build so that it fits 2018-03-15 15:30:05 -04:00
Trammell hudson
6c041ad845
use the Makefile dependencies to setup the per-board uinit.go file (#358) 2018-03-15 15:29:36 -04:00
Trammell hudson
bac09ec191
Merge branch 'nerf' of https://github.com/vejmarie/heads into vejmarie-nerf 2018-03-15 14:46:50 -04:00
Trammell hudson
cd98b36b7c
Merge branch 'patch_series' of https://github.com/kakaroto/heads 2018-03-15 14:44:51 -04:00
Trammell hudson
921bda774f
pre-build more of edk2 (issue #362) 2018-03-15 11:49:02 -04:00
Trammell hudson
ac537d0300
clean all cpio files and ensure that they are all padded 2018-03-15 11:46:42 -04:00
Trammell hudson
fadbc77fe8
prebuild the edk2 OVMF for a qemu system (issue #362) 2018-03-14 20:31:47 -04:00
Youness Alaoui
8bf187b50a
Add patches to coreboot to support Librem 13 v2 with TPM
Add a new series of patches which add measurement support for skylake,
add IOMMU for skylake, fix TPM support, and add support for TPM for
the Librem 13v2 and Librem 15v3 hardware.
2018-03-14 16:27:25 -04:00
Youness Alaoui
e7d4b88d39
Add ability to specify a series of patches per module
If a file $module_$version.series exists, it will be used to
specify a list of patch files to apply to the module.
This is becoming necessary for coreboot which has an increasing
amount of patches required and which makes it hard to maintain
all in one file.
2018-03-14 16:27:21 -04:00
Kyle Rankin
eaaa1dad39
Fix tab alignment to conform with rest of script 2018-03-14 10:24:14 -07:00
Kyle Rankin
665754122d
Allow insecure boot mode to bypass kexec sig checks
There was a bug in the "force" boot mode where it would still fail if
signatures didn't match. This was because the check_config function
validates the signatures for kexec files. I've added a few conditionals
here so that in the case of a forced boot mode, we can bypass those
signature checks that would prevent boot and error out to a recovery
console.
2018-03-14 10:18:52 -07:00
Kyle Rankin
769f6a7a24
Create nested menus and add option to rehash/sign /boot
The number of options we want in the menu is starting to get large
enough that it's worth slimming things down in the main menu and move
options to nested menus. Along with this nested menu change is the
option to re-sign and re-hash files in /boot directly from the menu.
2018-03-14 10:14:22 -07:00
Jean-Marie Verdun
5bad1cc595 Move u-root.cpio pre-deletion from a global make definition to a "clean" rule 2018-03-12 21:31:58 +01:00
Trammell hudson
21a3059c5f
Merge branch 'librem13v2_blobs_config' of https://github.com/kakaroto/heads 2018-03-12 14:18:12 -04:00
Trammell hudson
160405450b
Merge branch 'add_tpm_reset_menu_option' of https://github.com/kylerankin/heads 2018-03-12 13:59:26 -04:00
Trammell hudson
3bce5ad3d2
Merge branch 'add_gui_hash_alert' of https://github.com/kylerankin/heads 2018-03-12 13:59:05 -04:00
Trammell hudson
5765a0b834
Merge branch 'newt_slang_module_fix' of https://github.com/kakaroto/heads 2018-03-12 13:57:54 -04:00
Trammell hudson
6f151a287d
Merge branch 'librem13v2_blobs_config' of https://github.com/kakaroto/heads 2018-03-12 13:56:11 -04:00
Jean-Marie Verdun
87ae9072b2 Add uinit.go init script for winterfell board. This is setting up the basic
storage drivers to boot locally (ATA and NVME) and kick the RSDP
2018-03-12 14:27:43 +01:00
Jean-Marie Verdun
8e69f8cdbf Automatically remove u-root.cpio before compilation. u-root doesn't do that
and if the file is soon created, it will dropped the creation of a new initramfs
2018-03-12 10:28:35 +01:00
Jean-Marie Verdun
d6743abcc4 Refactor config directory content as to add extension capabilities for
inserting init script within generated ramfs.
Each init script are board file dependant (think kernel drivers auto insertion)
2018-03-12 10:26:23 +01:00
Francis Lam
dabb181516
Temporarily add flashrom back to x230 config
Until scripts are changed to use flashtool
2018-03-10 18:12:52 -08:00
Francis Lam
e86123769b
Moved network init to a separate bootscript
Enabled recovery serial console (tested on kgpe-d16)
Minor fix to kexec-boot to correct xen boot
Remove busybox power utils
2018-03-10 15:40:07 -08:00
Youness Alaoui
0c18ad55ff Update coreboot and linux configs for Librem 13 v2 2018-03-08 19:37:07 -05:00
Youness Alaoui
79c1398765 Add blobs directory/script for skylake based librems 2018-03-08 19:37:06 -05:00
Kyle Rankin
dee52415fa
Add a menu option to reset TPM for bootstrapping. Widen menus.
One of the other core functions a user needs when bootstrapping is
taking over the TPM. I've added a new option in the menu for this and it
revealed that some of the menus needed more space so I've widened all
the menus and also made the main menu longer so the options don't
scroll.
2018-03-08 16:36:56 -08:00
Youness Alaoui
00c7717f70 slang: Don't error out when building slang for the 2nd time 2018-03-08 19:22:44 -05:00
Youness Alaoui
112daf475d newt: Disable compiling TCL module if tcl headers are installed in system 2018-03-08 18:42:55 -05:00
Trammell hudson
9c9b5bcd2b
Merge branch 'add_gui_hash_alert' of https://github.com/kylerankin/heads 2018-03-08 14:41:44 -05:00