summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJonathan Bauer2018-11-12 15:59:54 +0100
committerJonathan Bauer2018-11-12 17:30:33 +0100
commit86c96a13336081461023bb418aeb7e2c122ab205 (patch)
treeedf12fcdfdaade03a078a6528c9e27de593a524c
parent[slx-tpm] initial commit (diff)
downloadsystemd-init-86c96a13336081461023bb418aeb7e2c122ab205.tar.gz
systemd-init-86c96a13336081461023bb418aeb7e2c122ab205.tar.xz
systemd-init-86c96a13336081461023bb418aeb7e2c122ab205.zip
wip
-rwxr-xr-xbuilder/modules.d/slx-tpm/module-setup.sh41
1 files changed, 25 insertions, 16 deletions
diff --git a/builder/modules.d/slx-tpm/module-setup.sh b/builder/modules.d/slx-tpm/module-setup.sh
index 0fa1d734..8185c2f3 100755
--- a/builder/modules.d/slx-tpm/module-setup.sh
+++ b/builder/modules.d/slx-tpm/module-setup.sh
@@ -1,16 +1,17 @@
#!/usr/bin/env bash
declare -rg openssl_tpm2_engine_url="https://git.kernel.org/pub/scm/linux/kernel/git/jejb/openssl_tpm2_engine.git/snapshot"
-declare -rg openssl_tpm2_engine_target="openssl_tpm2_engine-1.2.1.tar.gz"
+declare -rg openssl_tpm2_engine_target="openssl_tpm2_engine-1.2.1"
declare -rg ibm_tss_target="ibmtss1234.tar.gz"
declare -rg ibm_tss_url="https://sourceforge.net/projects/ibmtpm20tss/files/$ibm_tss_target/download"
-
+# TODO download in "$moddir/src"
check() {
if ! hash help2man 2>&1 /dev/null; then
echo "Missing help2man, please install it..."
return 1
fi
- if [ ! -d "$moddir/build/${openssl_tpm2_engine_target%%.*}" ]; then
+ mkdir -p "$moddir/build"
+ if [ ! -d "$moddir/build/${openssl_tpm2_engine_target}" ]; then
compile_openssl_tpm2_engine || return 1
fi
return 255
@@ -25,11 +26,15 @@ compile_ibm_tss() {
local build_dir="$moddir/build/${ibm_tss_target%%.*}"
mkdir -p "$build_dir"
tar xvf "$ibm_tss_target" -C "$build_dir"
- cd "$build_dir"
+ cd "$build_dir/utils"
make
)
local ret=$?
- [ $ret -ne 0 ] && rm -rf "$moddir/build/"
+ if [ $ret -ne 0 ]; then
+ echo "Failed to compile IBM TSS"
+ rm -rf "$moddir/build/${ibm_tss_target%%.*}"
+ fi
+ return $ret
}
compile_openssl_tpm2_engine() {
if [ -d "$moddir/build/${ibm_tss_target%%.*}" ]; then
@@ -38,11 +43,9 @@ compile_openssl_tpm2_engine() {
install_ibm_tss "/"
(
set -o errexit
- wget -O "$openssl_tpm2_engine_target" "$openssl_tpm2_engine_url/$openssl_tpm2_engine_target"
- local build_dir="$moddir/build/${openssl_tpm2_engine_target%%.*}"
- mkdir -p "$build_dir"
- tar xvf "$openssl_tpm2_engine_target" -C "$build_dir"
- cd "$build_dir"
+ wget -O "$openssl_tpm2_engine_target.tar.gz" "$openssl_tpm2_engine_url/$openssl_tpm2_engine_target.tar.gz"
+ tar xvf "$openssl_tpm2_engine_target.tar.gz" -C "$moddir/build"
+ cd "$moddir/build/$openssl_tpm2_engine_target"
bash bootstrap.sh
CFLAGS="-I. -Wno-pointer-sign" ./configure
# cause help2man suck...
@@ -56,10 +59,9 @@ install_ibm_tss() {
return 1
fi
if [ ! -d "$moddir/build/${ibm_tss_target%%.*}" ]; then
- echo "not build of ibm tss"
- return 1
+ compile_ibm_tss || return 1
fi
- cd "$moddir/build/${ibm_tss_target%%.*}"
+ cd "$moddir/build/${ibm_tss_target%%.*}/utils"
mkdir -p "$1/usr/local/bin"
# this is hacky, TODO better with /etc/ld.cache.conf.d ?
cp *.so* "$1/usr/lib"
@@ -68,16 +70,23 @@ install_ibm_tss() {
cd -
}
install_openssl_tpm2_engine() {
- if [ ! -d "$moddir/build/${openssl_tpm2_engine_target%%.*}" ]; then
+ if [ ! -d "$moddir/build/${openssl_tpm2_engine_target}" ]; then
echo "no build of openssl tpm2 engine"
return 1
fi
- cd "$moddir/build/${openssl_tpm2_engine_target%%.*}"
+ cd "$moddir/build/${openssl_tpm2_engine_target}"
make DESTDIR="$initdir" install
}
install() {
- if [ ! -d "$moddir/build/${openssl_tpm2_engine_target%%.*}" ]; then
+ if [ ! -d "$moddir/build/${openssl_tpm2_engine_target}" ]; then
install_openssl_tpm2_engine || return 1
fi
+ install_ibm_tss "$initdir"
+ inst_multiple openssl
+ mkdir -p "$initdir/usr/lib/x86_64-linux-gnu/"
+ cp -r /usr/lib/x86_64-linux-gnu/engines-1.1 "$initdir/usr/lib/x86_64-linux-gnu/engines-1.1"
return 0
}
+installkernel() {
+ instmods =drivers/char/tpm
+}