forked from public/airgap
1
0
Fork 0

Name change and boot-from-usb on Heads

This commit is contained in:
Lance Vick 2020-08-12 22:25:41 -07:00
parent d4b60d191d
commit 4e66c50835
Signed by: lrvick
GPG Key ID: 8E47A1EC35A1551D
5 changed files with 122 additions and 10 deletions

View File

@ -0,0 +1,39 @@
# Configuration for a librem13v4
CONFIG_LINUX_CONFIG=config/linux-librem13v2.config
CONFIG_COREBOOT_CONFIG=config/coreboot-librem13v4.config
export CONFIG_COREBOOT=y
CONFIG_CRYPTSETUP=y
CONFIG_FLASHROM=y
CONFIG_FLASHTOOLS=y
CONFIG_GPG2=y
CONFIG_KEXEC=y
CONFIG_UTIL_LINUX=y
CONFIG_LVM2=y
CONFIG_MBEDTLS=y
CONFIG_PCIUTILS=y
CONFIG_POPT=y
CONFIG_QRENCODE=y
CONFIG_TPMTOTP=y
#CONFIG_SLANG=y
#CONFIG_NEWT=y
CONFIG_CAIRO=y
CONFIG_FBWHIPTAIL=y
CONFIG_LIBREMKEY=y
CONFIG_LINUX_USB=y
export CONFIG_TPM=y
export CONFIG_BOOTSCRIPT=/bin/gui-init
export CONFIG_BOOT_REQ_HASH=n
export CONFIG_BOOT_REQ_ROLLBACK=n
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on"
export CONFIG_BOOT_KERNEL_REMOVE=""
export CONFIG_BOOT_USB=y
export CONFIG_BOOT_DEV="/dev/sda1"
export CONFIG_BOOT_GUI_MENU_NAME="Librem 13 v4 | AirgapOS Firmware Menu"
export CONFIG_WARNING_BG_COLOR="--background-gradient 0 0 0 150 125 0"
export CONFIG_ERROR_BG_COLOR="--background-gradient 0 0 0 150 0 0"
export CONFIG_FLASHROM_OPTIONS="-p internal"
export CONFIG_AUTO_BOOT_TIMEOUT=5

View File

@ -0,0 +1,40 @@
# Configuration for a librem15v4
# The L15v4 Linux config is the same as the L13v2 linux config
CONFIG_LINUX_CONFIG=config/linux-librem13v2.config
CONFIG_COREBOOT_CONFIG=config/coreboot-librem15v4.config
export CONFIG_COREBOOT=y
CONFIG_CRYPTSETUP=y
CONFIG_FLASHROM=y
CONFIG_FLASHTOOLS=y
CONFIG_GPG2=y
CONFIG_KEXEC=y
CONFIG_UTIL_LINUX=y
CONFIG_LVM2=y
CONFIG_MBEDTLS=y
CONFIG_PCIUTILS=y
CONFIG_POPT=y
CONFIG_QRENCODE=y
CONFIG_TPMTOTP=y
#CONFIG_SLANG=y
#CONFIG_NEWT=y
CONFIG_CAIRO=y
CONFIG_FBWHIPTAIL=y
CONFIG_LIBREMKEY=y
CONFIG_LINUX_USB=y
export CONFIG_TPM=y
export CONFIG_BOOTSCRIPT=/bin/gui-init
export CONFIG_BOOT_REQ_HASH=n
export CONFIG_BOOT_REQ_ROLLBACK=n
export CONFIG_BOOT_KERNEL_ADD="intel_iommu=on"
export CONFIG_BOOT_KERNEL_REMOVE=""
export CONFIG_BOOT_DEV="/dev/sda1"
export CONFIG_BOOT_GUI_MENU_NAME="Librem 15 v4 | AirgapOS Firmware Menu"
export CONFIG_WARNING_BG_COLOR="--background-gradient 0 0 0 150 125 0"
export CONFIG_ERROR_BG_COLOR="--background-gradient 0 0 0 150 0 0"
export CONFIG_FLASHROM_OPTIONS="-p internal"
export CONFIG_AUTO_BOOT_TIMEOUT=5

View File

