Commit Graph

117 Commits

Author SHA1 Message Date
Trammell hudson
d9808f6659
build the superiotool, which requires a hack on the pciutils lib/types.h file 2018-03-02 09:37:31 -05:00
Trammell hudson
4f5432bb46
generate /etc/config from exported configuration variables 2018-02-28 14:57:46 -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
7283a5397a
Merge branch 'add_whiptail' of https://github.com/kylerankin/heads 2018-02-26 16:33:34 -05:00
Trammell hudson
ff9925a6d4
remove ancient default CONFIG variable 2018-02-26 16:32:42 -05:00
Trammell hudson
657693f791
Merge branch 'fix_cpio_in_Makefile' of https://github.com/kylerankin/heads 2018-02-26 11:42:13 -05:00
Trammell hudson
e88700d0d9
add inteltool build instructions (not included by default) 2018-02-26 11:42:07 -05: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
Kyle Rankin
1f22da73af
Fix missing parenthesis in cpio make option 2018-02-14 14:43:35 -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
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
Trammell hudson
e0d390c62d
Helpful targets 2018-02-13 13:20:27 -05:00
Trammell hudson
3bf51cb74c
ensure that all is the default target and have a useful default board 2018-02-07 19:03:40 -05:00
Trammell hudson
d26f79bac9
coreboot and linuxboot qemu builds work 2018-02-05 17:27:12 -05:00
Trammell hudson
452aabe528
fix path to CONFIG_LINUX_CONFIG file 2018-02-05 16:27:48 -05:00
Trammell hudson
b50f8e847b
cleanup configuration options to all have the same CONFIG_MODULE_OPTION naming scheme 2018-02-05 15:59:26 -05:00
Trammell hudson
22f7442710
perform per-board Linux builds 2018-02-05 15:28:33 -05:00
Trammell hudson
47a94da5ed
x230 build works on the NERF tree (#305)
Fix FAST=1 builds to actually be fast.
2018-02-05 11:56:15 -05:00
Trammell hudson
cf8509e0f5
Add LinuxBoot as a module, prep for nerf branch merge (#305)
Move board configuration into `boards/` instead of `config/`
Fix mistake in building kernel module tree before kernel was done.
Allow per-board initrd builds (#278)
Allow per-board configurations for things (#304)
2018-02-05 11:27:45 -05:00
Trammell hudson
16d13e61de
rename initrd.cpio to inird-$(BOARD).cpio), remove old tools 2018-02-02 16:26:26 -05:00
Trammell hudson
982256df60
add config, git hash and phase out the Makefile.nerf 2018-02-02 15:56:46 -05:00
Trammell hudson
07f7653999
move tools into bin/ directory 2018-01-19 14:17:26 -05:00
Trammell hudson
517d242da5
allow .vol targets to be passed through 2017-12-04 15:29:00 -05:00
Trammell hudson
c954ec1947
Fix default target for NERF and edk2 dependency (issue #284) 2017-11-20 17:28:35 -05:00
Trammell hudson
12cea9a8e9
make coreboot an optional dependency (issue #265) 2017-09-22 16:17:05 -04:00
Trammell hudson
03d21da268
generate 512-byte padded xz files 2017-09-22 15:09:57 -04:00
Trammell hudson
796ea2870a
build appears to produce a NERFed r630 firmware image 2017-09-20 18:24:54 -04:00
Trammell hudson
8194f2f477
allow extra options to git via the repo variable 2017-09-20 14:25:19 -04:00
Trammell Hudson
fcc99eca93
include version number in verify target (issue #228) 2017-07-18 14:03:43 -04:00
Francis Lam
7f6f365afe
Reverted submodule name back to xen 2017-06-26 13:07:48 -04:00
Francis Lam
c2ec62bfcd
Changed xen submodule to track Qubes Xen
Closes #159
2017-06-23 23:01:20 -04:00
Trammell Hudson
a71f84c08f
cbmem was not being built 2017-04-12 11:54:11 -04:00
Trammell Hudson
fa8c3abe98
put board configuration file into /etc/config 2017-04-12 06:52:35 -04:00
Trammell Hudson
4e88d5d59c
typo in gnupg, remove the install directory on a real.clean 2017-04-09 01:38:22 -04:00
Trammell Hudson
a2b0ef878e
add real.clean target and fix DAG for parallel top-level makes (issue #175) 2017-04-08 17:46:54 -04:00
Trammell Hudson
8c3b5877a3
add bootstrap target to build cross compilers (issue #162) 2017-04-08 15:19:26 -04:00
Trammell Hudson
07eb5e9717
Define $(CROSS_TOOLS) to ensure reproducible builds (issue #173)
Each of the submodule configuration files defined a subset of the
cross compiler tools that it used and many were picking up the
system `ar`, `nm`, `strip, `ld`, etc.  They all now use a `Makefile`
macro that defines the path to the proper cross compiler tools.

For ones that need the tools, but not the musl-libc gcc,
there is $(CROSS_TOOLS_NOCC) that is all of them without gcc.
This is for musl-libc itself, as well as xen and the Linux kernel.
2017-04-08 13:23:34 -04:00
Trammell Hudson
75117c0e5b
reconfigure submodules if their config files ever change (issue #172) 2017-04-07 10:34:57 -04:00
Trammell Hudson
5a0f3dc10b
use -9 instead of --extreme for reproducibility (issue #171) 2017-04-07 10:05:30 -04:00
Trammell Hudson
300b17fa25
add dropbear ssh to qubes and moc configurations (issue #169) 2017-04-07 09:53:02 -04:00
Trammell Hudson
727e2fbc56
report sha256 of stages as they are built 2017-04-06 16:06:52 -04:00
Trammell Hudson
192e122719
scale the max load by the number of CPUs (issue #131) 2017-04-06 10:50:43 -04:00
Trammell Hudson
0019d8031c
make %.rom generic 2017-04-05 14:12:44 -04:00
Trammell Hudson
85a77cf5de
build xen for installation into x230-qubes ROM (issue #84) 2017-04-03 17:09:22 -04:00
Trammell Hudson
d335f24292
split x230 config into 4MB bootstrap image and 7MB runtime image (issue #156) 2017-04-03 14:53:29 -04:00
Trammell Hudson
93a0d7eee2
support clean targets 2017-03-31 18:13:50 -04:00
Trammell Hudson
27e35f6ef7
cleanup initrd tmpfile and reduce recursive make calls 2017-03-31 13:28:20 -04:00
Trammell Hudson
9322dbef2d
use default qemu config, parameterize bin_modules 2017-03-31 12:06:59 -04:00
Trammell Hudson
c40748aa25
Build time configuration for startup scripts and modules.
This addresses multiple issues:

* Issue #63: initrd is build fresh each time, so tracked files do not matter.
* Issue #144: build time configuration
* Issue #123: allows us to customize the startup experience
* Issue #122: manual start-xen will go away
* Issue #25: tpmtotp PCRs are updated after reading the secret
* Issue #16: insmod now meaures modules
2017-03-31 11:18:46 -04:00
Trammell Hudson
d8ab8ecfe8
Rebuild sub-modules on each build (issue #143).
The .INTERMEDIATE target seemed to causing the problem with
make thinking it didn't have to descend into the sub-module
directories.  Removing it allows it to work correctly.
2017-03-30 18:39:18 -04:00