Commit Graph

119 Commits

Author SHA1 Message Date
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
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
383f1f66a5
merge changes from master into nerf branch in preparation for closing nerf branch 2018-02-02 17:06:49 -05:00
Trammell hudson
ff87428098
remove vestiges of Makefile.nerf 2018-02-02 16:27:13 -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
d1c6e6573f
merge from s2600wf tree 2018-02-02 16:01:58 -05:00
Trammell hudson
39796634e3
Enable MLX4 cards, TPM, MSR, microcode and turn off vga console 2018-02-02 15:49:49 -05:00
Trammell hudson
4895e4704f
checkpointing a config that boots to user space, but serial still does not work 2018-01-19 15:53:05 -05:00
Trammell hudson
b3bd1ed888
pci=realloc, as suggested by dmesg 2017-12-04 18:58:02 -05:00
Trammell hudson
9685483cd6
size notes 2017-12-04 18:57:48 -05:00
Trammell hudson
103d435fe1
Make the AHCI and ATA drivers a module (issue #291) 2017-12-04 16:00:35 -05:00
Trammell hudson
bf4446c900
Make DxeCore and others configurable 2017-12-04 15:31:18 -05:00
Trammell hudson
5a188f5b46
Add support for building the Linux kernel as a BDS target 2017-12-04 15:30:40 -05:00
Trammell hudson
680b952856
Make ROM_SIZE a configuration option #283 2017-12-04 14:56:58 -05:00
Trammell hudson
27deeba893
Make ROM_SIZE a configuration option #283 2017-12-04 14:52:27 -05:00
Trammell hudson
63c9e6e51c
configuration for Intel s2600wf server mainboard 2017-12-04 14:14:16 -05:00
Trammell hudson
5176bfdd58
preliminary winterfell support for NERF 2017-10-18 13:56:32 -04:00
Francis Lam
1a34bd9d6f
Updated to coreboot 4.6
Also changed x220 and purism configs to use generic boot
2017-10-10 16:27:16 -04:00
Trammell hudson
5ebe5a119a
Merge branch 'x220' of https://github.com/jgrip/heads into jgrip-x220 2017-10-09 18:16:45 -04:00
Trammell hudson
6046a01e9e
Initial support for the Lenovo x3550 m5 server, but it does not work yet 2017-10-05 15:16:34 -04:00
Trammell hudson
2438a0ea24
Build multiple boards with the NERF firmware (issue #268)
This modifies the `Makefile.nerf` to create files based on the
$(BOARD) variable, which is necessary as we start to support
multiple mainboards.

The config files must define five variables, all in bytes:

* `NERF_SIZE` - for the EFI firmware volume that contains Linux
* `PEI_SIZE` - size of the PEI image in the vendor ROM
* `PEI_OFFSET` - offset of the PEI image in the vendor ROM
* `ME_SIZE` - size of the ME image in the vendor ROM, or 0 if
there is no ME image to be extracted.
* `ME_OFFSET` - offset of the ME image in the vendor ROM

The `ifd.bin` must be created and can be checked in.
The default ROM input file is `blobs/$(BOARD)/$(BOARD).rom`,
and it *must not* be checked in.
2017-10-05 15:10:34 -04:00
Trammell hudson
115573adc9
Attempt to use the edk2 ACPI tables (issue #266)
This links in the AcpiTableDxe and AcpiPlatform executables from
the edk2 build tree and adds a depex dependency for the Linux
kernel on the AcpiTable being setup.  The `acpi.cpio` file is
no longer included in the Linux kernel bzImage.

The `Makefile.nerf` has been re-written to generate the firmware
file system (FFS) files via rules.

TODO: figure out how to add LZMA compressed sections so that the
900k acpi tables can be compressed to about 100k.
2017-09-23 22:53:10 -04:00
Trammell hudson
12cea9a8e9
make coreboot an optional dependency (issue #265) 2017-09-22 16:17:05 -04:00
Trammell hudson
ae8aa669dc
make PERC/MegaRaid a module again (issue #253) 2017-09-22 16:13:26 -04:00
Trammell hudson
90c231623c
support XZ initrd, without forcing XZ on initramfs (issue #257) 2017-09-22 15:27:10 -04:00
Trammell hudson
0cc31132d3
Allow initrd.cpio to be a separate EFI firmware volume (issue #257)
Add a function to walk all firmware volumes looking for a well
known GUID that is the initrd.cpio image. Currently it must be
uncompressed.
2017-09-22 15:13:41 -04:00
Trammell hudson
91ef9aeefa
Make megaraid a module so that it does not delay normal boots (issue #253) 2017-09-21 16:54:48 -04:00
Trammell hudson
a1c9bbb9ff
Enable MegaRaid and XFS support (issue #253) 2017-09-21 16:18:17 -04:00
Trammell hudson
0b7e5e60a0
quiet down the output to the vga, since it is so slow to update 2017-09-21 10:34:35 -04:00
Trammell hudson
f7de7d7388
Enable all flashrom devices (issue #249).
This allows flashrom to work on the r630 NERF server, but
also increases the size of the flashrom executable significantly
since it brings in all chipset and flash types.
2017-09-21 10:26:11 -04:00
Trammell hudson
796ea2870a
build appears to produce a NERFed r630 firmware image 2017-09-20 18:24:54 -04:00
Trammell hudson
3a8710cf49
unquiet it for now 2017-09-20 17:47:12 -04:00
Trammell hudson
81a7f18b86
build edk2 as a module for the r630 NERF firmware 2017-09-20 14:26:38 -04:00
Trammell hudson
a4d7654b1e
Build the Heads/NERF firmware for the Dell R630 server.
This development branch builds a NERF firmware for the Dell R630
server.  It does not use coreboot; instead it branches directly
from the vendor's PEI core into Linux and the Heads runtime
that is setup to be run as an EFI executable.
2017-09-20 10:29:14 -04:00
Francis Lam
41f49237c6
Added configurable xen version for Qubes 4 support
also addresses issue #238
2017-09-13 22:10:46 -04:00
Trammell hudson
498105c979
enable i915 native support (needed for Librem 13v2) 2017-09-06 19:07:02 -04:00
Francis Lam
472ffd35c0
Moved kernel command line parameters to config 2017-09-02 14:13:29 -04:00
Johan Grip
6f48c14d0c Update X220 to do generic image instead of qubes.
Also added a script to extract the necessary blobs from a bios
dump image.
2017-08-04 22:48:27 +02:00
Trammell Hudson
314ce7b350
bump Linux kernel to 4.9.38 (issue #224) 2017-07-18 14:25:15 -04:00
Trammell Hudson
3e48f1c5e8
tweaks to make qemu run through the /bin/generic-init process 2017-07-18 13:42:19 -04:00
Trammell Hudson
36e3172c8e
disable i915 for now, since it causes screen glitches in Xen/Qubes (issue #219) 2017-07-18 13:32:57 -04:00
Trammell Hudson
7aec9a2288
add support for i915 and render mode setting (issue #219) 2017-07-18 10:10:55 -04:00
Trammell Hudson
831dca5124
remove older qubes-specific files, no longer required in generic boot env 2017-07-17 12:31:58 -04:00
Trammell Hudson
ba98d5dda6
Merge branch 'usb-boot' of https://github.com/flammit/heads into flammit-usb-boot 2017-07-17 08:52:48 -04:00
Francis Lam
22a52ec4b8
Added TPM secret management to generic boot
Also cleaned up error handling and boot parsing edge cases
2017-07-12 00:17:45 -04:00
Francis Lam
d67360a24b
Added rollback protection to generic boot
Changed the checking of required hashes or required rollback state
to be right before boot, allowing the user to sign/set defaults
in interactive mode.

Also cleaned up usages of recovery and fixed iso parameter
regression.
2017-07-08 16:59:37 -04:00
Francis Lam
8004b5df2a
Added the ability to persist a default boot option
Similar to qubes-update, it will save then verify the hashes of
the kexec files. Once TOTP is verified, a normal boot will verify
that the file hashes and all the kexec params match and if
successful, boot directly to OS.

Also added a config option to require hash verification for
non-recovery boots, failing to recovery not met.
2017-07-04 19:49:14 -04:00
Francis Lam
3614044fff
Added a generic boot config and persistent params
Refactored boot parsing code and applied that in local-init to
scan /boot for grub options and allow the user to unsafely boot
anything.  This goes a long way to addressing #196.

Optionally the user can customize those boot parameters or enforce
arbitrary hashes on the boot device by creating and signing config
files in /boot/ or /media/ or /media/kexec_iso/ISO_FILENAME/.
2017-07-02 23:01:04 -04:00
Francis Lam
7f6f365afe
Reverted submodule name back to xen 2017-06-26 13:07:48 -04:00