Commit Graph

570 Commits

Author SHA1 Message Date
Trammell hudson
149635ef95
Merge branch 'kylerankin-add_gui_init' 2018-02-28 15:06:41 -05:00
Trammell hudson
f9a12a270a
Merge branch 'add_gui_init' of https://github.com/kylerankin/heads into kylerankin-add_gui_init 2018-02-28 15:06:06 -05:00
Trammell hudson
4f5432bb46
generate /etc/config from exported configuration variables 2018-02-28 14:57:46 -05:00
Trammell hudson
ef4576e881
Enable NVMe option for winterfell 2018-02-28 14:06:53 -05:00
Trammell hudson
a84ea7b9de
Merge branch 'tpm-optional' of https://github.com/persmule/heads 2018-02-28 13:33:01 -05:00
Trammell hudson
4566801420
switch to an 8 MB flash part for qemu writable flash support 2018-02-28 12:06:42 -05:00
Trammell hudson
a4f121b838
make uroot optional 2018-02-28 11:12:02 -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
Trammell hudson
ff9925a6d4
remove ancient default CONFIG variable 2018-02-26 16:32:42 -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
e4106c6969
Merge branch 'clean_up_init' of https://github.com/kylerankin/heads 2018-02-26 13:15:34 -05:00
Trammell hudson
d145af2878
Merge branch 'add_measured_boot_to_librem13v2_coreboot' of https://github.com/kylerankin/heads 2018-02-26 13:14:28 -05:00
Trammell hudson
9f19cd9dc3
Merge branch 'smm-walkaround' of https://github.com/persmule/heads 2018-02-26 13:13:42 -05:00
Trammell hudson
082a4e28ee
Merge branch 'companion-controller' of https://github.com/persmule/heads 2018-02-26 11:43:14 -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
Trammell hudson
79d121d072
Merge branch 'master' of ssh://github.com/osresearch/heads 2018-02-26 11:40:38 -05:00
Trammell hudson
b4bb4edb73
fix dependency for bzImage, allowing make -jN to work (#306) 2018-02-26 11:40:04 -05:00
Trammell hudson
8ced05de15
musl-cross has the correct URLs now (#324) 2018-02-26 11:39:27 -05:00
Kyle Rankin
3211ce71a7
Merge pull request #1 from persmule/clean_up_init
fix the broken if syntax
2018-02-24 07:16:49 -08:00
persmule
dadfbeb3b3 Changed to coreboot patch not to call prog_segment_loaded in smm. 2018-02-24 15:27:21 +08:00
persmule
43ba7a777d fix the broken if syntax 2018-02-24 14:49:10 +08:00
Kyle Rankin
5f03be56e5
Add CONFIG_MEASURED_BOOT=y to librem13v2 coreboot config 2018-02-23 15:03:18 -08:00
Kyle Rankin
fbbfc8e22f
Replace remaining text-only options in main workflow w/ gui menus
In particular I added a GUI menu to instruct the user if there is no
TOTP code registered (as is the case upon first flash) and also added
better handling of the case the user selects 'default boot' when there
is no default boot set yet. Apart from that where there were text-only
menus left in gui-init I've replaced them with GUI menus.
2018-02-23 12:13:21 -08:00
Kyle Rankin
6ab78ae236
Add gui option to kexec-select-boot, use in gui-init menu option
When selecting the boot menu option (m) in the gui-init you call out to
kexec-select-boot. To better maintain the graphical menu experience,
I've added a -g option to kexec-select-boot that, when set, will use a
graphical whiptail menu for the most common menu selection modes.
2018-02-22 13:18:16 -08:00
Kyle Rankin
57405b0d28
Add menu for TOTP updates, provide sample board config to use gui-init 2018-02-21 15:58:54 -08:00
Kyle Rankin
140064bbf8
Add graphical init menu that uses whiptail
This is a modified version of the generic-init script that uses whiptail
to generate a graphical menu. I changed two of the options so that the
user can refresh the menu to get an updated TOTP code if needed.
2018-02-20 15:35:37 -08: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
persmule
9bf131b601 Make TPM dependency optional and controlled by flag CONFIG_TPM
if "CONFIG_TPM=y" is not present in the config file, functionalities
needing TPM could be disabled, while leaving other functionalities intact.

This will make Heads a more general-usage bootloader payload atop coreboot.
2018-02-15 22:42:12 +08:00
Kyle Rankin
1f22da73af
Fix missing parenthesis in cpio make option 2018-02-14 14:43:35 -08:00
Trammell hudson
55c4864d3d
Merge branch 'librem13v2-merge' 2018-02-14 17:21:32 -05:00
Trammell hudson
36af892129
remove old libream13v1 files 2018-02-14 17:21:16 -05:00
Kyle Rankin
aaafb93137
Add corresponding coreboot config for Librem 13v2 2018-02-14 14:06:20 -08:00
Kyle Rankin
c35f385cf7
Make eth0 init condition on module, remove early bin/ash
To avoid unnecessary errors, only load the eth0 network if the e1000
module exists. Also remove /bin/ash so CONFIG_BOOTSCRIPT works.
2018-02-14 11:50:21 -08:00
Kyle Rankin
b6514fc333
Add board and Linux kernel config for Purism Librem 13v2 2018-02-14 11:44:18 -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
073834e5c0
Move the ld-musl symlink into the blobs/dev.cpio file. #317
This makes it possible to use musl-libc compiled tools
without the Heads runtime.
2018-02-13 17:44:26 -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
Trammell hudson
e0d390c62d
Helpful targets 2018-02-13 13:20:27 -05:00
Trammell Hudson
2395ae78b0
use the dev.cpio for corebooot builds too (issue #309) 2018-02-12 10:49:04 -05:00
Trammell hudson
638026ea3e
use the reproducible dev.cpio file to avoid system /dev (issue #309) 2018-02-09 15:53:44 -05:00
Trammell hudson
15a07b3fce
enable qemu networking and ssh key login (#312) 2018-02-09 13:42:52 -05:00