add disk space check and add reboot to recovery and force_junior

This commit is contained in:
Ing 2024-03-18 14:56:18 +08:00
parent dbf784bc6c
commit e21e5963a2
13 changed files with 2561 additions and 2202 deletions

View File

@ -40,7 +40,7 @@ Please refer to [rr-modules](https://github.com/RROrg/rr-modules) and [rr-addons
sudo apt install gettext sudo apt install gettext
git clone https://github.com/rrorg/rr.git git clone https://github.com/rrorg/rr.git
cd files/initrd/opt/rr cd files/initrd/opt/rr
xgettext -L Shell --keyword=TEXT -.sh -o lang/rr.pot xgettext -L Shell --keyword=TEXT *.sh -o lang/rr.pot
sed -i 's/charset=CHARSET/charset=UTF-8/' lang/rr.pot sed -i 's/charset=CHARSET/charset=UTF-8/' lang/rr.pot
# If you have to replace certain language string of the project, please suggest and modify translation changes within each correlated PO file # If you have to replace certain language string of the project, please suggest and modify translation changes within each correlated PO file
mkdir -p lang/zh_CN/LC_MESSAGES mkdir -p lang/zh_CN/LC_MESSAGES

View File

@ -328,8 +328,11 @@ function getLogo() {
############################################################################### ###############################################################################
# Rebooting # Rebooting
# 1 - mode
function rebootTo() { function rebootTo() {
[ "${1}" != "junior" -a "${1}" != "config" ] && exit 1 MODES="config recovery force_junior"
[ -z "${1}" ] && exit 1
if ! echo "${MODES}" | grep -q "${1}" ]; then exit 1; fi
# echo "Rebooting to ${1} mode" # echo "Rebooting to ${1} mode"
GRUBPATH="$(dirname $(find ${PART1_PATH}/ -name grub.cfg 2>/dev/null | head -1))" GRUBPATH="$(dirname $(find ${PART1_PATH}/ -name grub.cfg 2>/dev/null | head -1))"
ENVFILE="${GRUBPATH}/grubenv" ENVFILE="${GRUBPATH}/grubenv"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -457,7 +457,7 @@ function ParsePat() {
# Check disk space left # Check disk space left
SPACELEFT=$(df -m ${PART3_PATH} 2>/dev/null | awk 'NR==2 {print $4}') SPACELEFT=$(df -m ${PART3_PATH} 2>/dev/null | awk 'NR==2 {print $4}')
# Discover remote file size # Discover remote file size
FILESIZE=$(du -m "${PAT_PATH}" 2>/dev/null | awk '{print $1}') FILESIZE=$(du -sm "${PAT_PATH}" 2>/dev/null | awk '{print $1}')
if [ ${FILESIZE:-0} -ge ${SPACELEFT:-0} ]; then if [ ${FILESIZE:-0} -ge ${SPACELEFT:-0} ]; then
# No disk space to copy, mv it to dl # No disk space to copy, mv it to dl
mv -f "${PAT_PATH}" "${PART3_PATH}/dl/${MODEL}-${PRODUCTVER}.pat" mv -f "${PAT_PATH}" "${PART3_PATH}/dl/${MODEL}-${PRODUCTVER}.pat"
@ -1177,6 +1177,8 @@ function extractDsmFiles() {
PAT_FILE="${MODEL}-${PRODUCTVER}.pat" PAT_FILE="${MODEL}-${PRODUCTVER}.pat"
PAT_PATH="${PART3_PATH}/dl/${PAT_FILE}" PAT_PATH="${PART3_PATH}/dl/${PAT_FILE}"
[ -f "${PAT_PATH}" -a -f "${PAT_PATH}.downloading" ] && rm -f "${PAT_PATH}" "${PAT_PATH}.downloading"
if [ -f "${PAT_PATH}" ]; then if [ -f "${PAT_PATH}" ]; then
echo "$(printf "$(TEXT "%s cached.")" "${PAT_FILE}")" echo "$(printf "$(TEXT "%s cached.")" "${PAT_FILE}")"
else else
@ -1220,8 +1222,10 @@ function extractDsmFiles() {
# No disk space to download, change it to RAMDISK # No disk space to download, change it to RAMDISK
PAT_PATH="${TMP_PATH}/${PAT_FILE}" PAT_PATH="${TMP_PATH}/${PAT_FILE}"
fi fi
touch "${PAT_PATH}.downloading"
STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${PATURL}" -o "${PAT_PATH}") STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${PATURL}" -o "${PAT_PATH}")
RET=$? RET=$?
rm -rf "${PAT_PATH}.downloading"
if [ ${RET} -ne 0 -o ${STATUS:-0} -ne 200 ]; then if [ ${RET} -ne 0 -o ${STATUS:-0} -ne 200 ]; then
rm -f "${PAT_PATH}" rm -f "${PAT_PATH}"
MSG="$(printf "$(TEXT "Check internet or cache disk space.\nError: %d:%d")" "${RET}" "${STATUS}")" MSG="$(printf "$(TEXT "Check internet or cache disk space.\nError: %d:%d")" "${RET}" "${STATUS}")"
@ -1305,7 +1309,7 @@ function make() {
sleep 3 sleep 3
break break
done 2>&1 | DIALOG --title "$(TEXT "Main menu")" \ done 2>&1 | DIALOG --title "$(TEXT "Main menu")" \
--progressbox "$(TEXT "Making ...")" 20 100 --progressbox "$(TEXT "Making ... ('ctrl + c' to exit)")" 20 100
if [ -f "${LOG_FILE}" ]; then if [ -f "${LOG_FILE}" ]; then
if [ ! "${1}" = "-1" ]; then if [ ! "${1}" = "-1" ]; then
DIALOG --title "$(TEXT "Error")" \ DIALOG --title "$(TEXT "Error")" \
@ -2597,6 +2601,45 @@ function updateRR() {
return 1 return 1
fi fi
fi fi
SIZENEW=0
SIZEOLD=0
while IFS=': ' read KEY VALUE; do
if [ "${KEY: -1}" = "/" ]; then
rm -Rf "${TMP_PATH}/update/${VALUE}"
mkdir -p "${TMP_PATH}/update/${VALUE}"
tar -zxf "${TMP_PATH}/update/$(basename "${KEY}").tgz" -C "${TMP_PATH}/update/${VALUE}" >"${LOG_FILE}" 2>&1
if [ $? -ne 0 ]; then
MSG="$(TEXT "Error extracting update file.")\n$(<"${LOG_FILE}")"
if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}"
else
DIALOG --title "${T}" \
--msgbox "${MSG}" 0 0
fi
return 1
fi
rm "${TMP_PATH}/update/$(basename "${KEY}").tgz"
else
mkdir -p "${TMP_PATH}/update/$(dirname "${VALUE}")"
mv -f "${TMP_PATH}/update/$(basename "${KEY}")" "${TMP_PATH}/update/${VALUE}"
fi
SIZENEW=$((${SIZENEW} + $(du -sm "${TMP_PATH}/update/${VALUE}" 2>/dev/null | awk '{print $1}')))
SIZEOLD=$((${SIZEOLD} + $(du -sm "${VALUE}" 2>/dev/null | awk '{print $1}')))
done <<<$(readConfigMap "replace" "${TMP_PATH}/update/update-list.yml")
SIZESPL=$(df -m ${PART3_PATH} 2>/dev/null | awk 'NR==2 {print $4}')
if [ ${SIZENEW:-0} -ge $((${SIZEOLD:-0} + ${SIZESPL:-0})) ]; then
MSG="$(printf "$(TEXT "Failed to install due to insufficient remaning disk space on local hard drive, consider reallocate your disk %s with at least %sM.")" "${PART3_PATH}" "$((${SIZENEW} - ${SIZEOLD} - ${SIZESPL}))")"
if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}"
else
DIALOG --title "${T}" \
--msgbox "${MSG}" 0 0
fi
return 1
fi
MSG="$(TEXT "Installing new files ...")" MSG="$(TEXT "Installing new files ...")"
if [ "${2}" = "-1" ]; then if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}" echo "${T} - ${MSG}"
@ -2611,9 +2654,9 @@ function updateRR() {
done <<<$(readConfigArray "remove" "${TMP_PATH}/update/update-list.yml") done <<<$(readConfigArray "remove" "${TMP_PATH}/update/update-list.yml")
while IFS=': ' read KEY VALUE; do while IFS=': ' read KEY VALUE; do
if [ "${KEY: -1}" = "/" ]; then if [ "${KEY: -1}" = "/" ]; then
rm -Rf "${VALUE}" rm -Rf "${VALUE}"/*
mkdir -p "${VALUE}" mkdir -p "${VALUE}"
tar -zxf "${TMP_PATH}/update/$(basename "${KEY}").tgz" -C "${VALUE}" cp -Rf "${TMP_PATH}/update/${VALUE}"/* "${VALUE}"
if [ "$(realpath "${VALUE}")" = "$(realpath "${MODULES_PATH}")" ]; then if [ "$(realpath "${VALUE}")" = "$(realpath "${MODULES_PATH}")" ]; then
if [ -n "${MODEL}" -a -n "${PRODUCTVER}" ]; then if [ -n "${MODEL}" -a -n "${PRODUCTVER}" ]; then
PLATFORM="$(readModelKey "${MODEL}" "platform")" PLATFORM="$(readModelKey "${MODEL}" "platform")"
@ -2629,10 +2672,12 @@ function updateRR() {
fi fi
else else
mkdir -p "$(dirname "${VALUE}")" mkdir -p "$(dirname "${VALUE}")"
mv -f "${TMP_PATH}/update/$(basename "${KEY}")" "${VALUE}" cp -f "${TMP_PATH}/update/${VALUE}" "${VALUE}"
fi fi
done <<<$(readConfigMap "replace" "${TMP_PATH}/update/update-list.yml") done <<<$(readConfigMap "replace" "${TMP_PATH}/update/update-list.yml")
rm -rf "${TMP_PATH}/update"
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
sync
MSG="$(printf "$(TEXT "%s updated with success!")" "$(TEXT "RR")")\n$(TEXT "Reboot?")" MSG="$(printf "$(TEXT "%s updated with success!")" "$(TEXT "RR")")\n$(TEXT "Reboot?")"
if [ "${2}" = "-1" ]; then if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}" echo "${T} - ${MSG}"
@ -2667,15 +2712,34 @@ function updateAddons() {
fi fi
return 1 return 1
fi fi
rm -Rf "${ADDONS_PATH}/"*
[ -f "${TMP_PATH}/update/VERSION" ] && cp -f "${TMP_PATH}/update/VERSION" "${ADDONS_PATH}/"
for PKG in $(ls ${TMP_PATH}/update/*.addon 2>/dev/null); do for PKG in $(ls ${TMP_PATH}/update/*.addon 2>/dev/null); do
ADDON=$(basename ${PKG} .addon) ADDON=$(basename ${PKG} .addon)
rm -rf "${ADDONS_PATH}/${ADDON}" rm -rf "${TMP_PATH}/update/${ADDON}"
mkdir -p "${ADDONS_PATH}/${ADDON}" mkdir -p "${TMP_PATH}/update/${ADDON}"
tar -xaf "${PKG}" -C "${ADDONS_PATH}/${ADDON}" >/dev/null 2>&1 tar -xaf "${PKG}" -C "${TMP_PATH}/update/${ADDON}" >/dev/null 2>&1
rm -f "${PKG}"
done done
SIZENEW="$(du -sm "${TMP_PATH}/update" 2>/dev/null | awk '{print $1}')"
SIZEOLD="$(du -sm "${ADDONS_PATH}" 2>/dev/null | awk '{print $1}')"
SIZESPL=$(df -m "${ADDONS_PATH}" 2>/dev/null | awk 'NR==2 {print $4}')
if [ ${SIZENEW:-0} -ge $((${SIZEOLD:-0} + ${SIZESPL:-0})) ]; then
MSG="$(printf "$(TEXT "Failed to install due to insufficient remaning disk space on local hard drive, consider reallocate your disk %s with at least %sM.")" "$(dirname "${ADDONS_PATH}")" "$((${SIZENEW} - ${SIZEOLD} - ${SIZESPL}))")"
if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}"
else
DIALOG --title "${T}" \
--msgbox "${MSG}" 0 0
fi
return 1
fi
rm -Rf "${ADDONS_PATH}/"*
cp -Rf "${TMP_PATH}/update/"* "${ADDONS_PATH}/"
rm -rf "${TMP_PATH}/update"
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
sync
MSG="$(printf "$(TEXT "%s updated with success!")" "$(TEXT "Addons")")" MSG="$(printf "$(TEXT "%s updated with success!")" "$(TEXT "Addons")")"
if [ "${2}" = "-1" ]; then if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}" echo "${T} - ${MSG}"
@ -2712,6 +2776,21 @@ function updateModules() {
fi fi
return 1 return 1
fi fi
SIZENEW="$(du -sm "${TMP_PATH}/update" 2>/dev/null | awk '{print $1}')"
SIZEOLD="$(du -sm "${MODULES_PATH}" 2>/dev/null | awk '{print $1}')"
SIZESPL=$(df -m "${MODULES_PATH}" 2>/dev/null | awk 'NR==2 {print $4}')
if [ ${SIZENEW:-0} -ge $((${SIZEOLD:-0} + ${SIZESPL:-0})) ]; then
MSG="$(printf "$(TEXT "Failed to install due to insufficient remaning disk space on local hard drive, consider reallocate your disk %s with at least %sM.")" "$(dirname "${MODULES_PATH}")" "$((${SIZENEW} - ${SIZEOLD} - ${SIZESPL}))")"
if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}"
else
DIALOG --title "${T}" \
--msgbox "${MSG}" 0 0
fi
return 1
fi
rm -rf "${MODULES_PATH}/"* rm -rf "${MODULES_PATH}/"*
cp -rf "${TMP_PATH}/update/"* "${MODULES_PATH}/" cp -rf "${TMP_PATH}/update/"* "${MODULES_PATH}/"
if [ -n "${MODEL}" -a -n "${PRODUCTVER}" ]; then if [ -n "${MODEL}" -a -n "${PRODUCTVER}" ]; then
@ -2725,7 +2804,9 @@ function updateModules() {
done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}") done <<<$(getAllModules "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}")
fi fi
fi fi
rm -rf "${TMP_PATH}/update"
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
sync
MSG="$(printf "$(TEXT "%s updated with success!")" "$(TEXT "Modules")")" MSG="$(printf "$(TEXT "%s updated with success!")" "$(TEXT "Modules")")"
if [ "${2}" = "-1" ]; then if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}" echo "${T} - ${MSG}"
@ -2762,9 +2843,26 @@ function updateLKMs() {
fi fi
return 1 return 1
fi fi
SIZENEW="$(du -sm "${TMP_PATH}/update" 2>/dev/null | awk '{print $1}')"
SIZEOLD="$(du -sm "${LKMS_PATH}" 2>/dev/null | awk '{print $1}')"
SIZESPL=$(df -m "${LKMS_PATH}" 2>/dev/null | awk 'NR==2 {print $4}')
if [ ${SIZENEW:-0} -ge $((${SIZEOLD:-0} + ${SIZESPL:-0})) ]; then
MSG="$(printf "$(TEXT "Failed to install due to insufficient remaning disk space on local hard drive, consider reallocate your disk %s with at least %sM.")" "$(dirname "${LKMS_PATH}")" "$((${SIZENEW} - ${SIZEOLD} - ${SIZESPL}))")"
if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}"
else
DIALOG --title "${T}" \
--msgbox "${MSG}" 0 0
fi
return 1
fi
rm -rf "${LKMS_PATH}/"* rm -rf "${LKMS_PATH}/"*
cp -rf "${TMP_PATH}/update/"* "${LKMS_PATH}/" cp -rf "${TMP_PATH}/update/"* "${LKMS_PATH}/"
rm -rf "${TMP_PATH}/update"
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
sync
MSG="$(printf "$(TEXT "%s updated with success!")" "$(TEXT "LKMs")")" MSG="$(printf "$(TEXT "%s updated with success!")" "$(TEXT "LKMs")")"
if [ "${2}" = "-1" ]; then if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}" echo "${T} - ${MSG}"
@ -2801,9 +2899,26 @@ function updateCKs() {
fi fi
return 1 return 1
fi fi
SIZENEW="$(du -sm "${TMP_PATH}/update" 2>/dev/null | awk '{print $1}')"
SIZEOLD="$(du -sm "${CKS_PATH}" 2>/dev/null | awk '{print $1}')"
SIZESPL=$(df -m "${CKS_PATH}" 2>/dev/null | awk 'NR==2 {print $4}')
if [ ${SIZENEW:-0} -ge $((${SIZEOLD:-0} + ${SIZESPL:-0})) ]; then
MSG="$(printf "$(TEXT "Failed to install due to insufficient remaning disk space on local hard drive, consider reallocate your disk %s with at least %sM.")" "$(dirname "${CKS_PATH}")" "$((${SIZENEW} - ${SIZEOLD} - ${SIZESPL}))")"
if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}"
else
DIALOG --title "${T}" \
--msgbox "${MSG}" 0 0
fi
return 1
fi
rm -rf "${CKS_PATH}/"* rm -rf "${CKS_PATH}/"*
cp -rf "${TMP_PATH}/update/"* "${CKS_PATH}/" cp -rf "${TMP_PATH}/update/"* "${CKS_PATH}/"
rm -rf "${TMP_PATH}/update"
touch ${PART1_PATH}/.build touch ${PART1_PATH}/.build
sync
MSG="$(printf "$(TEXT "%s updated with success!")" "$(TEXT "CKs")")" MSG="$(printf "$(TEXT "%s updated with success!")" "$(TEXT "CKs")")"
if [ "${2}" = "-1" ]; then if [ "${2}" = "-1" ]; then
echo "${T} - ${MSG}" echo "${T} - ${MSG}"
@ -2849,13 +2964,13 @@ function updateMenu() {
F="$(ls ${TMP_PATH}/updateall*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/updateall*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -z "${F}" ] && downloadExts "$(TEXT "All")" "${CUR_RR_VER:-None}" "https://github.com/RROrg/rr" "updateall" "${SILENT}" [ -z "${F}" ] && downloadExts "$(TEXT "All")" "${CUR_RR_VER:-None}" "https://github.com/RROrg/rr" "updateall" "${SILENT}"
F="$(ls ${TMP_PATH}/updateall*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/updateall*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateRR "${F}" "${SILENT}" [ -n "${F}" ] && updateRR "${F}" "${SILENT}" && rm -f ${TMP_PATH}/updateall*.zip
;; ;;
r) r)
F="$(ls ${TMP_PATH}/update*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/update*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -z "${F}" ] && downloadExts "$(TEXT "RR")" "${CUR_RR_VER:-None}" "https://github.com/RROrg/rr" "update" "${SILENT}" [ -z "${F}" ] && downloadExts "$(TEXT "RR")" "${CUR_RR_VER:-None}" "https://github.com/RROrg/rr" "update" "${SILENT}"
F="$(ls ${TMP_PATH}/update*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/update*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateRR "${F}" "${SILENT}" [ -n "${F}" ] && updateRR "${F}" "${SILENT}" && rm -f ${TMP_PATH}/update*.zip
;; ;;
d) d)
if [ -z "${DEBUG}" ]; then if [ -z "${DEBUG}" ]; then
@ -2866,7 +2981,7 @@ function updateMenu() {
F="$(ls ${TMP_PATH}/addons*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/addons*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -z "${F}" ] && downloadExts "$(TEXT "Addons")" "${CUR_ADDONS_VER:-None}" "https://github.com/RROrg/rr-addons" "addons" "${SILENT}" [ -z "${F}" ] && downloadExts "$(TEXT "Addons")" "${CUR_ADDONS_VER:-None}" "https://github.com/RROrg/rr-addons" "addons" "${SILENT}"
F="$(ls ${TMP_PATH}/addons*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/addons*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateAddons "${F}" "${SILENT}" [ -n "${F}" ] && updateAddons "${F}" "${SILENT}" && rm -f ${TMP_PATH}/addons*.zip
;; ;;
m) m)
if [ -z "${DEBUG}" ]; then if [ -z "${DEBUG}" ]; then
@ -2877,7 +2992,7 @@ function updateMenu() {
F="$(ls ${TMP_PATH}/modules*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/modules*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -z "${F}" ] && downloadExts "$(TEXT "Modules")" "${CUR_MODULES_VER:-None}" "https://github.com/RROrg/rr-modules" "modules" "${SILENT}" [ -z "${F}" ] && downloadExts "$(TEXT "Modules")" "${CUR_MODULES_VER:-None}" "https://github.com/RROrg/rr-modules" "modules" "${SILENT}"
F="$(ls ${TMP_PATH}/modules*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/modules*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateModules "${F}" "${SILENT}" [ -n "${F}" ] && updateModules "${F}" "${SILENT}" && rm -f ${TMP_PATH}/modules*.zip
;; ;;
l) l)
if [ -z "${DEBUG}" ]; then if [ -z "${DEBUG}" ]; then
@ -2888,7 +3003,7 @@ function updateMenu() {
F="$(ls ${TMP_PATH}/rp-lkms*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/rp-lkms*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -z "${F}" ] && downloadExts "$(TEXT "LKMs")" "${CUR_LKMS_VER:-None}" "https://github.com/RROrg/rr-lkms" "rp-lkms" "${SILENT}" [ -z "${F}" ] && downloadExts "$(TEXT "LKMs")" "${CUR_LKMS_VER:-None}" "https://github.com/RROrg/rr-lkms" "rp-lkms" "${SILENT}"
F="$(ls ${TMP_PATH}/rp-lkms*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/rp-lkms*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateLKMs "${F}" "${SILENT}" [ -n "${F}" ] && updateLKMs "${F}" "${SILENT}" && rm -f ${TMP_PATH}/rp-lkms*.zip
;; ;;
c) c)
if [ -z "${DEBUG}" ]; then if [ -z "${DEBUG}" ]; then
@ -2899,7 +3014,7 @@ function updateMenu() {
F="$(ls ${TMP_PATH}/rr-cks*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/rr-cks*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -z "${F}" ] && downloadExts "$(TEXT "CKs")" "${CUR_CKS_VER:-None}" "https://github.com/RROrg/rr-cks" "rr-cks" "${SILENT}" [ -z "${F}" ] && downloadExts "$(TEXT "CKs")" "${CUR_CKS_VER:-None}" "https://github.com/RROrg/rr-cks" "rr-cks" "${SILENT}"
F="$(ls ${TMP_PATH}/rr-cks*.zip 2>/dev/null | sort -V | tail -n 1)" F="$(ls ${TMP_PATH}/rr-cks*.zip 2>/dev/null | sort -V | tail -n 1)"
[ -n "${F}" ] && updateCKs "${F}" "${SILENT}" [ -n "${F}" ] && updateCKs "${F}" "${SILENT}" && rm -f ${TMP_PATH}/rr-cks*.zip
;; ;;
u) u)
if ! tty 2>/dev/null | grep -q "/dev/pts" || [ -z "${SSH_TTY}" ]; then if ! tty 2>/dev/null | grep -q "/dev/pts" || [ -z "${SSH_TTY}" ]; then
@ -3031,7 +3146,7 @@ else
fi fi
echo "l \"$(TEXT "Choose a language")\"" >>"${TMP_PATH}/menu" echo "l \"$(TEXT "Choose a language")\"" >>"${TMP_PATH}/menu"
echo "k \"$(TEXT "Choose a keymap")\"" >>"${TMP_PATH}/menu" echo "k \"$(TEXT "Choose a keymap")\"" >>"${TMP_PATH}/menu"
if [ 0$(du -m ${PART3_PATH}/dl 2>/dev/null | awk '{printf $1}') -gt 1 ]; then if [ 0$(du -sm ${PART3_PATH}/dl 2>/dev/null | awk '{printf $1}') -gt 1 ]; then
echo "c \"$(TEXT "Clean disk cache")\"" >>"${TMP_PATH}/menu" echo "c \"$(TEXT "Clean disk cache")\"" >>"${TMP_PATH}/menu"
fi fi
echo "p \"$(TEXT "Update menu")\"" >>"${TMP_PATH}/menu" echo "p \"$(TEXT "Update menu")\"" >>"${TMP_PATH}/menu"
@ -3129,7 +3244,9 @@ else
--default-item ${NEXT} --menu "$(TEXT "Choose a action")" 0 0 0 \ --default-item ${NEXT} --menu "$(TEXT "Choose a action")" 0 0 0 \
p "$(TEXT "Poweroff")" \ p "$(TEXT "Poweroff")" \
r "$(TEXT "Reboot")" \ r "$(TEXT "Reboot")" \
c "$(TEXT "Reboot to RR")" \ x "$(TEXT "Reboot to RR")" \
y "$(TEXT "Reboot to Recovery")" \
z "$(TEXT "Reboot to Force_junior")" \
s "$(TEXT "Back to shell")" \ s "$(TEXT "Back to shell")" \
e "$(TEXT "Exit")" \ e "$(TEXT "Exit")" \
2>${TMP_PATH}/resp 2>${TMP_PATH}/resp
@ -3137,12 +3254,23 @@ else
case "$(<${TMP_PATH}/resp)" in case "$(<${TMP_PATH}/resp)" in
p) p)
poweroff poweroff
exit 0
;; ;;
r) r)
reboot reboot
exit 0
;; ;;
c) x)
rebootTo config rebootTo config
exit 0
;;
y)
rebootTo recovery
exit 0
;;
z)
rebootTo force_junior
exit 0
;; ;;
s) s)
break 2 break 2

View File

@ -258,6 +258,8 @@ else
(cd "${RAMDISK_PATH}" && find . 2>/dev/null | cpio -o -H newc -R root:root >"${MOD_RDGZ_FILE}") >"${LOG_FILE}" 2>&1 || exit 1 (cd "${RAMDISK_PATH}" && find . 2>/dev/null | cpio -o -H newc -R root:root >"${MOD_RDGZ_FILE}") >"${LOG_FILE}" 2>&1 || exit 1
fi fi
sync
# Clean # Clean
rm -rf "${RAMDISK_PATH}" rm -rf "${RAMDISK_PATH}"

View File

@ -38,6 +38,8 @@ else
${WORK_PATH}/vmlinux-to-bzImage.sh "${TMP_PATH}/vmlinux-mod" "${MOD_ZIMAGE_FILE}" >"${LOG_FILE}" 2>&1 || exit 1 ${WORK_PATH}/vmlinux-to-bzImage.sh "${TMP_PATH}/vmlinux-mod" "${MOD_ZIMAGE_FILE}" >"${LOG_FILE}" 2>&1 || exit 1
fi fi
sync
echo -n "." echo -n "."
# Update HASH of new DSM zImage # Update HASH of new DSM zImage
HASH="$(sha256sum ${ORI_ZIMAGE_FILE} | awk '{print $1}')" HASH="$(sha256sum ${ORI_ZIMAGE_FILE} | awk '{print $1}')"

View File

@ -272,7 +272,7 @@ function resizeImg() {
INPUT_FILE="$(readlink -f "${INPUT_FILE}")" INPUT_FILE="$(readlink -f "${INPUT_FILE}")"
OUTPUT_FILE="$(readlink -f "${OUTPUT_FILE}")" OUTPUT_FILE="$(readlink -f "${OUTPUT_FILE}")"
SIZE=$(($(du -m "${INPUT_FILE}" 2>/dev/null | awk '{print $1}')$(echo "${CHANGE_SIZE}" | sed 's/M//g; s/b//g'))) SIZE=$(($(du -sm "${INPUT_FILE}" 2>/dev/null | awk '{print $1}')$(echo "${CHANGE_SIZE}" | sed 's/M//g; s/b//g')))
[ "${SIZE:-0}" -lt 0 ] && exit 1 [ "${SIZE:-0}" -lt 0 ] && exit 1
if [ ! "${INPUT_FILE}" = "${OUTPUT_FILE}" ]; then if [ ! "${INPUT_FILE}" = "${OUTPUT_FILE}" ]; then