From e6c7db3091d3870ca0e11fc95cb99c613dfc94d5 Mon Sep 17 00:00:00 2001 From: kxtzownsu Date: Tue, 5 Mar 2024 23:25:43 -0500 Subject: [PATCH] finish menu --- builder/menu/factory_install.sh | 74 ------------ builder/menu/functions.sh | 114 ------------------ builder/scripts/factory_install.sh | 0 builder/scripts/functions.sh | 0 builder/{menu => scripts}/tpmutil.sh | 0 builder/stateful/dev_image/etc/lsb-factory | 0 .../{menu/versions => stateful/kvs}/kernver0 | 0 .../{menu/versions => stateful/kvs}/kernver1 | 0 .../{menu/versions => stateful/kvs}/kernver2 | 0 .../{menu/versions => stateful/kvs}/kernver3 | 0 .../kvs/raw}/kernver0.raw | Bin .../kvs/raw}/kernver1.raw | Bin .../kvs/raw}/kernver2.raw | Bin .../kvs/raw}/kernver3.raw | Bin 14 files changed, 188 deletions(-) delete mode 100755 builder/menu/factory_install.sh delete mode 100755 builder/menu/functions.sh create mode 100644 builder/scripts/factory_install.sh create mode 100644 builder/scripts/functions.sh rename builder/{menu => scripts}/tpmutil.sh (100%) mode change 100755 => 100644 create mode 100644 builder/stateful/dev_image/etc/lsb-factory rename builder/{menu/versions => stateful/kvs}/kernver0 (100%) rename builder/{menu/versions => stateful/kvs}/kernver1 (100%) rename builder/{menu/versions => stateful/kvs}/kernver2 (100%) rename builder/{menu/versions => stateful/kvs}/kernver3 (100%) rename builder/{menu/versions => stateful/kvs/raw}/kernver0.raw (100%) rename builder/{menu/versions => stateful/kvs/raw}/kernver1.raw (100%) rename builder/{menu/versions => stateful/kvs/raw}/kernver2.raw (100%) rename builder/{menu/versions => stateful/kvs/raw}/kernver3.raw (100%) diff --git a/builder/menu/factory_install.sh b/builder/menu/factory_install.sh deleted file mode 100755 index ff31c3f..0000000 --- a/builder/menu/factory_install.sh +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/bash -# KVS: Kernel Version Switcher -# Written by kxtzownsu / kxtz#8161 -# https://kxtz.dev -# Licensed under GPLv3 - -version=1 -GITHUB_URL="https://github.com/kxtzownsu/KVS" - -# 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 - - -source functions.sh -source tpmutil.sh - -# 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 - # echo "Please run this shim using the Recovery Boot method. (ESC+REFRESH+PWR)" - 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 -} - - -panic mount-error \ No newline at end of file diff --git a/builder/menu/functions.sh b/builder/menu/functions.sh deleted file mode 100755 index 5fad319..0000000 --- a/builder/menu/functions.sh +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/bash - -style_text() { - printf "\e[31m\033[1m\033[5m$1\e[0m\n" -} - -panic(){ - case "$1" in - "invalid-kernver") - style_text "KVS PANIC" - printf "\e[31mERR\e[0m" - printf ": Invalid Kernel Version. Please make a GitHub issue at \e[3;34m$GITHUB_URL\e[0m with a picture of this information.\n" - echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=" - echo "tpm_kernver: $(crossystem tpm_kernver)" - echo "fwid: $(crossystem ro_fwid)" - echo "date: $(date)" - echo "model: $(cat /sys/class/dmi/id/product_name) $(cat /sys/class/dmi/id/product_version)" - echo "Please shutdown your device now using REFRESH+PWR" - sleep infinity - ;; - "mount-error") - style_text "KVS PANIC" - printf "\e[31mERR\e[0m" - printf ": Unable to mount stateful. Please make a GitHub issue at \e[3;34m$GITHUB_URL\e[0m with a picture of this information.\n" - echo "-=-=-=-=-=-=-=-=-=-=-=-=-=-=" - echo "tpm_kernver: $(crossystem tpm_kernver)" - echo "fwid: $(crossystem ro_fwid)" - echo "state mounted: $([ -d /mnt/state/ ] && grep -qs '/mnt/state ' /proc/mounts && echo true || echo false)" - echo "date: $(date)" - echo "model: $(cat /sys/class/dmi/id/product_name) $(cat /sys/class/dmi/id/product_version)" - echo "Please shutdown your device now using REFRESH+PWR" - sleep infinity - - esac -} - -stopwatch() { - display_timer() { - printf "[%02d:%02d:%02d]\n" $hh $mm $ss - } - hh=0 #hours - mm=0 #minutes - ss=0 #seconds - - while true; do - clear - echo "Initiated reboot, if this doesn't reboot please manually reboot with REFRESH+PWR" - echo "Time since reboot initiated:" - display_timer - ss=$((ss + 1)) - # if seconds reach 60, increment the minutes - if [ $ss -eq 60 ]; then - ss=0 - mm=$((mm + 1)) - fi - # if minutes reach 60, increment the hours - if [ $mm -eq 60 ]; then - mm=0 - hh=$((hh + 1)) - fi - sleep 1 - done -} - -selection(){ - case $1 in - "1") - echo "Please Enter Target kernver (0-3)" - read -r kernver - case $kernver in - "0") - echo "Setting kernver 0" - ;; - "1") - echo "Setting kernver 1" - ;; - "2") - echo "Setting kernver 2" - ;; - "3") - echo "Setting kernver 3" - ;; - *) - echo "Invalid kernver. Please check your input." - main - ;; - esac ;; - "2") - if [ $currentkernver == "0x00000000" ]; then - echo "Current kernver: 0" - echo "Outputting to stateful/kernver-out" - cp /mnt/state/versions/kernver0 /mnt/state/kernver-out - elif [ $currentkernver == "0x00010001" ]; then - echo "Current kernver: 1" - echo "Outputting to stateful/kernver-out" - cp /mnt/state/versions/kernver1 /mnt/state/kernver-out - elif [ $currentkernver == "0x00010002" ]; then - echo "Current kernver: 2" - echo "Outputting to stateful/kernver-out" - cp /mnt/state/versions/kernver2 /mnt/state/kernver-out - elif [ $currentkernver == "0x00010003" ]; then - echo "Current kernver: 3" - echo "Outputting to stateful/kernver-out" - cp /mnt/state/versions/kernver3 /mnt/state/kernver-out - fi - ;; - "3") - credits - ;; - "4") - endkvs - ;; - esac -} diff --git a/builder/scripts/factory_install.sh b/builder/scripts/factory_install.sh new file mode 100644 index 0000000..e69de29 diff --git a/builder/scripts/functions.sh b/builder/scripts/functions.sh new file mode 100644 index 0000000..e69de29 diff --git a/builder/menu/tpmutil.sh b/builder/scripts/tpmutil.sh old mode 100755 new mode 100644 similarity index 100% rename from builder/menu/tpmutil.sh rename to builder/scripts/tpmutil.sh diff --git a/builder/stateful/dev_image/etc/lsb-factory b/builder/stateful/dev_image/etc/lsb-factory new file mode 100644 index 0000000..e69de29 diff --git a/builder/menu/versions/kernver0 b/builder/stateful/kvs/kernver0 similarity index 100% rename from builder/menu/versions/kernver0 rename to builder/stateful/kvs/kernver0 diff --git a/builder/menu/versions/kernver1 b/builder/stateful/kvs/kernver1 similarity index 100% rename from builder/menu/versions/kernver1 rename to builder/stateful/kvs/kernver1 diff --git a/builder/menu/versions/kernver2 b/builder/stateful/kvs/kernver2 similarity index 100% rename from builder/menu/versions/kernver2 rename to builder/stateful/kvs/kernver2 diff --git a/builder/menu/versions/kernver3 b/builder/stateful/kvs/kernver3 similarity index 100% rename from builder/menu/versions/kernver3 rename to builder/stateful/kvs/kernver3 diff --git a/builder/menu/versions/kernver0.raw b/builder/stateful/kvs/raw/kernver0.raw similarity index 100% rename from builder/menu/versions/kernver0.raw rename to builder/stateful/kvs/raw/kernver0.raw diff --git a/builder/menu/versions/kernver1.raw b/builder/stateful/kvs/raw/kernver1.raw similarity index 100% rename from builder/menu/versions/kernver1.raw rename to builder/stateful/kvs/raw/kernver1.raw diff --git a/builder/menu/versions/kernver2.raw b/builder/stateful/kvs/raw/kernver2.raw similarity index 100% rename from builder/menu/versions/kernver2.raw rename to builder/stateful/kvs/raw/kernver2.raw diff --git a/builder/menu/versions/kernver3.raw b/builder/stateful/kvs/raw/kernver3.raw similarity index 100% rename from builder/menu/versions/kernver3.raw rename to builder/stateful/kvs/raw/kernver3.raw