Commit Graph

308 Commits

Author SHA1 Message Date
Trammell hudson
2980eb0522
pin msrtools and tpmtotp to current git heads
Signed-off-by: Trammell hudson <hudson@trmm.net>
2019-10-29 13:36:04 +01:00
Trammell hudson
e5038e6adf
musl-cross: crossgcc binary changed names (#617)
Signed-off-by: Trammell hudson <hudson@trmm.net>
2019-10-29 13:26:23 +01:00
Trammell hudson
56aa508b8d
musl-cross: pin to a specific checkout (#617)
Add `--strip 1` to tar file extraction in the `Makefile`,
which ensures that the directory name in `build/` will
match the one listed in `$($(MODULE)_dir)`.

Signed-off-by: Trammell hudson <hudson@trmm.net>
2019-10-29 13:15:56 +01:00
Trammell hudson
a37e1f434d
add Intel msrtools commands 2019-07-30 15:36:57 +02:00
tlaurion
6080219d85
tabs required instead of spaces... 2019-04-27 13:40:12 -04:00
Thierry Laurion
a15504b414
Fedora 30 fix for pinentry: remove gtk and gnome3 support. TODO: remove all unneeded config options for ALL modules 2019-04-27 13:36:05 -04:00
tlaurion
64c830e652
Merge branch 'master' into make-4.2.1 2019-04-22 21:53:43 -04:00
tlaurion
6612352a60
Merge pull request #496 from strugee/better-mirror-url
Improve mirror URLs
2019-02-28 16:12:25 -05:00
tlaurion
695993b593
Merge branch 'master' into gpg2 2019-02-08 13:29:02 -05:00
Thierry Laurion
8dd1082808
module/pinentry: disable-pinentry-qt instead of qt5
else:
make[4]: Entering directory '/home/user/heads/build/pinentry-1.1.0/qt'
g++ -DHAVE_CONFIG_H -I. -I..  -I//include -I//include  -I.. -I../secmem  -I../pinentry -Wall -I/home/user/heads/install/usr/include -I/home/user/heads/install/usr/include/QtCore -I/home/user/heads/install/usr/include/QtGui -DQT_SHARED  -g -O2 -MT pinentrydialog.o -MD -MP -MF .deps/pinentrydialog.Tpo -c -o pinentrydialog.o pinentrydialog.cpp
In file included from pinentrydialog.cpp:24:
pinentrydialog.h:27:10: fatal error: QDialog: No such file or directory
2019-01-29 11:18:14 -05:00
Itay Grudev
3bc79495bb
Disabled libsecret support in the pinentry module 2019-01-29 11:16:26 -05:00
Thierry Laurion
44d566a72a
pinentry-tty path needs to be known from gpg-agent 2019-01-26 11:51:59 -05:00
Trammell Hudson
e5a739e54c
use /bin for libexecdir and disable curses pinentry 2019-01-26 11:51:54 -05:00
Thierry Laurion
8ba3c33402
required changes to apply on top of osresearch/gpg2 for gpg2 to actually work, tools and libs updated to latest versions 2019-01-26 11:51:51 -05:00
Trammell hudson
c261907ee6
gpg2 pinentry program is required for passwords or PINs 2019-01-26 11:51:41 -05:00
tlaurion
49269f2bb4
gpg2 library fixes 2019-01-26 11:51:17 -05:00
Trammell hudson
b1736d7cb3
use full version names on output libraries 2019-01-26 11:48:26 -05:00
Trammell hudson
c1c615e677
copy gpg2 executables and pass in the libusb include path 2019-01-26 11:47:16 -05:00
Duncan Guthrie
7f1288b89c
Preliminary support for GnuPG2 2019-01-26 11:45:00 -05:00
AJ Jordan
8b28e49459
Switch popt mirror to Launchpad
Launchpad offers HTTPS downloads, whereas other more obvious mirrors
(like the one used originally, as well as rpm5.org) do not.

Note: it is unclear to whether Launchpad's tarballs will always match
the checksum from upstream tarballs. However, at least for 1.16, this
condition does indeed seem to hold true. Homebrew, FWIW, lists OpenBSD
as a mirror:

https://github.com/Homebrew/homebrew-core/blob/master/Formula/popt.rb
2018-12-13 16:39:07 -05:00
AJ Jordan
6303fbcacc
Download most resource from HTTPS
As much as possible.
2018-12-13 16:21:21 -05:00
AJ Jordan
b38e720440
Use a better GNU mirror URL
The new URL automatically redirects to a nearby, current GNU mirror.

Also, the fact that it's HTTPS helps with restrictive outbound
firewall policies that disallow plaintext traffic (for example,
using Qubes' firewall functionality).
2018-12-13 01:32:37 -05:00
Francis Lam
c559d71725
cairo: restore reproducibility
libtool needs to be patched to not write rpath to targets
2018-11-24 09:18:32 -08:00
Francis Lam
25113cb8c2
Fix coreboot build for kgpe-d16 2018-11-10 13:41:01 -08:00
Trammell Hudson
d8a3be47af
Merge branch 'coreboot-4.8' of https://github.com/flammit/heads 2018-11-07 17:04:23 -05:00
Trammell Hudson
7f83a0a028
Merge branch 'fbwhiptail_url' of https://github.com/merge/heads 2018-11-07 16:41:28 -05:00
Trammell Hudson
8fec61f6e8
Merge branch 'cryptsetup-reencrypt' of https://github.com/tlaurion/heads 2018-11-07 16:38:12 -05:00
Trammell Hudson
3f53cfe05b
Merge branch 'add_librem_key_support' of https://github.com/kylerankin/heads 2018-11-07 16:37:01 -05:00
Francis Lam
fe0f957bfc
Make lvm and slang build reproducibly again 2018-10-28 10:59:33 -07:00
Francis Lam
79c1434610
Fix DOTCONFIG in coreboot module and clean up configs 2018-10-27 14:03:45 -07:00
Trammell hudson
0bb78d343f
Use defconfig for coreboot builds 2018-10-27 11:02:23 -07:00
Francis Lam
c326ff62c7
Start updating to coreboot 4.8.1
missing librem patches
2018-10-27 11:02:23 -07:00
Martin Kepplinger
255181c02f fix the fbwhiptail source URL
The current source URL is not available anymore.

kakaroto changed his copy of heads to point to his own github account's fbwhiptail:
b13cc5e68d

But it seems that source.puri.sm/coreboot is a more accessible home for the
project.
2018-10-18 13:47:54 +02:00
Thierry Laurion
1d2fb02668 Adding cryptsetup-reencrypt support 2018-10-08 16:28:05 -04:00
Trammell hudson
aeb59e1b48
coreboot must be extracted before the xgcc symlink 2018-09-18 16:06:35 -04: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
66b51d3296
quiet hashing process slightly 2018-09-18 13:07:40 -04:00
Trammell hudson
54748c663a
hash the kernel 2018-09-18 12:09:47 -04:00
Trammell hudson
606600586c
coreboot-gcc target 2018-09-18 09:27:18 -04:00
Trammell hudson
f712d7aefe
move limits.h dependency into modules/linux 2018-09-18 07:24:19 -04:00
Trammell hudson
292a8bec81
patch for __alloca missing on ubuntu 18.04 (#352) 2018-09-18 06:33:15 -04:00
Trammell Hudson
fb37c5dcc8
bds-pr is on the main branch now 2018-08-13 06:31:07 -04:00
Trammell Hudson
f4e25dd216
Use Linux kernel defconfig format (issue #416)
This reduces the amount of noise in the Linux kernel config files
by only storing the differences from the stock configuration.
It adds a new makefile target 'linux.saveconfig' to convert the
build tree's .config file into config/linux-linuxboot.config.
2018-08-09 12:45:53 -04:00
Trammell Hudson
c7c4b9919c
ensure that the dxe modules will be built with the Heads cross compiler 2018-08-09 12:20:03 -04:00
Trammell Hudson
c98bfe158f
update to 4.14.62 and use the linuxboot.efi BDS 2018-08-09 10:20:22 -04:00
Trammell Hudson
d400c4dd4d
update paths for Linux 4.14.56 (issue #423) 2018-07-17 06:48:06 -04:00
Kyle Rankin
31cf85b707
Add Librem Key support to Heads
The Librem Key is a custom device USB-based security token Nitrokey is
producing for Purism and among other things it has custom firmware
created for use with Heads. In particular, when a board is configured
with CONFIG_LIBREMKEY, this custom firmware allows Heads to use the
sealed TOTP secret to also send an HOTP authentication to the Librem
Key. If the HOTP code is successful, the Librem Key will blink a green
LED, if unsuccessful it will blink red, thereby informing the user that
Heads has been tampered with without requiring them to use a phone to
validate the TOTP secret.

Heads will still use and show the TOTP secret, in case the user wants to
validate both codes (in case the Librem Key was lost or is no longer
trusted). It will also show the result of the HOTP verification (but not
the code itself), even though the user should trust only what the Librem
Key displays, so the user can confirm that both the device and Heads are
in sync. If HOTP is enabled, Heads will maintain a new TPM counter
separate from the Heads TPM counter that will increment each time HOTP
codes are checked.

This change also modifies the routines that update TOTP so that if
the Librem Key executables are present it will also update HOTP codes
and synchronize them with a Librem Key.
2018-06-19 12:27:27 -07:00
Trammell hudson
d88cc4fe3c
use tpmtotp git and add hotp command 2018-06-01 12:36:21 -04:00
Trammell hudson
c7bad87e42
update URL for popt since rpm5.or gis down (issue #421) 2018-05-29 17:28:47 -04:00
Francis Lam
bb0e13c24f
Add back flashrom support for KGPE-D16
Also fix up flashrom-x230.sh command only read bios area
2018-05-05 18:59:43 -07:00
Trammell hudson
492b94afb5
move git hash into /etc/config instead of Linux kernel version and track clean/dirty status (#398) 2018-05-04 14:36:56 -04:00
Trammell hudson
0b644b1e19
ensure that Linux kernel is updated after a build and that busybox is not spuriously rebuilt (#397) 2018-05-03 18:03:24 -04:00
Trammell hudson
3d6eeb6a95
force re-configuration when linux or coreboot config files change (#397) 2018-05-03 16:47:09 -04:00
Trammell hudson
17bcc68f5d
fix symlink install of busybox so that it happens even on parallel builds (#394) 2018-05-02 16:13:23 -04:00
Trammell hudson
3dc4672bc6
fix path to edk2/OvmfPkg for qemu-linuxboot board (#394) 2018-05-02 15:46:30 -04:00
Trammell hudson
e5740c6bfe
ensure that both coreboot.rom and linuxboot.rom are built in a parallel build (#394) 2018-05-02 14:53:54 -04:00
Trammell hudson
022ca815e4
fix external cross compiler parallel build and patch directories 2018-05-02 14:30:58 -04:00
Trammell hudson
589e67db8e
Fix linux header install path 2018-05-02 14:30:27 -04:00
Trammell hudson
a772b27e5d
parallel make fixes and hacks, which seem to work and reduce excessive remaking (issue #394) 2018-05-02 11:38:39 -04:00
Trammell hudson
ca5a7e0809
Merge branch 'flashrom' of https://github.com/kakaroto/heads 2018-04-30 17:08:51 -04:00
Trammell hudson
463f91c601
Merge branch 'cbfs-init' of https://github.com/flammit/heads 2018-04-30 16:02:16 -04:00
vejmarie
6104c5bdd4 Fix uinit setup 2018-04-30 16:14:18 +02:00
vejmarie
4c8e97eda1 Enhance parallel build 2018-04-30 14:48:24 +02:00
Francis Lam
c0f3a4bb79
Read and measure an EFI file into initrd during init 2018-04-29 19:58:44 -07:00
vejmarie
a90858c0e5 Fix u-root parallel build 2018-04-29 20:56:33 +02:00
Trammell hudson
acf16c7304
slang: disable parallel make during the install target (issue #385) 2018-04-19 20:41:49 -04:00
Trammell hudson
19ef20ed94
flashtools include cbfs reader 2018-04-19 12:54:05 -04:00
Trammell hudson
23e0dc84ef
option for Intel ME modules 2018-04-10 15:28:24 -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
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
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
921bda774f
pre-build more of edk2 (issue #362) 2018-03-15 11:49:02 -04:00
Trammell hudson
fadbc77fe8
prebuild the edk2 OVMF for a qemu system (issue #362) 2018-03-14 20:31:47 -04: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
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
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
ef4576e881
Enable NVMe option for winterfell 2018-02-28 14:06:53 -05:00
Trammell hudson
495e88f175
correct flashtools repo url 2018-02-28 10:53:18 -05:00
Trammell hudson
f618f09a69
Generate a fake EBDA with kexec, removing the need for a custom xen (#227)
This modifies the segment at 0x0 so that it contains enough of a fake
Extended BIOS Data Area at addresses 0x40e and 0x413 that Xen can
correctly locate its trampoline code.

Since custom Xen is no longer required, we can remove the module,
the patches and all of the references to it in the board definition
files.
2018-02-28 10:48:35 -05:00
Trammell hudson
2facd55e44
flashtool can write to the winterfell ROM 2018-02-28 02:46:14 -05:00
Trammell hudson
7283a5397a
Merge branch 'add_whiptail' of https://github.com/kylerankin/heads 2018-02-26 16:33:34 -05:00
Kyle Rankin
1b8ac07a58
Fix bad slang modules file
The modules file had a few errors that prevented slang from being built.
First the src/elfobjs file needed to be created before make started.
Second it needed to be configured without external png, pcre and onig
libraries it doesn't need for this application.
2018-02-26 13:28:11 -08:00
Trammell hudson
082a4e28ee
Merge branch 'companion-controller' of https://github.com/persmule/heads 2018-02-26 11:43:14 -05:00
Trammell hudson
b4bb4edb73
fix dependency for bzImage, allowing make -jN to work (#306) 2018-02-26 11:40:04 -05:00
Kyle Rankin
34296b54a6
Fix bad copy/paste variable reference from TPMTOTP 2018-02-19 17:20:10 -08:00
Kyle Rankin
bb465ad513
Align tabs with previous lines 2018-02-19 16:44:24 -08:00
Kyle Rankin
88c732833a
Add whiptail binary, new libraries, and slang dependency
The whiptail binary will allow us to create GUI menus from bash scripts.
It is included in the newt library, which depends on slang. To enable,
the board configuration file should add CONFIG_SLANG=y and CONFIG_NEWT=y
2018-02-19 16:39:42 -08:00
persmule
baa30a2026 Add OHCI and UHCI drivers to initrd.
USB smart card readers are most full speed devices, and there is no
"rate-matching hubs" beneath the root hub on older (e.g. GM45) plat-
forms, which has companion OHCI or UHCI controllers and needs cor-
responding drivers to communicate with card readers directly plugged
into the motherboard, otherwise a discrete USB hub should be inserted
between the motherboard and the reader.

This time I make inserting linux modules for OHCI and UHCI controllable
with option CONFIG_LINUX_USB_COMPANION_CONTROLLER.

A linux config for x200 is added as an example.

Tested on my x200s and elitebook revolve 810g1.
2018-02-15 22:59:22 +08:00
Trammell hudson
1459e701e3
Make the Heads runtime opt-out from the initrd.cpio. #317
Allow sub-modules like u-root to opt out of the Heads runtime,
while retaining the musl-libc built tools.
2018-02-13 17:46:48 -05:00
Trammell hudson
fc5d21cc28
remove unused _platform modules 2018-02-13 17:46:38 -05:00
Trammell hudson
78543fb7c7
make zlib, busybox and musl opt-out 2018-02-13 17:37:28 -05:00
Trammell hudson
10c1f56b0a
Enable easy building with the NERF u-root tree #317
This adds a `CONFIG_UROOT=y` option to allow the busybox
runtime to be replaced with the go u-root runtime.
You must have go 1.9 or newer for it to work.

It has been tested on the OCP winterfell and qemu nodes,
and it can be specified on the build command line as well.

Nothing from `heads/initrd` or any of the tools will be
linked into the cpio file.  Only the kernel modules and the
go shell will be included.
2018-02-13 15:47:31 -05:00