Commit Graph

123 Commits

Author SHA1 Message Date
adee5a1261 Merge branch 'master' of ssh://github.com/osresearch/heads 2018-03-08 11:41:42 -05:00
dd8685c1be Do not include busybox if CONFIG_BUSYBOX is not set (issue #346) 2018-03-08 11:41:28 -05:00
4e8e88b323 remove superiotool from default build 2018-03-08 04:32:23 -05:00
ab460645a3 allow $(packages) to be set in Make enviroment (#338) 2018-03-08 01:16:28 -05:00
b2868cf3cf Merge branch 'export-quote-walkaround' of https://github.com/persmule/heads 2018-03-08 01:07:58 -05:00
d9808f6659 build the superiotool, which requires a hack on the pciutils lib/types.h file 2018-03-02 09:37:31 -05:00
4e758b8bfb Walkaround envvars passed through make(1) when generating etc/config
"export" statements included or declared in a Makefile proves literally
(with no escape) passed to the shell, which may result in shell envvars
containing literal double quote if SHELL is set as bash, and they further
becomes statements containing `\"` when printed with command export.

This behavior could be observed by the makefile inlined at the end.

This commit adds a regexp to sed to remove those `\"`.

export QUOTE="QUOTE"
SHELL := /bin/bash
.SHELLFLAGS := -o pipefail -c
export-quote:
        export|grep QUOTE
2018-03-01 15:36:54 +08:00
4f5432bb46 generate /etc/config from exported configuration variables 2018-02-28 14:57:46 -05:00
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
7283a5397a Merge branch 'add_whiptail' of https://github.com/kylerankin/heads 2018-02-26 16:33:34 -05:00
ff9925a6d4 remove ancient default CONFIG variable 2018-02-26 16:32:42 -05:00
657693f791 Merge branch 'fix_cpio_in_Makefile' of https://github.com/kylerankin/heads 2018-02-26 11:42:13 -05:00
e88700d0d9 add inteltool build instructions (not included by default) 2018-02-26 11:42:07 -05:00
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
1f22da73af Fix missing parenthesis in cpio make option 2018-02-14 14:43:35 -08:00
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
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
e0d390c62d Helpful targets 2018-02-13 13:20:27 -05:00
3bf51cb74c ensure that all is the default target and have a useful default board 2018-02-07 19:03:40 -05:00
d26f79bac9 coreboot and linuxboot qemu builds work 2018-02-05 17:27:12 -05:00
452aabe528 fix path to CONFIG_LINUX_CONFIG file 2018-02-05 16:27:48 -05:00
b50f8e847b cleanup configuration options to all have the same CONFIG_MODULE_OPTION naming scheme 2018-02-05 15:59:26 -05:00
22f7442710 perform per-board Linux builds 2018-02-05 15:28:33 -05:00
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
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
16d13e61de rename initrd.cpio to inird-$(BOARD).cpio), remove old tools 2018-02-02 16:26:26 -05:00
982256df60 add config, git hash and phase out the Makefile.nerf 2018-02-02 15:56:46 -05:00
07f7653999 move tools into bin/ directory 2018-01-19 14:17:26 -05:00
517d242da5 allow .vol targets to be passed through 2017-12-04 15:29:00 -05:00
c954ec1947 Fix default target for NERF and edk2 dependency (issue #284) 2017-11-20 17:28:35 -05:00
12cea9a8e9 make coreboot an optional dependency (issue #265) 2017-09-22 16:17:05 -04:00
03d21da268 generate 512-byte padded xz files 2017-09-22 15:09:57 -04:00
796ea2870a build appears to produce a NERFed r630 firmware image 2017-09-20 18:24:54 -04:00
8194f2f477 allow extra options to git via the repo variable 2017-09-20 14:25:19 -04:00
fcc99eca93 include version number in verify target (issue #228) 2017-07-18 14:03:43 -04:00
7f6f365afe Reverted submodule name back to xen 2017-06-26 13:07:48 -04:00
c2ec62bfcd Changed xen submodule to track Qubes Xen
Closes #159
2017-06-23 23:01:20 -04:00
a71f84c08f cbmem was not being built 2017-04-12 11:54:11 -04:00
fa8c3abe98 put board configuration file into /etc/config 2017-04-12 06:52:35 -04:00
4e88d5d59c typo in gnupg, remove the install directory on a real.clean 2017-04-09 01:38:22 -04:00
a2b0ef878e add real.clean target and fix DAG for parallel top-level makes (issue #175) 2017-04-08 17:46:54 -04:00
8c3b5877a3 add bootstrap target to build cross compilers (issue #162) 2017-04-08 15:19:26 -04:00
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
75117c0e5b reconfigure submodules if their config files ever change (issue #172) 2017-04-07 10:34:57 -04:00
5a0f3dc10b use -9 instead of --extreme for reproducibility (issue #171) 2017-04-07 10:05:30 -04:00
300b17fa25 add dropbear ssh to qubes and moc configurations (issue #169) 2017-04-07 09:53:02 -04:00
727e2fbc56 report sha256 of stages as they are built 2017-04-06 16:06:52 -04:00
192e122719 scale the max load by the number of CPUs (issue #131) 2017-04-06 10:50:43 -04:00
0019d8031c make %.rom generic 2017-04-05 14:12:44 -04:00
85a77cf5de build xen for installation into x230-qubes ROM (issue #84) 2017-04-03 17:09:22 -04:00