@ -0,0 +1,17 @@
diff --git a/initrd/init b/initrd/init
index bb39dec..975d041 100755
--- a/initrd/init
+++ b/initrd/init
@@ -48,6 +48,11 @@ if [ ! -e /dev/tpm0 ]; then
export CONFIG_TPM='n'
fi
+if [ "$CONFIG_BOOT_USB" = "y" ]; then
+ insmod /lib/modules/usb-storage.ko >/dev/null 2>&1 \
+ || echo "usb_storage: module load failed"
+fi
+
if [ "$CONFIG_COREBOOT" = "y" ]; then
/bin/cbfs-init
fi

View File

@ -7,6 +7,7 @@ env_file=${HOME}/config/config.env
export BUILD_DIR="${HOME}/build" export BUILD_DIR="${HOME}/build"
export BR2_EXTERNAL="${HOME}/config/buildroot" export BR2_EXTERNAL="${HOME}/config/buildroot"
export HEADS_EXTERNAL="${HOME}/config/heads"
export RELEASE_DIR="${HOME}/release" export RELEASE_DIR="${HOME}/release"
export BUILDROOT_REPO=git://git.busybox.net/buildroot export BUILDROOT_REPO=git://git.busybox.net/buildroot
export HEADS_REPO=https://source.puri.sm/coreboot/purism-heads.git export HEADS_REPO=https://source.puri.sm/coreboot/purism-heads.git

View File

@ -6,9 +6,13 @@ build_dir="${BUILD_DIR?}"
buildroot_dir="${build_dir}/buildroot" buildroot_dir="${build_dir}/buildroot"
buildroot_repo="${BUILDROOT_REPO?}" buildroot_repo="${BUILDROOT_REPO?}"
buildroot_ref=${BUILDROOT_REF?} buildroot_ref=${BUILDROOT_REF?}
buildroot_external=${BR2_EXTERNAL?}
heads_dir="${build_dir}/heads" heads_dir="${build_dir}/heads"
heads_repo="${HEADS_REPO?}" heads_repo="${HEADS_REPO?}"
heads_ref=${HEADS_REF?} heads_ref=${HEADS_REF?}
heads_external=${HEADS_EXTERNAL?}
devices=${DEVICES?}
target=${TARGET?}
[[ -f ~/.gitconfig ]] || \ [[ -f ~/.gitconfig ]] || \
printf "[color]\nui=auto\n[user]\nemail=build@local\nname=Build User" \ printf "[color]\nui=auto\n[user]\nemail=build@local\nname=Build User" \
@ -18,18 +22,29 @@ mkdir -p "$build_dir"
[ "$(ls -A "${buildroot_dir}")" ] \ [ "$(ls -A "${buildroot_dir}")" ] \
|| git clone "$buildroot_repo" "$buildroot_dir" || git clone "$buildroot_repo" "$buildroot_dir"
git -C "$buildroot_dir" reset --hard
git -C "$buildroot_dir" checkout "$buildroot_ref" git -C "$buildroot_dir" checkout "$buildroot_ref"
cd "$buildroot_dir" (
git reset --hard cd $buildroot_dir;
for patch in ${BR2_EXTERNAL}/patches/*; do for patch in "${buildroot_external}"/patches/*; do
echo "Applying patch: ${patch}" echo "Applying patch: ${patch}";
patch -p1 --no-backup-if-mismatch < "${patch}" patch -p1 --no-backup-if-mismatch < "${patch}";
done done;
make "airgap_${TARGET}_defconfig" make "airgap_${target}_defconfig";
make source make source;
)
[ "$(ls -A "${heads_dir}")" ] \ [ "$(ls -A "${heads_dir}")" ] \
|| git clone "$heads_repo" "$heads_dir" || git clone "$heads_repo" "$heads_dir"
git -C "$buildroot_dir" reset --hard
git -C "$heads_dir" checkout "$heads_ref" git -C "$heads_dir" checkout "$heads_ref"
[[ "$DEVICES" =~ "librem" ]] \ (
cd "$heads_dir";
for patch in "${heads_external}"/patches/*; do
echo "Applying patch: ${patch}"
patch -p1 --no-backup-if-mismatch < "${patch}"
done
rsync -Pav "${heads_external}/boards/" "${heads_dir}/boards/"
[[ "$devices" =~ "librem" ]] \
&& (cd "$heads_dir/blobs/librem_kbl" && ./get_blobs.sh) && (cd "$heads_dir/blobs/librem_kbl" && ./get_blobs.sh)
)