From 69766961a96342e9dae8ef8a3839ed6181d6d64d Mon Sep 17 00:00:00 2001 From: AuxXxilium Date: Sat, 30 Mar 2024 23:25:12 +0100 Subject: [PATCH] arc/arc-functions: add more and fixes Signed-off-by: AuxXxilium --- files/initrd/opt/arc/arc-functions.sh | 34 ++++++++++++++++++++------- files/initrd/opt/arc/arc.sh | 10 ++++---- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/files/initrd/opt/arc/arc-functions.sh b/files/initrd/opt/arc/arc-functions.sh index 19fbdc15..55a6550c 100755 --- a/files/initrd/opt/arc/arc-functions.sh +++ b/files/initrd/opt/arc/arc-functions.sh @@ -1964,7 +1964,7 @@ function formatdisks() { fi ( for I in ${resp}; do - if [[ "${I}" = /dev/mmc* ]]; then + if [[ "${I}" = "/dev/mmc"* ]]; then echo y | mkfs.ext4 -T largefile4 -E nodiscard "${I}" else echo y | mkfs.ext4 -T largefile4 "${I}" @@ -1976,6 +1976,22 @@ function formatdisks() { --msgbox "Formatting is complete." 0 0 } +############################################################################### +# install opkg package manager +function package() { + dialog --backtitle "$(backtitle)" --colors --title "Package" \ + --yesno "This installs opkg Package Management,\nallowing you to install more Tools for use and debugging.\nDo you want to continue?" 0 0 + [ $? -ne 0 ] && return + ( + wget -O - http://bin.entware.net/x64-k3.2/installer/generic.sh | /bin/sh + opkg update + #opkg install python3 python3-pip + ) 2>&1 | dialog --backtitle "$(backtitle)" --colors --title "Package" \ + --progressbox "Installing opkg ..." 20 100 + dialog --backtitle "$(backtitle)" --colors --title "Package" \ + --msgbox "Installation is complete.\nPlease reconnect to ssh/web,\nor execute 'source ~/.bashrc'" 0 0 +} + ############################################################################### # let user format disks from inside arc function forcessh() { @@ -2019,29 +2035,29 @@ function cloneLoader() { echo "\"${KNAME}\" \"${KMODEL}\" \"off\"" >>"${TMP_PATH}/opts" done <<<$(lsblk -dpno KNAME,MODEL,TYPE) if [ ! -f "${TMP_PATH}/opts" ]; then - dialog --backtitle "$(backtitle)" --colors --title "Advanced" \ + dialog --backtitle "$(backtitle)" --colors --title "Clone Loader" \ --msgbox "No disk found!" 0 0 return fi - dialog --backtitle "$(backtitle)" --colors --title "Advanced" \ + dialog --backtitle "$(backtitle)" --colors --title "Clone Loader" \ --radiolist "Choose a Destination" 0 0 0 --file "${TMP_PATH}/opts" \ 2>${TMP_PATH}/resp [ $? -ne 0 ] && return resp=$(cat ${TMP_PATH}/resp) if [ -z "${resp}" ]; then - dialog --backtitle "$(backtitle)" --colors --title "Advanced" \ + dialog --backtitle "$(backtitle)" --colors --title "Clone Loader" \ --msgbox "No disk selected!" 0 0 return else SIZE=$(df -m ${resp} 2>/dev/null | awk 'NR==2 {print $2}') if [ ${SIZE:-0} -lt 1024 ]; then - dialog --backtitle "$(backtitle)" --colors --title "Advanced" \ + dialog --backtitle "$(backtitle)" --colors --title "Clone Loader" \ --msgbox "Disk ${resp} size is less than 1GB and cannot be cloned!" 0 0 return fi MSG="" MSG+="Warning:\nDisk ${resp} will be formatted and written to the bootloader. Please confirm that important data has been backed up. \nDo you want to continue?" - dialog --backtitle "$(backtitle)" --colors --title "Advanced" \ + dialog --backtitle "$(backtitle)" --colors --title "Clone Loader" \ --yesno "${MSG}" 0 0 [ $? -ne 0 ] && return fi @@ -2072,10 +2088,10 @@ function cloneLoader() { sync umount "${TMP_PATH}/sdX3" sleep 3 - ) 2>&1 | dialog --backtitle "$(backtitle)" --colors --title "Advanced" \ + ) 2>&1 | dialog --backtitle "$(backtitle)" --colors --title "Clone Loader" \ --progressbox "Cloning ..." 20 100 - dialog --backtitle "$(backtitle)" --colors --title "${T}" \ - --msgbox "Bootloader has been cloned to disk ${resp}, please remove the current bootloader disk!\nReboot?" 0 0 + dialog --backtitle "$(backtitle)" --colors --title "Clone Loader" \ + --msgbox "Bootloader has been cloned to disk ${resp},\nplease remove the current bootloader disk!\nReboot?" 0 0 rebootTo config return } diff --git a/files/initrd/opt/arc/arc.sh b/files/initrd/opt/arc/arc.sh index 8eb6fbb8..af29fb72 100755 --- a/files/initrd/opt/arc/arc.sh +++ b/files/initrd/opt/arc/arc.sh @@ -871,6 +871,8 @@ while true; do echo "j \"Cmdline \" " >>"${TMP_PATH}/menu" echo "k \"Synoinfo \" " >>"${TMP_PATH}/menu" echo "l \"Edit User Config \" " >>"${TMP_PATH}/menu" + echo "w \"Reset Loader \" " >>"${TMP_PATH}/menu" + echo "J \"DSM force Reinstall \" " >>"${TMP_PATH}/menu" fi if [ "${BOOTOPTS}" = "true" ]; then echo "6 \"\Z1Hide Boot Options\Zn \" " >>"${TMP_PATH}/menu" @@ -919,12 +921,11 @@ while true; do echo "= \"\Z4========== Dev ===========\Zn \" " >>"${TMP_PATH}/menu" echo "v \"Save Modifications to Disk \" " >>"${TMP_PATH}/menu" echo "n \"Edit Grub Config \" " >>"${TMP_PATH}/menu" - echo "w \"Reset Loader \" " >>"${TMP_PATH}/menu" - echo "J \"DSM force Reinstall \" " >>"${TMP_PATH}/menu" echo "L \"Grep Logs from dbgutils \" " >>"${TMP_PATH}/menu" echo "T \"Force enable SSH in DSM \" " >>"${TMP_PATH}/menu" echo "C \"Clone Loaderdisk \" " >>"${TMP_PATH}/menu" echo "F \"\Z1Format Sata/NVMe Disk\Zn \" " >>"${TMP_PATH}/menu" + echo "G \"Install opkg Package Manager \" " >>"${TMP_PATH}/menu" fi echo "= \"\Z4====== Misc Settings =====\Zn \" " >>"${TMP_PATH}/menu" echo "x \"Backup/Restore/Recovery \" " >>"${TMP_PATH}/menu" @@ -969,6 +970,8 @@ while true; do j) cmdlineMenu; NEXT="j" ;; k) synoinfoMenu; NEXT="k" ;; l) editUserConfig; NEXT="l" ;; + w) resetLoader; NEXT="w" ;; + J) juniorboot; NEXT="J" ;; # Boot Section 6) [ "${BOOTOPTS}" = "true" ] && BOOTOPTS='false' || BOOTOPTS='true' ARCOPTS="${BOOTOPTS}" @@ -1097,12 +1100,11 @@ while true; do ;; v) saveMenu; NEXT="v" ;; n) editGrubCfg; NEXT="n" ;; - w) resetLoader; NEXT="w" ;; - J) juniorboot; NEXT="J" ;; L) greplogs; NEXT="L" ;; T) forcessh; NEXT="T" ;; C) cloneLoader; NEXT="C" ;; F) formatdisks; NEXT="F" ;; + G) package; NEXT="G" ;; # Loader Settings x) backupMenu; NEXT="x" ;; 9) [ "${OFFLINE}" = "true" ] && OFFLINE='false' || OFFLINE='true'