diff --git a/files/initrd/opt/arc/arc.sh b/files/initrd/opt/arc/arc.sh index 93486793..d67c7505 100755 --- a/files/initrd/opt/arc/arc.sh +++ b/files/initrd/opt/arc/arc.sh @@ -229,9 +229,11 @@ function arcModel() { PRODUCTVER="" MODEL="${resp}" PLATFORM="$(grep -w "${MODEL}" "${TMP_PATH}/modellist" | awk '{print $2}' | head -n 1)" - MODELID=$(echo ${MODEL} | sed 's/d$/D/; s/rp$/RP/; s/rp+/RP+/') writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}" + writeConfigKey "modelid" "" "${USER_CONFIG_FILE}" writeConfigKey "productver" "" "${USER_CONFIG_FILE}" + writeConfigKey "buildnum" "" "${USER_CONFIG_FILE}" + writeConfigKey "smallnum" "" "${USER_CONFIG_FILE}" writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}" writeConfigKey "arc.builddone" "false" "${USER_CONFIG_FILE}" writeConfigKey "arc.confdone" "false" "${USER_CONFIG_FILE}" @@ -244,7 +246,6 @@ function arcModel() { writeConfigKey "pathash" "" "${USER_CONFIG_FILE}" writeConfigKey "arc.remap" "" "${USER_CONFIG_FILE}" writeConfigKey "sn" "" "${USER_CONFIG_FILE}" - writeConfigKey "modelid" "${MODELID}" "${USER_CONFIG_FILE}" writeConfigKey "platform" "${PLATFORM}" "${USER_CONFIG_FILE}" writeConfigKey "ramdisk-hash" "" "${USER_CONFIG_FILE}" writeConfigKey "zimage-hash" "" "${USER_CONFIG_FILE}" @@ -824,6 +825,8 @@ function make() { --progressbox "Doing the Magic..." 20 70 fi if [ -f "${ORI_ZIMAGE_FILE}" ] && [ -f "${ORI_RDGZ_FILE}" ] && [ -f "${MOD_ZIMAGE_FILE}" ] && [ -f "${MOD_RDGZ_FILE}" ]; then + MODELID=$(echo ${MODEL} | sed 's/d$/D/; s/rp$/RP/; s/rp+/RP+/') + writeConfigKey "modelid" "${MODELID}" "${USER_CONFIG_FILE}" writeConfigKey "arc.builddone" "true" "${USER_CONFIG_FILE}" BUILDDONE="$(readConfigKey "arc.builddone" "${USER_CONFIG_FILE}")" arcFinish diff --git a/files/initrd/opt/arc/boot.sh b/files/initrd/opt/arc/boot.sh index de7d8563..ab346b9f 100755 --- a/files/initrd/opt/arc/boot.sh +++ b/files/initrd/opt/arc/boot.sh @@ -50,6 +50,8 @@ PLATFORM="$(readConfigKey "platform" "${USER_CONFIG_FILE}")" MODEL="$(readConfigKey "model" "${USER_CONFIG_FILE}")" MODELID="$(readConfigKey "modelid" "${USER_CONFIG_FILE}")" PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")" +BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")" +SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")" LKM="$(readConfigKey "lkm" "${USER_CONFIG_FILE}")" CPU="$(echo $(cat /proc/cpuinfo 2>/dev/null | grep 'model name' | uniq | awk -F':' '{print $2}'))" RAMTOTAL="$(awk '/MemTotal:/ {printf "%.0f\n", $2 / 1024 / 1024 + 0.5}' /proc/meminfo 2>/dev/null)" @@ -58,7 +60,7 @@ VENDOR="$(dmesg 2>/dev/null | grep -i "DMI:" | sed 's/\[.*\] DMI: //i')" echo -e "\033[1;37mDSM:\033[0m" echo -e "Model: \033[1;37m${MODELID:-${MODEL}}\033[0m" echo -e "Platform: \033[1;37m${PLATFORM}\033[0m" -echo -e "Version: \033[1;37m${PRODUCTVER}\033[0m" +echo -e "Version: \033[1;37m${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))\033[0m" echo -e "LKM: \033[1;37m${LKM}\033[0m" echo echo -e "\033[1;37mSystem:\033[0m" diff --git a/files/initrd/opt/arc/init.sh b/files/initrd/opt/arc/init.sh index 0ea4e452..5b4ff9c1 100755 --- a/files/initrd/opt/arc/init.sh +++ b/files/initrd/opt/arc/init.sh @@ -72,6 +72,8 @@ initConfigKey "modelid" "" "${USER_CONFIG_FILE}" initConfigKey "network" "{}" "${USER_CONFIG_FILE}" initConfigKey "platform" "" "${USER_CONFIG_FILE}" initConfigKey "productver" "" "${USER_CONFIG_FILE}" +initConfigKey "buildnum" "" "${USER_CONFIG_FILE}" +initConfigKey "smallnum" "" "${USER_CONFIG_FILE}" initConfigKey "ramdisk-hash" "" "${USER_CONFIG_FILE}" initConfigKey "rd-compressed" "false" "${USER_CONFIG_FILE}" initConfigKey "satadom" "2" "${USER_CONFIG_FILE}" diff --git a/files/initrd/opt/arc/ramdisk-patch.sh b/files/initrd/opt/arc/ramdisk-patch.sh index 7fc506cf..556318aa 100755 --- a/files/initrd/opt/arc/ramdisk-patch.sh +++ b/files/initrd/opt/arc/ramdisk-patch.sh @@ -38,6 +38,8 @@ CPUGOVERNOR="$(readConfigKey "governor" "${USER_CONFIG_FILE}")" KERNEL="$(readConfigKey "kernel" "${USER_CONFIG_FILE}")" RD_COMPRESSED="$(readConfigKey "rd-compressed" "${USER_CONFIG_FILE}")" PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")" +BUILDNUM="$(readConfigKey "buildnum" "${USER_CONFIG_FILE}")" +SMALLNUM="$(readConfigKey "smallnum" "${USER_CONFIG_FILE}")" ARCBRANCH="$(readConfigKey "arc.branch" "${USER_CONFIG_FILE}")" # Read new PAT Info from Config PAT_URL="$(readConfigKey "paturl" "${USER_CONFIG_FILE}")" @@ -49,16 +51,21 @@ PAT_HASH="$(readConfigKey "pathash" "${USER_CONFIG_FILE}")" # Check if DSM Version changed . "${RAMDISK_PATH}/etc/VERSION" -PRODUCTVERDSM="${majorversion}.${minorversion}" -if [ "${PRODUCTVERDSM}" != "${PRODUCTVER}" ]; then - # Update new buildnumber - echo -e "Ramdisk Version ${PRODUCTVER} does not match DSM Version ${PRODUCTVERDSM}!" - echo -e "Try to use DSM Version ${PRODUCTVERDSM} for Patch." - writeConfigKey "productver" "${PRODUCTVERDSM}" "${USER_CONFIG_FILE}" - PRODUCTVER="$(readConfigKey "productver" "${USER_CONFIG_FILE}")" +if [[ -n "${PRODUCTVER}" && -n "${BUILDNUM}" && -n "${SMALLNUM}" ]] && + ([ ! "${PRODUCTVER}" = "${majorversion}.${minorversion}" ] || [ ! "${BUILDNUM}" = "${buildnumber}" ] || [ ! "${SMALLNUM}" = "${smallfixnumber}" ]); then + OLDVER="${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))" + NEWVER="${majorversion}.${minorversion}(${buildnumber}$([ ${smallfixnumber:-0} -ne 0 ] && echo "u${smallfixnumber}"))" + [ "${OLDVER}" != "{NEWVER}" ] && echo -e "Ramdisk Version ${OLDVER} does not match DSM Version ${NEWVER}!" + echo -e "Try to use DSM Version ${NEWVER} for Patch." PAT_URL="" PAT_HASH="" fi +PRODUCTVER=${majorversion}.${minorversion} +BUILDNUM=${buildnumber} +SMALLNUM=${smallfixnumber} +writeConfigKey "productver" "${PRODUCTVER}" "${USER_CONFIG_FILE}" +writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}" +writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}" # Read model data KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${P_FILE}")" @@ -157,6 +164,7 @@ echo "export LOADERVERSION=\"${ARC_VERSION}\"" >>"${RAMDISK_PATH}/addons/addons. echo "export LOADERBRANCH=\"${ARCBRANCH}\"" >>"${RAMDISK_PATH}/addons/addons.sh" echo "export PLATFORM=\"${PLATFORM}\"" >>"${RAMDISK_PATH}/addons/addons.sh" echo "export PRODUCTVER=\"${PRODUCTVER}\"" >>"${RAMDISK_PATH}/addons/addons.sh" +echo "export PRODUCTVERL=\"${PRODUCTVERL}\"" >>"${RAMDISK_PATH}/addons/addons.sh" echo "export MODEL=\"${MODEL}\"" >>"${RAMDISK_PATH}/addons/addons.sh" echo "export MODELID=\"${MODELID}\"" >>"${RAMDISK_PATH}/addons/addons.sh" echo "export MLINK=\"${PAT_URL}\"" >>"${RAMDISK_PATH}/addons/addons.sh"