@@ -44,7 +44,7 @@ function addonSelection() {
|
||||
declare -A ADDONS
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
rm -f "${TMP_PATH}/opts" >/dev/null
|
||||
touch "${TMP_PATH}/opts"
|
||||
while read -r ADDON DESC; do
|
||||
@@ -53,7 +53,7 @@ function addonSelection() {
|
||||
[ ! -d "/sys/devices/system/cpu/cpu0/cpufreq" ] && continue
|
||||
fi
|
||||
echo -e "${ADDON} \"${DESC}\" ${ACT}" >>"${TMP_PATH}/opts"
|
||||
done <<<$(availableAddons "${PLATFORM}")
|
||||
done < <(availableAddons "${PLATFORM}")
|
||||
dialog --backtitle "$(backtitle)" --title "DSM Addons" --aspect 18 \
|
||||
--checklist "Select DSM Addons to include.\nPlease read Wiki before choosing anything.\nSelect with SPACE, Confirm with ENTER!" 0 0 0 \
|
||||
--file "${TMP_PATH}/opts" 2>"${TMP_PATH}/resp"
|
||||
@@ -89,7 +89,7 @@ function modulesMenu() {
|
||||
declare -A USERMODULES
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && USERMODULES["${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "modules" "${USER_CONFIG_FILE}")
|
||||
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
|
||||
# menu loop
|
||||
while true; do
|
||||
dialog --backtitle "$(backtitle)" --cancel-label "Exit" --menu "Choose an Option" 0 0 0 \
|
||||
@@ -138,7 +138,7 @@ function modulesMenu() {
|
||||
while read -r ID DESC; do
|
||||
USERMODULES["${ID}"]=""
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "${KVERP}")
|
||||
done < <(getAllModules "${PLATFORM}" "${KVERP}")
|
||||
writeConfigKey "arc.builddone" "false" "${USER_CONFIG_FILE}"
|
||||
BUILDDONE="$(readConfigKey "arc.builddone" "${USER_CONFIG_FILE}")"
|
||||
;;
|
||||
@@ -156,7 +156,7 @@ function modulesMenu() {
|
||||
while read -r ID DESC; do
|
||||
arrayExistItem "${ID}" "${!USERMODULES[@]}" && ACT="on" || ACT="off"
|
||||
echo "${ID} ${DESC} ${ACT}" >>"${TMP_PATH}/opts"
|
||||
done <<<$(getAllModules "${PLATFORM}" "${KVERP}")
|
||||
done < <(getAllModules "${PLATFORM}" "${KVERP}")
|
||||
dialog --backtitle "$(backtitle)" --title "Modules" --aspect 18 \
|
||||
--checklist "Select Modules to include" 0 0 0 \
|
||||
--file "${TMP_PATH}/opts" 2>"${TMP_PATH}/resp"
|
||||
@@ -242,7 +242,7 @@ function cmdlineMenu() {
|
||||
declare -A CMDLINE
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
|
||||
done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
|
||||
echo "1 \"Add a Cmdline item\"" >"${TMP_PATH}/menu"
|
||||
echo "2 \"Delete Cmdline item(s)\"" >>"${TMP_PATH}/menu"
|
||||
echo "3 \"CPU Fix\"" >>"${TMP_PATH}/menu"
|
||||
@@ -443,7 +443,7 @@ function synoinfoMenu() {
|
||||
declare -A SYNOINFO
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
|
||||
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
|
||||
|
||||
echo "1 \"Add/edit Synoinfo item\"" >"${TMP_PATH}/menu"
|
||||
echo "2 \"Delete Synoinfo item(s)\"" >>"${TMP_PATH}/menu"
|
||||
@@ -554,7 +554,7 @@ function keymapMenu() {
|
||||
OPTIONS=""
|
||||
while read -r KM; do
|
||||
OPTIONS+="${KM::-7} "
|
||||
done <<<$(cd /usr/share/keymaps/i386/${LAYOUT}; ls *.map.gz)
|
||||
done < <(cd /usr/share/keymaps/i386/${LAYOUT}; ls *.map.gz)
|
||||
dialog --backtitle "$(backtitle)" --no-items --default-item "${KEYMAP}" \
|
||||
--menu "Choice a keymap" 0 0 0 ${OPTIONS} \
|
||||
2>"${TMP_PATH}/resp"
|
||||
@@ -1643,7 +1643,7 @@ function resetPassword() {
|
||||
grep -q "status=on" "${TMP_PATH}/mdX/usr/syno/etc/packages/SecureSignIn/preference/${U}/method.config" 2>/dev/null
|
||||
[ $? -eq 0 ] && S="SecureSignIn" || S=" "
|
||||
printf "\"%-36s %-10s %-14s\"\n" "${U}" "${E}" "${S}" >>"${TMP_PATH}/menu"
|
||||
done <<<$(cat "${TMP_PATH}/mdX/etc/shadow" 2>/dev/null)
|
||||
done < <(cat "${TMP_PATH}/mdX/etc/shadow" 2>/dev/null)
|
||||
fi
|
||||
umount "${TMP_PATH}/mdX"
|
||||
[ -f "${TMP_PATH}/menu" ] && break
|
||||
@@ -1783,7 +1783,7 @@ function formatdisks() {
|
||||
[ -n "${PKNAME}" ] && PARTITION=" (Partition)" || PARTITION=" (Disk)"
|
||||
[ -z "${SIZE}" ] && SIZE="Unknown"
|
||||
echo "\"${KNAME}\" \"${SIZE}${PARTITION}\" \"off\"" >>"${TMP_PATH}/opts"
|
||||
done <<<$(lsblk -pno KNAME,SIZE,PKNAME)
|
||||
done < <(lsblk -pno KNAME,SIZE,PKNAME)
|
||||
if [ ! -f "${TMP_PATH}/opts" ]; then
|
||||
dialog --backtitle "$(backtitle)" --colors --title "Format Disks" \
|
||||
--msgbox "No disk found!" 0 0
|
||||
@@ -1884,7 +1884,7 @@ function cloneLoader() {
|
||||
[ -z "${KMODEL}" ] && KMODEL="${TYPE}"
|
||||
[ "${KNAME}" = "${LOADER_DISK}" ] || [ "${PKNAME}" = "${LOADER_DISK}" ] || [ "${KMODEL}" = "${LOADER_DISK}" ] && continue
|
||||
echo "\"${KNAME}\" \"${KMODEL}\" \"off\"" >>"${TMP_PATH}/opts"
|
||||
done <<<$(lsblk -dpno KNAME,MODEL,PKNAME,TYPE | sort)
|
||||
done < <(lsblk -dpno KNAME,MODEL,PKNAME,TYPE | sort)
|
||||
if [ ! -f "${TMP_PATH}/opts" ]; then
|
||||
dialog --backtitle "$(backtitle)" --colors --title "Clone Loader" \
|
||||
--msgbox "No disk found!" 0 0
|
||||
|
||||
@@ -198,7 +198,7 @@ function arcModel() {
|
||||
else
|
||||
[ ${COMPATIBLE} -eq 1 ] && echo -e "${M} \"\t$(printf "\Zb%-8s\Zn \Zb%-15s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-10s\Zn \Zb%-12s\Zn \Zb%-10s\Zn \Zb%-10s\Zn" "${CPU}" "${A}" "${DTS}" "${IGPUS}" "${HBAS}" "${M_2_CACHE}" "${M_2_STORAGE}" "${USBS}" "${BETA}")\" ">>"${TMP_PATH}/menu"
|
||||
fi
|
||||
done <<<$(cat "${TMP_PATH}/modellist")
|
||||
done < <(cat "${TMP_PATH}/modellist")
|
||||
if [ -n "${ARC_KEY}" ]; then
|
||||
dialog --backtitle "$(backtitle)" --title "Arc DSM Model" --colors \
|
||||
--cancel-label "Show all" --help-button --help-label "Exit" \
|
||||
@@ -305,14 +305,14 @@ function arcVersion() {
|
||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||
done <<<$(readConfigMap "platforms.${PLATFORM}.synoinfo" "${P_FILE}")
|
||||
done < <(readConfigMap "platforms.${PLATFORM}.synoinfo" "${P_FILE}")
|
||||
# Check Addons for Platform
|
||||
while IFS=': ' read -r ADDON PARAM; do
|
||||
[ -z "${ADDON}" ] && continue
|
||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}"; then
|
||||
deleteConfigKey "addons.\"${ADDON}\"" "${USER_CONFIG_FILE}"
|
||||
fi
|
||||
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
# Reset Modules
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.[${PRODUCTVER}].kver" "${P_FILE}")"
|
||||
# Modify KVER for Epyc7002
|
||||
@@ -324,7 +324,7 @@ function arcVersion() {
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read -r ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "${KVERP}")
|
||||
done < <(getAllModules "${PLATFORM}" "${KVERP}")
|
||||
# Check for Only Version
|
||||
if [ "${ONLYVERSION}" = "true" ]; then
|
||||
# Build isn't done
|
||||
@@ -1054,7 +1054,7 @@ else
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read -r ID DESC; do
|
||||
writeConfigKey "modules.\"${ID}\"" "" "${USER_CONFIG_FILE}"
|
||||
done <<<$(getAllModules "${PLATFORM}" "${KVERP}")
|
||||
done < <(getAllModules "${PLATFORM}" "${KVERP}")
|
||||
fi
|
||||
writeConfigKey "arc.builddone" "false" "${USER_CONFIG_FILE}"
|
||||
BUILDDONE="$(readConfigKey "arc.builddone" "${USER_CONFIG_FILE}")"
|
||||
|
||||
@@ -170,7 +170,7 @@ fi
|
||||
# Read user cmdline
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
|
||||
done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
|
||||
|
||||
# Prepare command line
|
||||
CMDLINE_LINE=""
|
||||
|
||||
@@ -417,22 +417,22 @@ function extractDSMFiles() {
|
||||
###############################################################################
|
||||
# Livepatch
|
||||
function livepatch() {
|
||||
VALID=false
|
||||
PVALID=false
|
||||
# Patch zImage
|
||||
if ${ARC_PATH}/zimage-patch.sh; then
|
||||
VALID=true
|
||||
PVALID=true
|
||||
else
|
||||
VALID=false
|
||||
PVALID=false
|
||||
fi
|
||||
if [ "${VALID}" = "true" ]; then
|
||||
if [ "${PVALID}" = "true" ]; then
|
||||
# Patch Ramdisk
|
||||
if ${ARC_PATH}/ramdisk-patch.sh; then
|
||||
VALID=true
|
||||
PVALID=true
|
||||
else
|
||||
VALID=false
|
||||
PVALID=false
|
||||
fi
|
||||
fi
|
||||
if [ "${VALID}" ="false" ]; then
|
||||
if [ "${PVALID}" = "false" ]; then
|
||||
local OFFLINE="$(readConfigKey "arc.offline" "${USER_CONFIG_FILE}")"
|
||||
if [ "${OFFLINE}" = "false" ]; then
|
||||
# Update Configs
|
||||
@@ -441,21 +441,21 @@ function livepatch() {
|
||||
updatePatches
|
||||
# Patch zImage
|
||||
if ${ARC_PATH}/zimage-patch.sh; then
|
||||
VALID=true
|
||||
PVALID=true
|
||||
else
|
||||
VALID=false
|
||||
PVALID=false
|
||||
fi
|
||||
if [ "${VALID}" = "true" ]; then
|
||||
if [ "${PVALID}" = "true" ]; then
|
||||
# Patch Ramdisk
|
||||
if ${ARC_PATH}/ramdisk-patch.sh; then
|
||||
VALID=true
|
||||
PVALID=true
|
||||
else
|
||||
VALID=false
|
||||
PVALID=false
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
if [ "${VALID}" = "false" ]; then
|
||||
if [ "${PVALID}" = "false" ]; then
|
||||
echo
|
||||
echo -e "Patching DSM Files failed! Please stay patient for Update."
|
||||
sleep 5
|
||||
|
||||
@@ -25,7 +25,7 @@ function getmap() {
|
||||
ATAPORT="$(echo ${LINE} | grep -o 'ata[0-9]*')"
|
||||
PORT=$(echo ${ATAPORT} | sed 's/ata//')
|
||||
HOSTPORTS[${PORT}]=$(echo ${LINE} | grep -o 'host[0-9]*$')
|
||||
done <<<$(ls -l /sys/class/scsi_host | grep -F "${PCI}")
|
||||
done < <(ls -l /sys/class/scsi_host | grep -F "${PCI}")
|
||||
while read -r PORT; do
|
||||
ls -l /sys/block | grep -F -q "${PCI}/ata${PORT}" && ATTACH=1 || ATTACH=0
|
||||
PCMD=$(cat /sys/class/scsi_host/${HOSTPORTS[${PORT}]}/ahci_port_cmd)
|
||||
@@ -33,7 +33,7 @@ function getmap() {
|
||||
[ ${ATTACH} = 1 ] && CONPORTS="$((${CONPORTS} + 1))" && echo "$((${PORT} - 1))" >>"${TMP_PATH}/ports"
|
||||
[ ${DUMMY} = 1 ] # Do nothing for now
|
||||
NUMPORTS=$((${NUMPORTS} + 1))
|
||||
done <<<$(echo ${!HOSTPORTS[@]} | tr ' ' '\n' | sort -n)
|
||||
done < <(echo ${!HOSTPORTS[@]} | tr ' ' '\n' | sort -n)
|
||||
[ ${NUMPORTS} -gt 8 ] && NUMPORTS=8
|
||||
[ ${CONPORTS} -gt 8 ] && CONPORTS=8
|
||||
echo -n "${NUMPORTS}" >>"${TMP_PATH}/drivesmax"
|
||||
@@ -131,7 +131,7 @@ function getmap() {
|
||||
elif [ ${D} = ${LASTDRIVE} ]; then
|
||||
LASTDRIVE=$((${D} + 1))
|
||||
fi
|
||||
done <<<$(cat "${TMP_PATH}/ports")
|
||||
done < <(cat "${TMP_PATH}/ports")
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -83,15 +83,15 @@ declare -A MODULES
|
||||
# Read synoinfo and addons from config
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
|
||||
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
|
||||
# Read modules from user config
|
||||
while IFS=': ' read -r KEY VALUE; do
|
||||
[ -n "${KEY}" ] && MODULES["${KEY}"]="${VALUE}"
|
||||
done <<<$(readConfigMap "modules" "${USER_CONFIG_FILE}")
|
||||
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
|
||||
|
||||
# Patches (diff -Naru OLDFILE NEWFILE > xxx.patch)
|
||||
PATCHES=()
|
||||
|
||||
Reference in New Issue
Block a user