started on automated build process

This commit is contained in:
Trammell Hudson 2016-07-25 10:08:53 -04:00
parent cccf7b0307
commit a6d9902a2d
Failed to extract signature
6 changed files with 3211 additions and 0 deletions

47
Makefile Normal file
View File

@ -0,0 +1,47 @@
all: linux kexec busybox initrd coreboot
kexec_version := 2.0.12
kexec_tar := kexec-tools-$(kexec_version).tar.gz
kexec_url := https://kernel.org/pub/linux/utils/kernel/kexec/$(kexec_tar)
kexec_hash := cc7b60dad0da202004048a6179d8a53606943062dd627a2edba45a8ea3a85135
kexec: $(kexec_tar)
tar xvf "$(kexec_tar)"
cd "$(kexec_dir)" && ./configure && make
$(kexec_tar):
wget "$(kexec_url)"
sha256sum "$(kexec_tar)"
echo "$(kexec_hash)"
busybox_version := 1.25.0
busybox_dir := busybox-$(busybox_version)
busybox_tar := busybox-$(busybox_version).tar.bz2
busybox_url := https://busybox.net/downloads/$(busybox_tar)
busybox_hash := 5a0fe06885ee1b805fb459ab6aaa023fe4f2eccee4fb8c0fd9a6c17c0daca2fc
busybox_config := config/busybox.config
busybox: $(busybox_tar) $(busybox_config)
tar xvf "$(busybox_tar)"
cp "$(busybox_config)" "$(busybox_dir)/.config"
cd "$(busybox_dir)" && make oldconfig && make -j 8
$(busybox_tar):
wget "$(busybox_url)"
sha256sum "$(busybox_tar)"
echo "$(busybox_hash)"
linux_version := 4.6.4
linux_dir := linux-$(linux_version)
linux_tar := linux-$(linux_version).tar.bz2
linux_url := https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-$(linux_version).tar.xz
linux_hash := 8568d41c7104e941989b14a380d167129f83db42c04e950d8d9337fe6012ff7e
linux_config := config/linux.config
linux: $(linux_tar) $(linux_config)
tar xvf "$(linux_tar)"
cp "$(linux_config)" "$(linux_dir)/.config"
cd "$(linux_dir)" && make oldconfig && make -j 8 && make bzImage

View File

@ -10,3 +10,14 @@ to commodity hardware. Among its goals are:
* Measure and verify all filesystems
It is a work in progress and not yet ready for users.
---
Components:
* CoreBoot
* Linux
* busybox
* kexec
* tpmtotp
* QubesOS (Xen)

1074
config/busybox.config Normal file

File diff suppressed because it is too large Load Diff

2056
config/linux.config Normal file

File diff suppressed because it is too large Load Diff

11
initrd/init Executable file
View File

@ -0,0 +1,11 @@
#!/bin/ash
echo "Hello coreboot initrd"
# Mount the system directories
mkdir /proc /sys /dev /tmp /boot
mount -t proc none /proc
mount -t sysfs none /sys
mount -t devtmpfs none /dev
# Start an interactive shell
exec /bin/ash

12
initrd/start-xen Normal file
View File

@ -0,0 +1,12 @@
#!/bin/sh
gunzip < /boot/xen-4.6.0.gz > /tmp/xen-4.6.0
exec kexec \
-l \
--module "/boot/vmlinuz-4.1.13-9.pvops.qubes.x86_64 placeholder root=/dev/mapper/qubes_dom0-root ro i915.preliminary_hw_support=1 rd.lvm.lv=qubes_dom0/root rd.luks.uuid=luks-0f662ac6-2939-48fe-bc95-f5a7e3d6fefb vconsole.font=latarcyrheb-sun16 rd.lvm.lv=qubes_dom0/swap rhgb" \
--module "/boot/initramfs-4.1.13-9.pvops.qubes.x86_64.img" \
--command-line "placeholder console=none dom0_mem=min:1024M dom0_mem=max:4096M no-real-mode edd=off" \
/tmp/xen-4.6.0