diff --git a/files/initrd/opt/arc/arc-functions.sh b/files/initrd/opt/arc/arc-functions.sh index dcbf1c7b..0a864552 100755 --- a/files/initrd/opt/arc/arc-functions.sh +++ b/files/initrd/opt/arc/arc-functions.sh @@ -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 diff --git a/files/initrd/opt/arc/arc.sh b/files/initrd/opt/arc/arc.sh index 308e43f0..d3eee116 100755 --- a/files/initrd/opt/arc/arc.sh +++ b/files/initrd/opt/arc/arc.sh @@ -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}")" diff --git a/files/initrd/opt/arc/boot.sh b/files/initrd/opt/arc/boot.sh index 2aab67a7..4b6ca17e 100755 --- a/files/initrd/opt/arc/boot.sh +++ b/files/initrd/opt/arc/boot.sh @@ -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="" diff --git a/files/initrd/opt/arc/include/functions.sh b/files/initrd/opt/arc/include/functions.sh index 9c279559..b10b63f8 100755 --- a/files/initrd/opt/arc/include/functions.sh +++ b/files/initrd/opt/arc/include/functions.sh @@ -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 diff --git a/files/initrd/opt/arc/include/storage.sh b/files/initrd/opt/arc/include/storage.sh index 7a9405cd..9b13450c 100755 --- a/files/initrd/opt/arc/include/storage.sh +++ b/files/initrd/opt/arc/include/storage.sh @@ -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 } diff --git a/files/initrd/opt/arc/ramdisk-patch.sh b/files/initrd/opt/arc/ramdisk-patch.sh index 1654973b..fed2229d 100755 --- a/files/initrd/opt/arc/ramdisk-patch.sh +++ b/files/initrd/opt/arc/ramdisk-patch.sh @@ -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=()