mirror of
https://github.com/RROrg/rr.git
synced 2025-08-25 05:57:34 +08:00
Compare commits
3 Commits
7b4bb1a9f4
...
98ddaa3a75
Author | SHA1 | Date | |
---|---|---|---|
|
98ddaa3a75 | ||
|
ffb64ffa71 | ||
|
5ae9098c11 |
@ -42,21 +42,21 @@
|
||||
"beep": {
|
||||
"system": false,
|
||||
"description": {
|
||||
"en_US": "Beep at startup and shutdown (requires motherboard with buzzer)",
|
||||
"ar_SA": "صد الصوت عند بدء التشغيل والإغلاق (يتطلب لوحة أم تحتوي على جرس)",
|
||||
"de_DE": "Beim Starten und Herunterfahren piepen (erfordert Mainboard mit Summer)",
|
||||
"es_ES": "Pitido al inicio y apagado (requiere placa base con zumbador)",
|
||||
"fr_FR": "Bip au démarrage et à l'arrêt (nécessite une carte mère avec buzzer)",
|
||||
"ja_JP": "起動時にブザーを鳴らす(ブザーを備えたマザーボードが必要)",
|
||||
"ko_KR": "시작 및 종료시 소리 울리기(부저가 있는 메인보드 필요)",
|
||||
"ru_RU": "при запуске и выключении пищать (требуется материнская плата с зуммером)",
|
||||
"th_TH": "เสียงเบี๊ยวเมื่อเริ่มต้นและปิดเครื่อง (ต้องใช้เมนบอร์ดที่มีเสียงเบี๊ยว)",
|
||||
"tr_TR": "Başlangıç ve kapanışta bip sesi çal (ana kartta hoparlör gerektirir)",
|
||||
"uk_UA": "при запуску та вимкненні пищати (потрібна материнська плата з динаміком)",
|
||||
"vi_VN": "Phát ra tiếng bíp khi khởi động và tắt máy (yêu cầu bo mạch chủ có loa)",
|
||||
"zh_CN": "在启动和关机时发出哔声(需要主板有蜂鸣器)",
|
||||
"zh_HK": "在啟動和關機時發出哔聲(需要主機有蜂鳴器)",
|
||||
"zh_TW": "在啟動和關機時發出哔聲(需要主機有蜂鳴器)"
|
||||
"en_US": "Beep at startup and shutdown (requires motherboard with buzzer) Parameters: -m : Mario at startup and AxelF at shutdown",
|
||||
"ar_SA": "صد الصوت عند بدء التشغيل والإغلاق (يتطلب لوحة أم تحتوي على جرس) المعلمات: -m : ماريو عند بدء التشغيل و AxelF عند الإغلاق",
|
||||
"de_DE": "Beim Starten und Herunterfahren piepen (erfordert Mainboard mit Summer) Parameter: -m : Mario beim Starten und AxelF beim Herunterfahren",
|
||||
"es_ES": "Pitido al inicio y apagado (requiere placa base con zumbador) Parámetros: -m : Mario al inicio y AxelF al apagado",
|
||||
"fr_FR": "Bip au démarrage et à l'arrêt (nécessite une carte mère avec buzzer) Paramètres: -m : Mario au démarrage et AxelF à l'arrêt",
|
||||
"ja_JP": "起動時にブザーを鳴らす(ブザーを備えたマザーボードが必要) パラメータ: -m : 起動時にマリオ、シャットダウン時にAxelF",
|
||||
"ko_KR": "시작 및 종료시 소리 울리기(부저가 있는 메인보드 필요) 매개변수: -m : 시작시 Mario 및 종료시 AxelF",
|
||||
"ru_RU": "при запуске и выключении пищать (требуется материнская плата с зуммером) Параметры: -m : Mario при запуске и AxelF при выключении",
|
||||
"th_TH": "เสียงเบี๊ยวเมื่อเริ่มต้นและปิดเครื่อง (ต้องใช้เมนบอร์ดที่มีเสียงเบี๊ยว) พารามิเตอร์: -m : Mario เมื่อเริ่มต้นและ AxelF เมื่อปิดเครื่อง",
|
||||
"tr_TR": "Başlangıç ve kapanışta bip sesi çal (ana kartta hoparlör gerektirir) Parametreler: -m : Başlangıçta Mario ve kapanışta AxelF",
|
||||
"uk_UA": "при запуску та вимкненні пищати (потрібна материнська плата з динаміком) Параметри: -m : Mario при запуску та AxelF при вимкненні",
|
||||
"vi_VN": "Phát ra tiếng bíp khi khởi động và tắt máy (yêu cầu bo mạch chủ có loa) Tham số: -m : Mario khi khởi động và AxelF khi tắt máy",
|
||||
"zh_CN": "在启动和关机时发出哔声(需要主板有蜂鸣器) 参数: -m : 开机 Mario 和 关机 AxelF",
|
||||
"zh_HK": "在啟動和關機時發出哔聲(需要主機有蜂鳴器) 參數: -m : 開機 Mario 和 關機 AxelF",
|
||||
"zh_TW": "在啟動和關機時發出哔聲(需要主機有蜂鳴器) 參數: -m : 開機 Mario 和 關機 AxelF"
|
||||
}
|
||||
},
|
||||
"bootwait": {
|
||||
|
BIN
docs/addons.xlsx
BIN
docs/addons.xlsx
Binary file not shown.
BIN
docs/models.xlsx
BIN
docs/models.xlsx
Binary file not shown.
@ -2094,6 +2094,10 @@
|
||||
"description": "Montage Technology TS2020 - Silicon tuner driver module",
|
||||
"depends": "regmap-i2c"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"uhci-hcd": {
|
||||
"description": "USB Universal Host Controller Interface driver",
|
||||
"depends": "usbcore"
|
||||
@ -4186,6 +4190,10 @@
|
||||
"description": "Montage Technology TS2020 - Silicon tuner driver module",
|
||||
"depends": "regmap-i2c"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"uhci-hcd": {
|
||||
"description": "USB Universal Host Controller Interface driver",
|
||||
"depends": "usbcore"
|
||||
@ -6262,6 +6270,10 @@
|
||||
"description": "Montage Technology TS2020 - Silicon tuner driver module",
|
||||
"depends": "regmap-i2c"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"uhci-hcd": {
|
||||
"description": "USB Universal Host Controller Interface driver",
|
||||
"depends": "usbcore"
|
||||
@ -8338,6 +8350,10 @@
|
||||
"description": "Montage Technology TS2020 - Silicon tuner driver module",
|
||||
"depends": "regmap-i2c"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"uhci-hcd": {
|
||||
"description": "USB Universal Host Controller Interface driver",
|
||||
"depends": "usbcore"
|
||||
@ -10434,6 +10450,10 @@
|
||||
"description": "Montage Technology TS2020 - Silicon tuner driver module",
|
||||
"depends": "regmap-i2c"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"uhci-hcd": {
|
||||
"description": "USB Universal Host Controller Interface driver",
|
||||
"depends": "usbcore"
|
||||
@ -12534,6 +12554,10 @@
|
||||
"description": "Montage Technology TS2020 - Silicon tuner driver module",
|
||||
"depends": "regmap-i2c"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"usbnet": {
|
||||
"description": "USB network driver framework",
|
||||
"depends": "usbcore,mii"
|
||||
@ -13964,6 +13988,10 @@
|
||||
"description": "TTM memory manager subsystem (for DRM device)",
|
||||
"depends": "dmabuf,drm"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"typec": {
|
||||
"description": "USB Type-C Connector Class",
|
||||
"depends": ""
|
||||
@ -15526,6 +15554,10 @@
|
||||
"description": "TTM memory manager subsystem (for DRM device)",
|
||||
"depends": "dmabuf,drm"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"typec": {
|
||||
"description": "USB Type-C Connector Class",
|
||||
"depends": ""
|
||||
@ -17823,6 +17855,10 @@
|
||||
"description": "Montage Technology TS2020 - Silicon tuner driver module",
|
||||
"depends": "regmap-i2c"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"uhci-hcd": {
|
||||
"description": "USB Universal Host Controller Interface driver",
|
||||
"depends": "usbcore"
|
||||
@ -19951,6 +19987,10 @@
|
||||
"description": "Montage Technology TS2020 - Silicon tuner driver module",
|
||||
"depends": "regmap-i2c"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"usbnet": {
|
||||
"description": "USB network driver framework",
|
||||
"depends": "usbcore,mii"
|
||||
@ -22099,6 +22139,10 @@
|
||||
"description": "Montage Technology TS2020 - Silicon tuner driver module",
|
||||
"depends": "regmap-i2c"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"usbnet": {
|
||||
"description": "USB network driver framework",
|
||||
"depends": "usbcore,mii"
|
||||
@ -24271,6 +24315,10 @@
|
||||
"description": "Montage Technology TS2020 - Silicon tuner driver module",
|
||||
"depends": "regmap-i2c"
|
||||
},
|
||||
"tty0tty": {
|
||||
"description": "tty0tty null modem driver",
|
||||
"depends": ""
|
||||
},
|
||||
"usbnet": {
|
||||
"description": "USB network driver framework",
|
||||
"depends": "mii"
|
||||
|
Binary file not shown.
BIN
docs/pats.xlsx
BIN
docs/pats.xlsx
Binary file not shown.
@ -68,6 +68,7 @@ DT="$(readConfigKey "platforms.${PLATFORM}.dt" "${WORK_PATH}/platforms.yml")"
|
||||
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
|
||||
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
|
||||
|
||||
MEV="$(virt-what 2>/dev/null)"
|
||||
DMI="$(dmesg 2>/dev/null | grep -i "DMI:" | head -1 | sed 's/\[.*\] DMI: //i')"
|
||||
CPU="$(awk -F': ' '/model name/ {print $2}' /proc/cpuinfo | uniq)"
|
||||
MEM="$(awk '/MemTotal:/ {printf "%.0f", $2 / 1024}' /proc/meminfo) MB"
|
||||
@ -76,6 +77,7 @@ printf "%s \033[1;36m%s(%s)\033[0m\n" "$(TEXT "Model: ")" "${MODEL}" "${PLATFO
|
||||
printf "%s \033[1;36m%s(%s%s)\033[0m\n" "$(TEXT "Version: ")" "${PRODUCTVER}" "${BUILDNUM}" "$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}")"
|
||||
printf "%s \033[1;36m%s\033[0m\n" "$(TEXT "Kernel: ")" "${KERNEL}"
|
||||
printf "%s \033[1;36m%s\033[0m\n" "$(TEXT "LKM: ")" "${LKM}"
|
||||
printf "%s \033[1;36m%s\033[0m\n" "$(TEXT "MEV: ")" "${MEV:-physical}"
|
||||
printf "%s \033[1;36m%s\033[0m\n" "$(TEXT "DMI: ")" "${DMI}"
|
||||
printf "%s \033[1;36m%s\033[0m\n" "$(TEXT "CPU: ")" "${CPU}"
|
||||
printf "%s \033[1;36m%s\033[0m\n" "$(TEXT "MEM: ")" "${MEM}"
|
||||
@ -178,6 +180,7 @@ CMDLINE['pcie_aspm']="off"
|
||||
# CMDLINE['nox2apic']="" # check platform
|
||||
# CMDLINE['nomodeset']=""
|
||||
CMDLINE['modprobe.blacklist']="${MODBLACKLIST}"
|
||||
CMDLINE['mev']="${MEV:-physical}"
|
||||
|
||||
if echo "apollolake geminilake purley" | grep -wq "${PLATFORM}"; then
|
||||
CMDLINE["nox2apic"]=""
|
||||
@ -266,6 +269,7 @@ if [ "${DIRECT}" = "true" ]; then
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_version="${PRODUCTVER}(${BUILDNUM}$([ ${SMALLNUM:-0} -ne 0 ] && echo "u${SMALLNUM}"))"
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_kernel="${KERNEL}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set dsm_lkm="${LKM}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set sys_mev="${MEV:-physical}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set sys_dmi="${DMI}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set sys_cpu="${CPU}"
|
||||
grub-editenv ${USER_GRUBENVFILE} set sys_mem="${MEM}"
|
||||
@ -285,6 +289,7 @@ else
|
||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_version
|
||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_kernel
|
||||
grub-editenv ${USER_GRUBENVFILE} unset dsm_lkm
|
||||
grub-editenv ${USER_GRUBENVFILE} unset sys_mev
|
||||
grub-editenv ${USER_GRUBENVFILE} unset sys_dmi
|
||||
grub-editenv ${USER_GRUBENVFILE} unset sys_cpu
|
||||
grub-editenv ${USER_GRUBENVFILE} unset sys_mem
|
||||
|
@ -1,4 +1,4 @@
|
||||
RR_VERSION="24.11.12"
|
||||
RR_VERSION="24.11.13"
|
||||
RR_RELEASE=""
|
||||
RR_TITLE="RR v${RR_VERSION}"
|
||||
|
||||
|
@ -215,7 +215,7 @@ function _get_fastest() {
|
||||
speedlist+="${I} ${speed:-999}\n" # Assign default value 999 if speed is empty
|
||||
done
|
||||
fi
|
||||
local fastest="$(echo -e "${speedlist}" | tr -s '\n' | grep -v '999$' | sort -k2n | head -1)"
|
||||
local fastest="$(echo -e "${speedlist}" | tr -s '\n' | awk '$2 != "999"' | sort -k2n | head -1)"
|
||||
URL="$(echo "${fastest}" | awk '{print $1}')"
|
||||
SPD="$(echo "${fastest}" | awk '{print $2}')" # It is a float type
|
||||
echo "${URL:-${1}}"
|
||||
@ -438,6 +438,17 @@ function findDSMRoot() {
|
||||
return 0
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# check and fix the DSM root partition
|
||||
# 1 - DSM root path
|
||||
function fixDSMRootPart() {
|
||||
if mdadm --detail "${1}" 2>/dev/null | grep -i "State" | grep -iEq "active|FAILED|Not Started"; then
|
||||
mdadm --stop "${1}" >/dev/null 2>&1
|
||||
mdadm --assemble --scan >/dev/null 2>&1
|
||||
fsck "${1}" >/dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Copy DSM files to the boot partition
|
||||
# 1 - DSM root path
|
||||
|
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
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
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -1519,8 +1519,7 @@ function showDisksInfo() {
|
||||
MSG+="\Zb${NAME}\Zn\nPorts: "
|
||||
PORTS=$(ls -l /sys/class/scsi_host 2>/dev/null | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n)
|
||||
for P in ${PORTS}; do
|
||||
if lsscsi -b 2>/dev/null | grep -v - | grep -q "\[${P}:"; then
|
||||
DUMMY="$([ "$(cat /sys/class/scsi_host/host${P}/ahci_port_cmd 2>/dev/null)" = "0" ] && echo 1 || echo 2)"
|
||||
if lsscsi -bS 2>/dev/null | awk '$3 != "0"' | grep -v - | grep -q "\[${P}:"; then
|
||||
if [ "$(cat /sys/class/scsi_host/host${P}/ahci_port_cmd 2>/dev/null)" = "0" ]; then
|
||||
MSG+="\Z1$(printf "%02d" ${P})\Zn "
|
||||
else
|
||||
@ -1537,16 +1536,16 @@ function showDisksInfo() {
|
||||
for PCI in $(lspci -d ::104 2>/dev/null | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/scsi_host 2>/dev/null | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b 2>/dev/null | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
PORTNUM=$(lsscsi -bS 2>/dev/null | awk '$3 != "0"' | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
[ ${PORTNUM} -eq 0 ] && continue
|
||||
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||
done
|
||||
[ $(lspci -d ::107 2>/dev/null | wc -l) -gt 0 ] && MSG+="\nSerial Attached SCSI:\n"
|
||||
[ $(lspci -d ::107 2>/dev/null | wc -l) -gt 0 ] && MSG+="\nSAS:\n"
|
||||
for PCI in $(lspci -d ::107 2>/dev/null | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/scsi_host 2>/dev/null | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b 2>/dev/null | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
PORTNUM=$(lsscsi -bS 2>/dev/null | awk '$3 != "0"' | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
[ ${PORTNUM} -eq 0 ] && continue
|
||||
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||
@ -1571,12 +1570,12 @@ function showDisksInfo() {
|
||||
for PCI in $(lspci -d ::c03 2>/dev/null | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/scsi_host 2>/dev/null | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/host//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b 2>/dev/null | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
PORTNUM=$(lsscsi -bS 2>/dev/null | awk '$3 != "0"' | grep -v - | grep "\[${PORT}:" | wc -l)
|
||||
[ ${PORTNUM} -eq 0 ] && continue
|
||||
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||
done
|
||||
[ $(ls -l /sys/class/mmc_host 2>/dev/null | grep mmc_host | wc -l) -gt 0 ] && MSG+="\nMMC:\n"
|
||||
[ $(ls -l /sys/block/mmc* | wc -l) -gt 0 ] && MSG+="\nMMC:\n"
|
||||
for PCI in $(lspci -d ::805 2>/dev/null | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
||||
PORTNUM=$(ls -l /sys/block/mmc* 2>/dev/null | grep "${PCI}" | wc -l)
|
||||
@ -1588,7 +1587,7 @@ function showDisksInfo() {
|
||||
for PCI in $(lspci -d ::108 2>/dev/null | awk '{print $1}'); do
|
||||
NAME=$(lspci -s "${PCI}" 2>/dev/null | sed "s/\ .*://")
|
||||
PORT=$(ls -l /sys/class/nvme 2>/dev/null | grep "${PCI}" | awk -F'/' '{print $NF}' | sed 's/nvme//' | sort -n)
|
||||
PORTNUM=$(lsscsi -b 2>/dev/null | grep -v - | grep "\[N:${PORT}:" | wc -l)
|
||||
PORTNUM=$(lsscsi -bS 2>/dev/null | awk '$3 != "0"' | grep -v - | grep "\[N:${PORT}:" | wc -l)
|
||||
[ ${PORTNUM} -eq 0 ] && continue
|
||||
MSG+="\Zb${NAME}\Zn\nNumber: ${PORTNUM}\n"
|
||||
NUMPORTS=$((${NUMPORTS} + ${PORTNUM}))
|
||||
@ -1643,7 +1642,7 @@ function MountDSMVolume {
|
||||
function formatDisks() {
|
||||
rm -f "${TMP_PATH}/opts"
|
||||
while read -r KNAME ID SIZE TYPE PKNAME; do
|
||||
[ "${KNAME}" = "N/A" ] && continue
|
||||
[ "${KNAME}" = "N/A" ] || [ "${SIZE:0:1}" = "0" ] && continue
|
||||
[ "${KNAME:0:7}" = "/dev/md" ] && continue
|
||||
[ "${KNAME}" = "${LOADER_DISK}" ] || [ "${PKNAME}" = "${LOADER_DISK}" ] && continue
|
||||
printf "\"%s\" \"%-6s %-4s %s\" \"off\"\n" "${KNAME}" "${SIZE}" "${TYPE}" "${ID}" >>"${TMP_PATH}/opts"
|
||||
@ -1732,6 +1731,7 @@ function allowDSMDowngrade() {
|
||||
(
|
||||
mkdir -p "${TMP_PATH}/mdX"
|
||||
for I in ${DSMROOTS}; do
|
||||
fixDSMRootPart "${I}"
|
||||
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||
[ $? -ne 0 ] && continue
|
||||
rm -f "${TMP_PATH}/mdX/etc/VERSION" "${TMP_PATH}/mdX/etc.defaults/VERSION"
|
||||
@ -1762,6 +1762,7 @@ function resetDSMPassword() {
|
||||
rm -f "${TMP_PATH}/menu"
|
||||
mkdir -p "${TMP_PATH}/mdX"
|
||||
for I in ${DSMROOTS}; do
|
||||
fixDSMRootPart "${I}"
|
||||
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||
[ $? -ne 0 ] && continue
|
||||
if [ -f "${TMP_PATH}/mdX/etc/shadow" ]; then
|
||||
@ -1806,6 +1807,7 @@ function resetDSMPassword() {
|
||||
# local NEWPASSWD="$(echo "${VALUE}" | mkpasswd -m sha512)"
|
||||
local NEWPASSWD="$(openssl passwd -6 -salt $(openssl rand -hex 8) "${VALUE}")"
|
||||
for I in ${DSMROOTS}; do
|
||||
fixDSMRootPart "${I}"
|
||||
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||
[ $? -ne 0 ] && continue
|
||||
sed -i "s|^${USER}:[^:]*|${USER}:${NEWPASSWD}|" "${TMP_PATH}/mdX/etc/shadow"
|
||||
@ -1851,6 +1853,7 @@ function addNewDSMUser() {
|
||||
|
||||
mkdir -p "${TMP_PATH}/mdX"
|
||||
for I in ${DSMROOTS}; do
|
||||
fixDSMRootPart "${I}"
|
||||
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||
[ $? -ne 0 ] && continue
|
||||
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then
|
||||
@ -1891,6 +1894,7 @@ function forceEnableDSMTelnetSSH() {
|
||||
ONBOOTUP="${ONBOOTUP}echo \"DELETE FROM task WHERE task_name LIKE ''RRONBOOTUPRR_SSH'';\" | sqlite3 /usr/syno/etc/esynoscheduler/esynoscheduler.db\n"
|
||||
mkdir -p "${TMP_PATH}/mdX"
|
||||
for I in ${DSMROOTS}; do
|
||||
fixDSMRootPart "${I}"
|
||||
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||
[ $? -ne 0 ] && continue
|
||||
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then
|
||||
@ -1933,6 +1937,7 @@ function removeBlockIPDB {
|
||||
(
|
||||
mkdir -p "${TMP_PATH}/mdX"
|
||||
for I in ${DSMROOTS}; do
|
||||
fixDSMRootPart "${I}"
|
||||
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||
[ $? -ne 0 ] && continue
|
||||
rm -f "${TMP_PATH}/mdX/etc/synoautoblock.db"
|
||||
@ -1964,6 +1969,7 @@ function disablescheduledTasks {
|
||||
(
|
||||
mkdir -p "${TMP_PATH}/mdX"
|
||||
for I in ${DSMROOTS}; do
|
||||
fixDSMRootPart "${I}"
|
||||
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||
[ $? -ne 0 ] && continue
|
||||
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then
|
||||
@ -2003,6 +2009,7 @@ function initDSMNetwork {
|
||||
(
|
||||
mkdir -p "${TMP_PATH}/mdX"
|
||||
for I in ${DSMROOTS}; do
|
||||
fixDSMRootPart "${I}"
|
||||
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||
[ $? -ne 0 ] && continue
|
||||
rm -f "${TMP_PATH}/mdX/etc/sysconfig/network-scripts/ifcfg-bond"* "${TMP_PATH}/mdX/etc/sysconfig/network-scripts/ifcfg-eth"*
|
||||
@ -2128,14 +2135,16 @@ function tryRecoveryDSM() {
|
||||
DIALOG --title "$(TEXT "Settings")" \
|
||||
--infobox "$(TEXT "Trying to recover an installed DSM system ...")" 0 0
|
||||
DSMROOTS="$(findDSMRoot)"
|
||||
if [ -z "${DSMROOTS}" ]; then
|
||||
DSMROOTPART="$(echo "${DSMROOTS}" | head -n 1 | cut -d' ' -f1)"
|
||||
if [ -z "${DSMROOTPART}" ]; then
|
||||
DIALOG --title "$(TEXT "Settings")" \
|
||||
--msgbox "$(TEXT "No DSM system partition(md0) found!\nPlease insert all disks before continuing.")" 0 0
|
||||
return
|
||||
fi
|
||||
|
||||
|
||||
mkdir -p "${TMP_PATH}/mdX"
|
||||
mount -t ext4 "$(echo "${DSMROOTS}" | head -n 1 | cut -d' ' -f1)" "${TMP_PATH}/mdX"
|
||||
fixDSMRootPart "${DSMROOTPART}"
|
||||
mount -t ext4 "${DSMROOTPART}" "${TMP_PATH}/mdX"
|
||||
if [ $? -ne 0 ]; then
|
||||
DIALOG --title "$(TEXT "Settings")" \
|
||||
--msgbox "$(TEXT "Mount DSM system partition(md0) failed!\nPlease insert all disks before continuing.")" 0 0
|
||||
@ -2359,6 +2368,7 @@ function reportBugs() {
|
||||
if [ -n "${DSMROOTS}" ]; then
|
||||
mkdir -p "${TMP_PATH}/mdX"
|
||||
for I in ${DSMROOTS}; do
|
||||
fixDSMRootPart "${I}"
|
||||
mount -t ext4 "${I}" "${TMP_PATH}/mdX"
|
||||
[ $? -ne 0 ] && continue
|
||||
mkdir -p "${TMP_PATH}/logs/md0/log"
|
||||
@ -3919,6 +3929,11 @@ function notepadMenu() {
|
||||
if [ $# -ge 1 ]; then
|
||||
$@
|
||||
else
|
||||
if [ -z "${MODEL}" ] && [ -z "${PRODUCTVER}" ] && [ -n "$(findDSMRoot)" ]; then
|
||||
DIALOG --title "$(TEXT "Main menu")" \
|
||||
--yesno "$(TEXT "An installed DSM system is detected on the hard disk. Do you want to try to restore it first?")" 0 0
|
||||
[ $? -eq 0 ] && tryRecoveryDSM
|
||||
fi
|
||||
# Main loop
|
||||
NEXT="m"
|
||||
[ -n "$(ls ${TMP_PATH}/pats/*.pat 2>/dev/null)" ] && NEXT="u"
|
||||
|
@ -1 +1 @@
|
||||
24.11.12
|
||||
24.11.13
|
||||
|
Loading…
x
Reference in New Issue
Block a user