@@ -73,7 +73,9 @@ function arcModel() {
7373 [ " ${COMPATIBLE} " -eq 1 ] && echo -e " ${M} \" \t$( printf " \Zb%-15s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-10s\Zn \Zb%-12s\Zn \Zb%-10s\Zn \Zb%-10s\Zn" " ${A} " " ${DTS} " " ${IGPUS} " " ${HBAS} " " ${M_2_CACHE} " " ${M_2_STORAGE} " " ${USBS} " " ${BETA} " ) \" " >> " ${TMP_PATH} /menu"
7474 fi
7575 done < <( cat " ${TMP_PATH} /modellist" )
76- [ -n " ${ARC_CONF} " ] && MSG=" Supported Models for your Hardware (x = supported / + = need Addons)\n$( printf " \Zb%-16s\Zn \Zb%-15s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-10s\Zn \Zb%-12s\Zn \Zb%-10s\Zn \Zb%-10s\Zn" " Model" " Platform" " DT" " Arc" " iGPU" " HBA" " M.2 Cache" " M.2 Volume" " USB Mount" " Source" ) " || MSG=" Supported Models for your Hardware (x = supported / + = need Addons) | Syno Models can have faulty Values.\n$( printf " \Zb%-16s\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" " Model" " Platform" " DT" " iGPU" " HBA" " M.2 Cache" " M.2 Volume" " USB Mount" " Source" ) "
76+ # Show Menu
77+ [ " ${RESTRICT} " -eq 1 ] && TITLEMSG=" Supported Models for your Hardware" || TITLEMSG=" All Models supported by Loader"
78+ [ -n " ${ARC_CONF} " ] && MSG=" ${TITLEMSG} (x = supported / + = need Addons)\n$( printf " \Zb%-16s\Zn \Zb%-15s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-5s\Zn \Zb%-10s\Zn \Zb%-12s\Zn \Zb%-10s\Zn \Zb%-10s\Zn" " Model" " Platform" " DT" " Arc" " iGPU" " HBA" " M.2 Cache" " M.2 Volume" " USB Mount" " Source" ) " || MSG=" ${TITLEMSG} (x = supported / + = need Addons) | Syno Models can have faulty Values.\n$( printf " \Zb%-16s\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" " Model" " Platform" " DT" " iGPU" " HBA" " M.2 Cache" " M.2 Volume" " USB Mount" " Source" ) "
7779 [ -n " ${ARC_CONF} " ] && TITLEMSG=" Arc Model" || TITLEMSG=" Model"
7880 dialog --backtitle " $( backtitle) " --title " ${TITLEMSG} " --colors \
7981 --cancel-label " Show all" --help-button --help-label " Exit" \
@@ -98,12 +100,13 @@ function arcModel() {
98100 fi
99101 # Reset Model Config if changed
100102 if [ " ${ARC_MODE} " = " config" ] && [ " ${MODEL} " != " ${resp} " ]; then
101- MODEL=" ${resp} "
103+ MODEL=" $( echo $ {resp} | sed ' s/d$/D/; s/rp$/RP/; s/rp+/RP+/ ' ) "
102104 writeConfigKey " addons" " {}" " ${USER_CONFIG_FILE} "
103105 writeConfigKey " arc.remap" " " " ${USER_CONFIG_FILE} "
104106 writeConfigKey " arc.patch" " false" " ${USER_CONFIG_FILE} "
105107 writeConfigKey " buildnum" " " " ${USER_CONFIG_FILE} "
106108 writeConfigKey " cmdline" " {}" " ${USER_CONFIG_FILE} "
109+ writeConfigKey " dsmver" " " " ${USER_CONFIG_FILE} "
107110 writeConfigKey " emmcboot" " false" " ${USER_CONFIG_FILE} "
108111 writeConfigKey " hddsort" " false" " ${USER_CONFIG_FILE} "
109112 writeConfigKey " kernel" " official" " ${USER_CONFIG_FILE} "
@@ -142,6 +145,7 @@ function arcVersion() {
142145 PLATFORM=" $( readConfigKey " platform" " ${USER_CONFIG_FILE} " ) "
143146 DT=" $( readConfigKey " platforms.${PLATFORM} .dt" " ${P_FILE} " ) "
144147 PRODUCTVER=" $( readConfigKey " productver" " ${USER_CONFIG_FILE} " ) "
148+ DSMVER=" $( readConfigKey " dsmver" " ${USER_CONFIG_FILE} " ) "
145149 # Get PAT Data from Config
146150 PAT_URL_CONF=" $( readConfigKey " paturl" " ${USER_CONFIG_FILE} " ) "
147151 PAT_HASH_CONF=" $( readConfigKey " pathash" " ${USER_CONFIG_FILE} " ) "
@@ -162,12 +166,14 @@ function arcVersion() {
162166 [ $? -ne 0 ] && return
163167 RESP=" $( cat " ${TMP_PATH} /resp" 2> /dev/null) "
164168 [ -z " ${RESP} " ] && return
165- if [ " ${PRODUCTVER } " != " ${RESP: 0: 3 } " ]; then
169+ if [ " ${DSMVER } " != " ${RESP: 0: 5 } " ]; then
166170 # Reset Config if changed
167171 PRODUCTVER=" ${RESP: 0: 3} "
172+ DSMVER=" ${RESP: 0: 5} "
168173 PAT_URL=" $( readConfigKey " ${PLATFORM} .\" ${MODEL} \" .\" ${RESP} \" .url" " ${D_FILE} " ) "
169174 PAT_HASH=" $( readConfigKey " ${PLATFORM} .\" ${MODEL} \" .\" ${RESP} \" .hash" " ${D_FILE} " ) "
170175 writeConfigKey " productver" " ${PRODUCTVER} " " ${USER_CONFIG_FILE} "
176+ writeConfigKey " dsmver" " ${DSMVER} " " ${USER_CONFIG_FILE} "
171177 writeConfigKey " buildnum" " " " ${USER_CONFIG_FILE} "
172178 writeConfigKey " cmdline" " {}" " ${USER_CONFIG_FILE} "
173179 writeConfigKey " governor" " " " ${USER_CONFIG_FILE} "
@@ -459,6 +465,7 @@ function arcSettings() {
459465function arcSummary() {
460466 MODEL=" $( readConfigKey " model" " ${USER_CONFIG_FILE} " ) "
461467 PRODUCTVER=" $( readConfigKey " productver" " ${USER_CONFIG_FILE} " ) "
468+ DSMVER=" $( readConfigKey " dsmver" " ${USER_CONFIG_FILE} " ) "
462469 PLATFORM=" $( readConfigKey " platform" " ${USER_CONFIG_FILE} " ) "
463470 DT=" $( readConfigKey " platforms.${PLATFORM} .dt" " ${P_FILE} " ) "
464471 KVER=" $( readConfigKey " platforms.${PLATFORM} .productvers.\" ${PRODUCTVER} \" .kver" " ${P_FILE} " ) "
@@ -494,7 +501,7 @@ function arcSummary() {
494501 # Print Summary
495502 SUMMARY=" \Z4> DSM Information\Zn"
496503 SUMMARY+=" \n>> Model: \Zb${MODEL} \Zn"
497- SUMMARY+=" \n>> Version: \Zb${PRODUCTVER } \Zn"
504+ SUMMARY+=" \n>> Version: \Zb${DSMVER } \Zn"
498505 SUMMARY+=" \n>> Platform: \Zb${PLATFORM} \Zn"
499506 SUMMARY+=" \n>> DT: \Zb${DT} \Zn"
500507 SUMMARY+=" \n>> PAT URL: \Zb${PAT_URL} \Zn"
@@ -661,8 +668,7 @@ function boot() {
661668# ##############################################################################
662669# Permits user edit the user config
663670function editUserConfig() {
664- OLDMODEL=" $( readConfigKey " model" " ${USER_CONFIG_FILE} " ) "
665- OLDPRODUCTVER=" $( readConfigKey " productver" " ${USER_CONFIG_FILE} " ) "
671+ PREHASH=" $( sha256sum " ${USER_CONFIG_FILE} " | awk ' {print $1}' ) "
666672 while true ; do
667673 dialog --backtitle " $( backtitle) " --title " Edit with caution" \
668674 --ok-label " Save" --editbox " ${USER_CONFIG_FILE} " 0 0 2> " ${TMP_PATH} /userconfig"
@@ -672,15 +678,16 @@ function editUserConfig() {
672678 [ $? -eq 0 ] && break || continue
673679 dialog --backtitle " $( backtitle) " --title " Invalid YAML format" --msgbox " ${ERRORS} " 0 0
674680 done
675- MODEL=" $( readConfigKey " model" " ${USER_CONFIG_FILE} " ) "
676- PRODUCTVER=" $( readConfigKey " productver" " ${USER_CONFIG_FILE} " ) "
677- SN=" $( readConfigKey " sn" " ${USER_CONFIG_FILE} " ) "
678- if [ " ${MODEL} " != " ${OLDMODEL} " ] || [ " ${PRODUCTVER} " != " ${OLDPRODUCTVER} " ]; then
679- # Delete old files
681+ POSTHASH=" $( sha256sum " ${USER_CONFIG_FILE} " | awk ' {print $1}' ) "
682+ if [ " ${POSTHASH} " != " ${PREHASH} " ]; then
680683 rm -f " ${ORI_ZIMAGE_FILE} " " ${ORI_RDGZ_FILE} " " ${MOD_ZIMAGE_FILE} " " ${MOD_RDGZ_FILE} " > /dev/null
684+ writeConfigKey " arc.builddone" " false" " ${USER_CONFIG_FILE} "
685+ dialog --backtitle " $( backtitle) " --title " User Config" \
686+ --msgbox " User Config changed!\nYou need to rebuild the Loader." 6 40
687+ sleep 3
688+ clear
689+ exec arc.sh
681690 fi
682- writeConfigKey " arc.builddone" " false" " ${USER_CONFIG_FILE} "
683- BUILDDONE=" $( readConfigKey " arc.builddone" " ${USER_CONFIG_FILE} " ) "
684691 return
685692}
686693
@@ -696,7 +703,6 @@ function addonMenu() {
696703function addonSelection() {
697704 # read platform and kernel version to check if addon exists
698705 MODEL=" $( readConfigKey " model" " ${USER_CONFIG_FILE} " ) "
699- PRODUCTVER=" $( readConfigKey " productver" " ${USER_CONFIG_FILE} " ) "
700706 PLATFORM=" $( readConfigKey " platform" " ${USER_CONFIG_FILE} " ) "
701707
702708 # read addons from user config
@@ -1603,6 +1609,7 @@ function sysinfo() {
16031609 MODEL=" $( readConfigKey " model" " ${USER_CONFIG_FILE} " ) "
16041610 MODELID=" $( readConfigKey " modelid" " ${USER_CONFIG_FILE} " ) "
16051611 PRODUCTVER=" $( readConfigKey " productver" " ${USER_CONFIG_FILE} " ) "
1612+ DSMVER=" $( readConfigKey " dsmver" " ${USER_CONFIG_FILE} " ) "
16061613 PLATFORM=" $( readConfigKey " platform" " ${USER_CONFIG_FILE} " ) "
16071614 DT=" $( readConfigKey " platforms.${PLATFORM} .dt" " ${P_FILE} " ) "
16081615 KVER=" $( readConfigKey " platforms.${PLATFORM} .productvers.\" ${PRODUCTVER} \" .kver" " ${P_FILE} " ) "
@@ -1694,7 +1701,7 @@ function sysinfo() {
16941701 TEXT+=" \n HardwareID: \Zb${HWID} \Zn"
16951702 TEXT+=" \n Offline Mode: \Zb${ARC_OFFLINE} \Zn"
16961703 if [ " ${CONFDONE} " = " true" ]; then
1697- TEXT+=" \n\Z4> DSM ${PRODUCTVER } (${BUILDNUM} ): ${MODELID:- ${MODEL} } \Zn"
1704+ TEXT+=" \n\Z4> DSM ${DSMVER } (${BUILDNUM} ): ${MODELID:- ${MODEL} } \Zn"
16981705 TEXT+=" \n Kernel | LKM: \Zb${KVER} | ${LKM} \Zn"
16991706 TEXT+=" \n Platform | DeviceTree: \Zb${PLATFORM} | ${DT} \Zn"
17001707 TEXT+=" \n Arc Patch: \Zb${ARC_PATCH} \Zn"
0 commit comments