Commit Graph

296 Commits

Author SHA1 Message Date
Trammell Hudson
3008bb6945
Make musl-cross a normal Heads module.
This merges pull request #99 by @blackwellops and removes
the ./bootstrap script since the musl-cross can be built as
part of the normal dependency tree.
2017-01-31 13:22:43 -05:00
Trammell Hudson
d64caac4db
silence the builds 2017-01-28 20:42:26 -05:00
Trammell Hudson
26ef81f5fb
coreboot flags to strip build paths (issue #95) 2017-01-28 20:21:47 -05:00
Trammell Hudson
1ec00592af
pass in flags to make Linux kernel reproducible (issue #94) 2017-01-28 18:38:29 -05:00
Trammell Hudson
1411dffb6a
Make modules not depend on build path (issue #1).
Use --prefix="" to ensure that no destination paths are in libraries.

Use -fdebug-prefix-map to rewrite build path so that it does not
appear in the executables.

Use -gno-record-gcc-switches to ensure that the -fdebug-prefix-map
does not appear in the executables.
2017-01-28 13:14:56 -05:00
Trammell Hudson
19cb1bcb73
use bootstrap built crossgcc 2017-01-28 13:14:48 -05:00
Trammell Hudson
8ca440b7ae
allow $(heads_cc) to contain spaces 2017-01-28 12:16:34 -05:00
Trammell Hudson
2213500000
bootstrap the musl-libc gcc cross compiler and use it to build everything except coreboot 2017-01-27 18:01:25 -05:00
Trammell Hudson
24e54a65f6
Build GNU make-4.2 if the system make is the wrong version (issue #88).
Change all of the builds to use $(MAKE) instead of the /usr/bin/make.

Download and build GNU make-4.2 if the wrong version is installed
on the system.

Re-invoke build/make-4.2/make with the target that was passed in once
the correct make has been built.
2017-01-27 18:00:50 -05:00
iseeareddoor
85dcbf6687
modules/coreboot: remove 'time' for dash compat
the 'time' builtin is a bashism whichis not supported in Debian's standard sh ('dash'), which is used implicitly here.
2017-01-23 13:35:48 -05:00
Trammell Hudson
5b3ca49a15
force kexec to build 64-bit version, otherwise xen fails to load 2017-01-05 04:29:56 -05:00
Trammell Hudson
bf914e7156
make clean before install; crosscompile failed? 2017-01-04 17:05:29 -05:00
Trammell Hudson
58ff95818e
Working build with musl-libc cross compiler (issue #77).
Pass in the --host argument to all of the various programs
that need to treat the configure scripts as cross compilation
targets.

This removes all dependencies on the host libc (issue #7)
and adds some tools to the initrd (cryptsetup #46).
2017-01-04 16:39:10 -05:00
Trammell Hudson
84064debbe
musl-libc patches to build a successfull qemu image 2017-01-04 10:31:27 -05:00
Trammell Hudson
3e5be157e9
remove the dev mapper library output; it will be detected by the populate-lib step 2017-01-04 10:30:50 -05:00
Trammell Hudson
9273e252f6
Build initrd tools with musl-libc (issue #77).
This adds compilations modules for musl-libc and kernel-headers.
The entire initrd (busybox, cryptsetup, gpgv, kexec, etc) can be built
with the much smaller libc and it appears to work with chroot.

Library paths are not set correctly and files are installed into
heads/install to make them accessible to other modules.  This prevents
the initrd from working without manual fixup; need to fix before
merging into master.

Build times have gone up since everything is being rebuilt more
often for some reason.
2016-12-29 18:23:08 -05:00
Trammell Hudson
177dede4ca
install the gpgv binary into the initrd (typo in output variable) 2016-12-29 06:44:49 -05:00
Trammell Hudson
092a395dbc
update hash for gnupg-1.4 (issue #76) 2016-12-29 06:39:32 -05:00
Trammell Hudson
065179758e
lzma is not required in kexec 2016-12-28 16:47:10 -05:00
Trammell Hudson
5fd9878d28
Download and build almost all dependencies.
As part of issue #1, we should build all libraries and programs that we
deploy into the Heads initrd.  This modifies the module configurations
for all of them to install into heads/install so that we can build
against them.

Add dmsetup, cryptsetup and veritysetup (issue #46).

Build gpgv 1.4 as a standalone tool (issue #23).

Modify populate-lib to use the install directory by setting
LD_LIBRARY_PATH (issue #35).
2016-12-28 12:45:12 -05:00
Trammell Hudson
24dd8489b4
use the mega-binary version of the tpm utilities (issue #70) 2016-12-26 10:55:43 -05:00
Trammell Hudson
a6520772dc
Update Heads to use the 4.9 Linux LTS kernel.
No patches are required to boot 4.9 as a coreboot payload,
unlike the 4.7 kernel that required a head_64.S patch.

The new kernel is about 40 KB larger than the 4.7; the
config might be shrinkable.

Close issue #61.
2016-12-12 11:01:18 -05:00
Trammell Hudson
ff5639a542
Build cryptsetup and install it into the initrd 2016-12-01 14:03:55 -05:00
Philipp Deppenwiese
5fd61f3e52
Update cryptsetup module and strip it down
Signed-off-by: Philipp Deppenwiese <zaolin@das-labor.org>
2016-11-29 20:24:01 +01:00
Trammell Hudson
e55a6a4df4
Rework Makefile a bit.
rename TARGET to BOARD (fix #55)
use .INTERMEDIATE trick to avoid building multiple times (fix #52)
Don't touch build/*/.config if we don't have to (fix #51)
2016-11-29 11:28:05 -05:00
Trammell Hudson
4fbd6ca58b
Make coreboot building modular to support multiple boards.
This touches most of the module configurations since the
coreboot build process had to add a few new features.
The Linux kernel could make use of it as well if we need
separate x230/chell/qemu kernels, for instance.
2016-11-23 12:11:08 -05:00
Trammell Hudson
c66167b9e5
remove unused binary sealtotp/unsealtotp programs 2016-09-11 00:07:56 -04:00
Trammell Hudson
4b2064f193
improve library/binary handling in building initrd (issue #21) 2016-09-10 17:36:36 -04:00
Trammell Hudson
9a85bc22d9
use the new tpmtotp shell scripts 2016-09-09 17:24:52 -04:00
Trammell Hudson
e342aa3f18
checkout tpmtotp from github, install various tpm utilities 2016-08-19 17:25:44 -04:00
Trammell Hudson
a707cab403
correct path and patch for xen-4.6.3 files 2016-08-19 14:51:45 -04:00
Trammell Hudson
b228290ae1
checkout coreboot from github, rather than downloading release file 2016-08-19 11:31:07 -04:00
Trammell Hudson
18c9b2d808
cryptsetup for dm-verity support 2016-08-19 11:20:41 -04:00
Trammell Hudson
3ba3e2a939
use coreboot from git instead of downloading it, move blobs into this module file 2016-08-14 16:03:11 -04:00
Trammell Hudson
ec96a39d48
build library subdirectory only 2016-08-06 17:15:56 -04:00
Trammell Hudson
4a9c3e1ccb
allow linux 4.7 to be selected 2016-08-05 12:24:16 -04:00
Trammell Hudson
a81a002abb
Build and bundle the patched xen 4.6.3 kernel 2016-08-03 18:10:44 -04:00
Trammell Hudson
ef9485e9bc
rename status file to .built 2016-08-03 08:40:04 -04:00
Trammell Hudson
f37d5dd171
dependency updates 2016-08-03 08:39:29 -04:00
Trammell Hudson
a554b3e49a
correct path for mbedtls package 2016-08-02 23:25:34 -04:00
Trammell Hudson
97f4fd2c65
release 0.0.1 for tpmtotp 2016-08-02 23:22:12 -04:00
Trammell Hudson
62c544ea96
coreboot build (might) work; need to do a test from clean while online 2016-08-02 21:49:22 -04:00
Trammell Hudson
3fde9759f3
coreboot-4.4 binary blobs 2016-08-02 21:39:24 -04:00
Trammell Hudson
426cd8f94f
build the linux kernel after building the initrd 2016-08-02 21:23:18 -04:00
Trammell Hudson
0ffa65d2f2
busybox configuration 2016-08-02 19:29:33 -04:00
Trammell Hudson
00559def5d
porting Makefile to use a modular build system for each package 2016-08-02 19:25:47 -04:00