arc/arc-functions: add more and fixes

Signed-off-by: AuxXxilium <info@auxxxilium.tech>
This commit is contained in:
AuxXxilium
2024-03-30 23:25:12 +01:00
parent bfd918f44b
commit 69766961a9
2 changed files with 31 additions and 13 deletions

View File

@@ -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
}

View File

@@ -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'