From ad2395d3db59668779cc0d303fd1cbea0cdaa330 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Tue, 21 Jan 2020 21:43:56 -0600 Subject: [PATCH 1/4] libremkey-hotp-verification: toolchain adjustments Pass through new toolchain path via $(CROSS) so we can set the c/c++ compiler paths correctly for CMake. Adjust patch to use new paths, and fix compiler/linker paths to correct a libusb linking issue. Signed-off-by: Matt DeVillier --- modules/libremkey-hotp-verification | 1 + patches/libremkey-hotp-verification.patch | 17 +++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/modules/libremkey-hotp-verification b/modules/libremkey-hotp-verification index c9b9d45ab..c8339df41 100644 --- a/modules/libremkey-hotp-verification +++ b/modules/libremkey-hotp-verification @@ -16,4 +16,5 @@ libremkey-hotp-verification_output := \ libremkey-hotp-verification_configure := \ INSTALL="$(INSTALL)" \ + CROSS="$(CROSS)" \ cmake -DCMAKE_TOOLCHAIN_FILE=./Toolchain-heads.cmake -DCMAKE_AR="$(CROSS)ar" . diff --git a/patches/libremkey-hotp-verification.patch b/patches/libremkey-hotp-verification.patch index c2b5dfeae..5f058f22d 100644 --- a/patches/libremkey-hotp-verification.patch +++ b/patches/libremkey-hotp-verification.patch @@ -1,15 +1,24 @@ --- nitrokey-hotp-verification-a/Toolchain-heads.cmake 2018-05-22 09:55:46.907209235 -0700 +++ nitrokey-hotp-verification-b/Toolchain-heads.cmake 2018-05-22 09:55:26.659371966 -0700 -@@ -0,0 +1,18 @@ +@@ -0,0 +1,27 @@ +SET(CMAKE_SYSTEM_NAME Linux) +SET(CMAKE_SYSTEM_VERSION 1) + +# Specify the cross compiler -+SET(CMAKE_C_COMPILER $ENV{INSTALL}/bin/musl-gcc) -+SET(CMAKE_CXX_COMPILER $ENV{INSTALL}/bin/musl-gcc) ++SET(CMAKE_C_COMPILER $ENV{CROSS}gcc) ++SET(CMAKE_CXX_COMPILER $ENV{CROSS}gcc) ++ ++#sysroot location ++set(MYSYSROOT $ENV{INSTALL}) ++ ++# compiler/linker flags ++set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --sysroot=${MYSYSROOT}" CACHE INTERNAL "" FORCE) ++set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} --sysroot=${MYSYSROOT}" CACHE INTERNAL "" FORCE) ++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --sysroot=${MYSYSROOT}" CACHE INTERNAL "" FORCE) ++set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} --sysroot=${MYSYSROOT}" CACHE INTERNAL "" FORCE) + +# Where is the target environment -+SET(CMAKE_FIND_ROOT_PATH $ENV{INSTALL}) ++SET(CMAKE_FIND_ROOT_PATH "${MYSYSROOT}") + +# Search for programs only in the build host directories +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) From a3bbdbab540386317596a2ac7124c85a9523b843 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Tue, 26 Nov 2019 17:52:57 -0600 Subject: [PATCH 2/4] blobs/librem*: update hashes for FSP and VBT Update hashes of coreboot images, releases repo, FSP blobs, and VBT file. Updated VBT from coreboot 4.11 release eliminates flickering on some 13v4/15v4 displays. Signed-off-by: Matt DeVillier --- blobs/librem_kbl/get_blobs.sh | 10 +++++----- blobs/librem_skl/get_blobs.sh | 14 +++++++------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/blobs/librem_kbl/get_blobs.sh b/blobs/librem_kbl/get_blobs.sh index c7a13376b..ff7087f64 100755 --- a/blobs/librem_kbl/get_blobs.sh +++ b/blobs/librem_kbl/get_blobs.sh @@ -2,16 +2,16 @@ # depends on : wget sha256sum gunzip # Purism source -RELEASES_GIT_HASH="631b4a4e9bf562768afc262647ef4ef4f4ffaebd" +RELEASES_GIT_HASH="9828ffc0fbe7e0da65f10fe5e14f68f0ef061d5d" PURISM_SOURCE="https://source.puri.sm/coreboot/releases/raw/${RELEASES_GIT_HASH}" # Librem 13 v4 and Librem 15 v4 binary blob hashes KBL_UCODE_SHA="bb07f0f77abe08e553f85b99d18fa129f991bf3613cf73d77c4f0ece87dd251e" KBL_DESCRIPTOR_SHA="642ca36f52aabb5198b82e013bf64a73a5148693a58376fffce322a4d438b524" KBL_ME_SHA="0eec2e1135193941edd39d0ec0f463e353d0c6c9068867a2f32a72b64334fb34" -KBL_FSPM_SHA="5da3ad7718eb3f6700fb9d97be988d9c8bdd2d8b5910273a80928c49122d5b2d" -KBL_FSPS_SHA="c81ffa40df0b6cd6cfde4f476d452a1f6f2217bc96a3b98a4fa4a037ee7039cf" -KBL_VBT_SHA="0ba40c1b8c0fb030a0e1a789eda8b2a7369339a410ad8c4620719e451ea69b98" +KBL_FSPM_SHA="b285fc2240df7fee4fa069444cc2be2ebf5ea70af21b722b0e3dd102321b4877" +KBL_FSPS_SHA="223d0f3d3ff28c46a3ac33442385ffedefe2d3063774784d4fef432013568019" +KBL_VBT_SHA="45135459f7cbc06675fec5688479c2e2f4335d77c61bb58e4016d32ba7daa9d0" # cbfstool, ifdtool, coreboot image from Purism repo CBFSTOOL_FILE="cbfstool.gz" @@ -27,7 +27,7 @@ IFDTOOL_BIN="./ifdtool" COREBOOT_IMAGE="coreboot-l13v4.rom" COREBOOT_IMAGE_FILE="$COREBOOT_IMAGE.gz" COREBOOT_IMAGE_URL="$PURISM_SOURCE/librem_13v4/$COREBOOT_IMAGE_FILE" -COREBOOT_IMAGE_SHA="93c86230c618f9f19c29672f15f431f516db9247fac95bb2eacbc0fa33ea1e6a" +COREBOOT_IMAGE_SHA="5a7548e2742289fa66339f817f4247599d51bc7a5a6a9e887efd39fcf7f9e831" die () { local msg=$1 diff --git a/blobs/librem_skl/get_blobs.sh b/blobs/librem_skl/get_blobs.sh index 10482e811..e455f3d41 100755 --- a/blobs/librem_skl/get_blobs.sh +++ b/blobs/librem_skl/get_blobs.sh @@ -2,16 +2,16 @@ # depends on : wget sha256sum gunzip # Purism source -RELEASES_GIT_HASH="631b4a4e9bf562768afc262647ef4ef4f4ffaebd" +RELEASES_GIT_HASH="9828ffc0fbe7e0da65f10fe5e14f68f0ef061d5d" PURISM_SOURCE="https://source.puri.sm/coreboot/releases/raw/${RELEASES_GIT_HASH}" # Librem 13 v2/v3 and Librem 15 v3 binary blob hashes SKL_UCODE_SHA="e528d2ccc5d76cd04bfabb556a3fbb70b93d9aca43e291e0f0104fbaae5720fd" SKL_DESCRIPTOR_SHA="642ca36f52aabb5198b82e013bf64a73a5148693a58376fffce322a4d438b524" SKL_ME_SHA="cf06d3eb8b24490a1ab46fd988b6cef822e5347cd6a2e92bc332cb4a376eb8bc" -SKL_FSPM_SHA="5da3ad7718eb3f6700fb9d97be988d9c8bdd2d8b5910273a80928c49122d5b2d" -SKL_FSPS_SHA="c81ffa40df0b6cd6cfde4f476d452a1f6f2217bc96a3b98a4fa4a037ee7039cf" -SKL_VBT_SHA="0ba40c1b8c0fb030a0e1a789eda8b2a7369339a410ad8c4620719e451ea69b98" +SKL_FSPM_SHA="5f402416894c324b6cbf8cba85068ac2c3de9be8dd4f37fae3af6cfed7acc38e" +SKL_FSPS_SHA="223d0f3d3ff28c46a3ac33442385ffedefe2d3063774784d4fef432013568019" +SKL_VBT_SHA="45135459f7cbc06675fec5688479c2e2f4335d77c61bb58e4016d32ba7daa9d0" # cbfstool, ifdtool, coreboot image from Purism repo CBFSTOOL_FILE="cbfstool.gz" @@ -24,10 +24,10 @@ IFDTOOL_URL="$PURISM_SOURCE/tools/$IFDTOOL_FILE" IFDTOOL_SHA="08228ece4968794499ebd49a851f7d3f7f1b81352da8cd6e0c7916ac931a7d72" IFDTOOL_BIN="./ifdtool" -COREBOOT_IMAGE="coreboot-l13v3.rom" +COREBOOT_IMAGE="coreboot-l13v2.rom" COREBOOT_IMAGE_FILE="$COREBOOT_IMAGE.gz" -COREBOOT_IMAGE_URL="$PURISM_SOURCE/librem_13v3/$COREBOOT_IMAGE_FILE" -COREBOOT_IMAGE_SHA="784d8c9e9e3cf11e99b7f8a473d0ec18738193b2b57bb7a37386b536dab84be2" +COREBOOT_IMAGE_URL="$PURISM_SOURCE/librem_13v2/$COREBOOT_IMAGE_FILE" +COREBOOT_IMAGE_SHA="c703e0e705554bc7eb90814ae933d4372c0042927a6bbd7f27024cb99a8993d6" die () { local msg=$1 From 92e706bf1bd6affdbf28f99d9de0ed513ceaff48 Mon Sep 17 00:00:00 2001 From: Francis Lam Date: Sat, 25 Jan 2020 20:45:03 -0800 Subject: [PATCH 3/4] init: fix invalid GPG_TTY variable busyboy tty isn't working after the musl-cross-make change so revert to known good value. --- initrd/init | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/initrd/init b/initrd/init index 892a2a7c8..3bac630b2 100755 --- a/initrd/init +++ b/initrd/init @@ -52,7 +52,7 @@ if [ "$CONFIG_LINUXBOOT" = "y" ]; then fi # Set GPG_TTY before calling gpg in key-init -export GPG_TTY=$(tty) +export GPG_TTY=/dev/console /bin/key-init From 132dcb234425770045780592c1726828cecf6719 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Tue, 28 Jan 2020 20:44:34 -0600 Subject: [PATCH 4/4] flash-gui: set unset variable USB_FAILED Not setting USB_FAILED when call to mount-usb succeeds results in a spurious 'sh: 0 unknown operand' error printed to console. Signed-off-by: Matt DeVillier --- initrd/bin/flash-gui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/initrd/bin/flash-gui.sh b/initrd/bin/flash-gui.sh index dba97d405..8a4e05b9a 100755 --- a/initrd/bin/flash-gui.sh +++ b/initrd/bin/flash-gui.sh @@ -7,7 +7,7 @@ set -e -o pipefail mount_usb(){ # Mount the USB boot device if ! grep -q /media /proc/mounts ; then - mount-usb "$CONFIG_USB_BOOT_DEV" || USB_FAILED=1 + mount-usb "$CONFIG_USB_BOOT_DEV" && USB_FAILED=0 || USB_FAILED=1 if [ $USB_FAILED -ne 0 ]; then if [ ! -e "$CONFIG_USB_BOOT_DEV" ]; then whiptail --title 'USB Drive Missing' \