KVS/builder/scripts/factory_install.sh

94 lines
1.8 KiB
Bash

#!/bin/bash
# KVS: Kernel Version Switcher
# Written by kxtzownsu / kxtz#8161
# https://kxtz.dev
# Licensed under GNU Affero GPL v3
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
echo "$0 $(printf '\033[1;31mMUST\033[0m') be ran as root/sudo!"
exit
fi
# source the file multiple times because it wasn't working :3
. ./functions.sh
. ./tpmutil.sh
source ./functions.sh
source ./tpmutil.sh
version=1
GITHUB_URL="https://github.com/kxtzownsu/KVS"
tpmver=$(tpmc tpmver)
if [ "$tpmver" == "2.0" ]; then
tpmdaemon="trunksd"
else
tpmdaemon="tscd"
fi
echo $tpmdaemon
# give me thy kernver NOW
case "$(crossystem tpm_kernver)" in
"0x00000000")
kernver="0"
;;
"0x00010001")
kernver="1"
;;
"0x00010002")
kernver="2"
;;
"0x00010003")
kernver="3"
;;
*)
panic "invalid-kernver"
;;
esac
# detect if booted from usb boot or from recovery boot
if [ "$(crossystem mainfw_type)" == "recovery" ]; then
source tpmutil.sh
mkdir /mnt/state &2> /dev/zero
mount /dev/disk/by-label/KVS /mnt/state
elif [ "$(crossystem mainfw_type)" == "developer" ]; then
# panic "non-reco"
echo ""
clear
fi
credits(){
echo "KVS: Kernel Version Switcher"
echo "V$version"
echo "=-=-=-=-=-=-=-=-=-=-=-=-=-=-"
echo "kxtzownsu - Writing KVS, Providing kernver 0 & kernver 1 files."
echo "??? - Providing kernver 2 files."
echo "TBD - Providing kernver 3 files."
echo "Google - Writing the `tpmc` command :3"
}
endkvs(){
# reboot now
stopwatch
}
main(){
echo "KVS: Kernel Version Switcher v$version"
echo "Current kernver: $kernver"
echo "=-=-=-=-=-=-=-=-=-=-"
echo "1) Set New kernver"
echo "2) Backup kernver (WIP, Kinda Broken)"
echo "3) Credits"
echo "4) Exit"
read -rep "> " sel
selection $sel
}
#while true; do
# main
#done
panic "tpmd-not-killed"