fix RecoveryDSM

This commit is contained in:
Ing 2023-10-30 13:54:31 +08:00
parent 5d7b489d24
commit f7a94b7b9e
2 changed files with 7 additions and 9 deletions

View File

@ -324,8 +324,9 @@ function getLogo() {
# (based on pocopico's TCRP code) # (based on pocopico's TCRP code)
function findAndMountDSMRoot() { function findAndMountDSMRoot() {
[ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -gt 0 ] && return 0 [ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -gt 0 ] && return 0
dsmrootdisk="$(blkid | grep -i linux_raid_member | grep /dev/.*1: | head -1)" dsmrootdisk="$(blkid | grep -i linux_raid_member | grep -E "/dev/.*1:" | head -1 | awk -F ":" '{print $1}')"
[ -z "${dsmrootdisk}" ] && return -1 [ -z "${dsmrootdisk}" ] && return -1
[ ! -d "${DSMROOT_PATH}" ] && mkdir -p "${DSMROOT_PATH}"
[ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -eq 0 ] && mount -t ext4 "${dsmrootdisk}" "${DSMROOT_PATH}" [ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -eq 0 ] && mount -t ext4 "${dsmrootdisk}" "${DSMROOT_PATH}"
if [ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -eq 0 ]; then if [ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -eq 0 ]; then
echo "Failed to mount" echo "Failed to mount"
@ -336,7 +337,6 @@ function findAndMountDSMRoot() {
############################################################################### ###############################################################################
# Rebooting # Rebooting
# (based on pocopico's TCRP code)
function rebootTo() { function rebootTo() {
[ "${1}" != "junior" -a "${1}" != "config" ] && exit 1 [ "${1}" != "junior" -a "${1}" != "config" ] && exit 1
# echo "Rebooting to ${1} mode" # echo "Rebooting to ${1} mode"

View File

@ -1501,8 +1501,6 @@ function tryRecoveryDSM() {
if findAndMountDSMRoot; then if findAndMountDSMRoot; then
MODEL="" MODEL=""
PRODUCTVER="" PRODUCTVER=""
BUILDNUM=""
SMALLNUM=""
if [ -f "${DSMROOT_PATH}/.syno/patch/VERSION" ]; then if [ -f "${DSMROOT_PATH}/.syno/patch/VERSION" ]; then
eval $(cat ${DSMROOT_PATH}/.syno/patch/VERSION | grep unique) eval $(cat ${DSMROOT_PATH}/.syno/patch/VERSION | grep unique)
eval $(cat ${DSMROOT_PATH}/.syno/patch/VERSION | grep majorversion) eval $(cat ${DSMROOT_PATH}/.syno/patch/VERSION | grep majorversion)
@ -1523,16 +1521,16 @@ function tryRecoveryDSM() {
if [ -n "${PRODUCTVER}" ]; then if [ -n "${PRODUCTVER}" ]; then
cp -f "${DSMROOT_PATH}/.syno/patch/zImage" "${PART2_PATH}" cp -f "${DSMROOT_PATH}/.syno/patch/zImage" "${PART2_PATH}"
cp -f "${DSMROOT_PATH}/.syno/patch/rd.gz" "${PART2_PATH}" cp -f "${DSMROOT_PATH}/.syno/patch/rd.gz" "${PART2_PATH}"
MSG="$(printf "$(TEXT "Found a installation:\nModel: %s\nProductversion: %s")" "${MODEL}" "${PRODUCTVER}")" BUILDNUM=${buildnumber}
SMALLNUM=${smallfixnumber}
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
MSG="$(printf "$(TEXT "Found a installation:\nModel: %s\nProductversion: %s")" "${MODEL}" "${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))")"
SN=$(_get_conf_kv SN "${DSMROOT_PATH}/etc/synoinfo.conf") SN=$(_get_conf_kv SN "${DSMROOT_PATH}/etc/synoinfo.conf")
if [ -n "${SN}" ]; then if [ -n "${SN}" ]; then
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}" writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
MSG+="$(printf "$(TEXT "\nSerial: %s")" "${SN}")" MSG+="$(printf "$(TEXT "\nSerial: %s")" "${SN}")"
fi fi
BUILDNUM=${buildnumber}
SMALLNUM=${smallfixnumber}
writeConfigKey "buildnum" "${BUILDNUM}" "${USER_CONFIG_FILE}"
writeConfigKey "smallnum" "${SMALLNUM}" "${USER_CONFIG_FILE}"
dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Try recovery DSM")" \ dialog --backtitle "$(backtitle)" --colors --title "$(TEXT "Try recovery DSM")" \
--msgbox "${MSG}" 0 0 --msgbox "${MSG}" 0 0
fi fi