Compare commits

...

11 Commits

Author SHA1 Message Date
github-actions[bot]
48f88daac9 update 2024-07-21 15:06:31 2024-07-21 15:06:31 +08:00
github-actions[bot]
55ac978dfd update 2024-07-21 14:52:55 2024-07-21 14:52:55 +08:00
Ing
304f5b1467 fix cmdlineMenu/synoinfoMenu, fix custom kernel for RR-CUSTOM 2024-07-21 14:38:06 +08:00
Ing
78bc34a449 mdify powersched by default 2024-07-21 13:11:46 +08:00
Ing
660fee3b7b add Memtest86+ 2024-07-21 13:06:16 +08:00
Ing
c5b92c328b fix something 2024-07-21 13:05:56 +08:00
Ing
f17f53e401 fix "SYNO_CTRL_HDD_POWERON.cold+0x1f/0x29" 2024-07-21 13:00:32 +08:00
Ing
d42a844c06
Merge pull request #1898 from RROrg/jet/pr/fix_nvidia
bugfix for nouveau affect nvidia hardware status
2024-07-21 11:15:28 +08:00
pdbear
b49caf28ce bugfix for nouveau affect nvidia hardware status 2024-07-21 03:03:35 +00:00
Ing
3a64e39569
Merge pull request #1897 from RROrg/jet/pr/fix_nvidia
bugfix for nouveau affect nvidia hardware status
2024-07-21 08:28:43 +08:00
pdbear
98d9f60fd6 bugfix for nouveau affect nvidia hardware status 2024-07-20 18:01:26 +00:00
34 changed files with 6163 additions and 6059 deletions

View File

@ -41,6 +41,7 @@ jobs:
language= ''
model = ''
version = ''
kernel = ''
addons = ''
modules = ''
try:
@ -51,6 +52,7 @@ jobs:
language = jsonbody.get('language', '')
model = jsonbody.get('model', '')
version = jsonbody.get('version', '')
kernel = jsonbody.get('kernel', '')
addons = jsonbody.get('addons', '')
modules = jsonbody.get('modules', '')
except ValueError as e:
@ -67,6 +69,7 @@ jobs:
set_output("language", language)
set_output("model", model)
set_output("version", version)
set_output("kernel", kernel)
set_output("addons", addons)
set_output("modules", modules)
@ -196,12 +199,26 @@ jobs:
exit 1
fi
if [ -n "${{ env.kernel }}" ]; then
echo -en "set kernel"
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
writeConfigKey "kernel" "${{ env.kernel }}" "${USER_CONFIG_FILE}"
echo ""
fi
sudo ./localbuild.sh config "${MODEL}" "${VERSION}"
if [ $? -ne 0 ]; then
echo "config failed"
exit 1
fi
if [ -n "${{ env.kernel }}" ]; then
echo -en "set kernel"
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
writeConfigKey "kernel" "${{ env.kernel }}" "${USER_CONFIG_FILE}"
echo ""
fi
if [ -n "${{ env.addons }}" ]; then
echo -en "set addons"
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
@ -214,7 +231,8 @@ jobs:
done
echo ""
fi
if [ -n "${{ env.modules }}" ]; then
if [ ! "custom" = "${{ env.kernel }}" ] && [ -n "${{ env.modules }}" ]; then
echo -en "set modules"
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
@ -250,9 +268,11 @@ jobs:
echo "" >> README.txt
echo "DSM:" >> README.txt
echo " MODEL: $(readConfigKey "model" "${USER_CONFIG_FILE}")" >> README.txt
echo " PATURL: $(readConfigKey "paturl" "${USER_CONFIG_FILE}")" >> README.txt
echo " PATSUM: $(readConfigKey "patsum" "${USER_CONFIG_FILE}")" >> README.txt
echo " MODEL: $(readConfigKey "model" "${USER_CONFIG_FILE}")" >> README.txt
echo " VERSION: $(readConfigKey "productver" "${USER_CONFIG_FILE}")" >> README.txt
echo " KERNEL: $(readConfigKey "kernel" "${USER_CONFIG_FILE}")" >> README.txt
echo " PATURL: $(readConfigKey "paturl" "${USER_CONFIG_FILE}")" >> README.txt
echo " PATSUM: $(readConfigKey "patsum" "${USER_CONFIG_FILE}")" >> README.txt
echo "" >> README.txt
echo "" >> README.txt

View File

@ -1 +1 @@
24.7.2
24.7.3

View File

@ -102,21 +102,21 @@
"cpuinfo": {
"system": false,
"description": {
"en_US": "Only make the control panel display the correct CPU information. (By default is automatically obtained, Or customized through parameters, e.g.: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ar_SA": "فقط جعل لوحة التحكم تعرض معلومات الـ CPU الصحيحة. (بشكل افتراضي يتم الحصول عليها تلقائيًا, أو تخصيصها من خلال المعلمات, على سبيل المثال: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"de_DE": "Nur die CPU-Informationen anzeigen, die richtig sind. (Standardmäßig werden diese automatisch ermittelt, oder sie können über die Parameter angepasst werden, z. B.: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"es_ES": "Hacer que el panel de control muestre la información correcta de la CPU. (Por defecto se obtiene automáticamente, o se personaliza a través de parámetros, por ejemplo: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"fr_FR": "Faites en sorte que le panneau de contrôle affiche les informations correctes du processeur. (Par défaut, elles sont obtenues automatiquement, ou personnalisées via des paramètres, par exemple: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ja_JP": "コントロールパネルに正しいCPU情報のみを表示します。(デフォルトでは自動的に取得されます。またはパラメータを使用してカスタマイズできます。例: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ko_KR": "컨트롤 패널이 올바른 CPU 정보만 표시되도록합니다. (기본적으로 자동으로 가져오거나 매개 변수를 통해 사용자 정의 할 수 있습니다. 예: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ru_RU": "Только панель управления отображает правильную информацию о процессоре. (По умолчанию она автоматически получается, или настраивается через параметры, например: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"th_TH": "ทำให้หน้าจอควบคุมแสดงข้อมูล CPU ที่ถูกต้องเท่านั้น (โดยค่าเริ่มต้นจะได้รับโดยอัตโนมัติ หรือปรับแต่งผ่านพารามิเตอร์ เช่น: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"tr_TR": "Yalnızca kontrol panelinin doğru CPU bilgilerini göstermesini sağlayın. (Varsayılan olarak otomatik olarak alınır veya parametreler aracılığıyla özelleştirilir, örneğin: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"uk_UA": "Тільки зробіть панель керування відображення правильної інформації про процесор. (За замовчуванням вона автоматично отримується, або налаштовується через параметри, наприклад: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"vi_VN": "Chỉ khiến bảng điều khiển hiển thị thông tin CPU chính xác. (Mặc định được tự động lấy, hoặc tùy chỉnh thông qua các tham số, ví dụ: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"zh_CN": "只让控制面板显示正确的CPU信息。(默认是自动获取的, 或通过参数自定义, 例如: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"zh_HK": "只讓控制面板顯示正確的CPU信息。(默認是自動獲取的, 或通過參數自定義, 例如: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"zh_TW": "只讓控制面板顯示正確的CPU信息。(默認是自動獲取的, 或通過參數自定義, 例如: --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)"
"en_US": "Only make the control panel display the correct CPU information. (By default is automatically obtained, Or customized through parameters, e.g.: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ar_SA": "فقط جعل لوحة التحكم تعرض معلومات الـ CPU الصحيحة. (بشكل افتراضي يتم الحصول عليها تلقائيًا, أو تخصيصها من خلال المعلمات, على سبيل المثال: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"de_DE": "Nur die CPU-Informationen anzeigen, die richtig sind. (Standardmäßig werden diese automatisch ermittelt, oder sie können über die Parameter angepasst werden, z. B.: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"es_ES": "Hacer que el panel de control muestre la información correcta de la CPU. (Por defecto se obtiene automáticamente, o se personaliza a través de parámetros, por ejemplo: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"fr_FR": "Faites en sorte que le panneau de contrôle affiche les informations correctes du processeur. (Par défaut, elles sont obtenues automatiquement, ou personnalisées via des paramètres, par exemple: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ja_JP": "コントロールパネルに正しいCPU情報のみを表示します。(デフォルトでは自動的に取得されます。またはパラメータを使用してカスタマイズできます。例: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ko_KR": "컨트롤 패널이 올바른 CPU 정보만 표시되도록합니다. (기본적으로 자동으로 가져오거나 매개 변수를 통해 사용자 정의 할 수 있습니다. 예: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"ru_RU": "Только панель управления отображает правильную информацию о процессоре. (По умолчанию она автоматически получается, или настраивается через параметры, например: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"th_TH": "ทำให้หน้าจอควบคุมแสดงข้อมูล CPU ที่ถูกต้องเท่านั้น (โดยค่าเริ่มต้นจะได้รับโดยอัตโนมัติ หรือปรับแต่งผ่านพารามิเตอร์ เช่น: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"tr_TR": "Yalnızca kontrol panelinin doğru CPU bilgilerini göstermesini sağlayın. (Varsayılan olarak otomatik olarak alınır veya parametreler aracılığıyla özelleştirilir, örneğin: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"uk_UA": "Тільки зробіть панель керування відображення правильної інформації про процесор. (За замовчуванням вона автоматично отримується, або налаштовується через параметри, наприклад: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"vi_VN": "Chỉ khiến bảng điều khiển hiển thị thông tin CPU chính xác. (Mặc định được tự động lấy, hoặc tùy chỉnh thông qua các tham số, ví dụ: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"zh_CN": "只让控制面板显示正确的CPU信息。(默认是自动获取的, 或通过参数自定义, 例如: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"zh_HK": "只讓控制面板顯示正確的CPU信息。(默認是自動獲取的, 或通過參數自定義, 例如: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)",
"zh_TW": "只讓控制面板顯示正確的CPU信息。(默認是自動獲取的, 或通過參數自定義, 例如: -t 'on' --vendor 'Intel' --family 'Core i9' --series 'i7-13900ks' --cores 64 --speed 5200)"
}
},
"dbgutils": {

Binary file not shown.

View File

@ -65,6 +65,7 @@
$("#model").on("change", changeModel);
$("#version").on("change", changeVersion);
$("#language").on("change", changeVersion);
$("#kernel").on("change", chanageKernel);
$('#addons').val("acpid,mountloader,reboottoloader");
setModels();
});
@ -112,6 +113,7 @@
function changeVersion() {
createAddonsBtn();
createModulesBtn();
chanageKernel();
}
function createAddonsBtn() {
var language = $("#language").val();
@ -159,6 +161,24 @@
$('#modules').val(extstr.join(","));
}
}
function chanageKernel() {
var model = $("#model").val();
var version = $("#version").val();
var kernel = $("#kernel").val();
if (model == "SA6400" && version == "7.2") {
$("#kernel_item").show();
if (kernel == "custom") {
$('#modules_item').hide();
} else {
$('#modules_item').show();
}
} else {
$('#modules_item').show();
$("#kernel_item").hide();
}
}
function onclickext(type, ext) {
var btnobj = $("#btn_" + ext);
var extstr = $('#' + type).val().split(",");
@ -185,9 +205,10 @@
let formData = new FormData(form);
var title = "custom";
var body = {};
var _parameters = ["title", "format", "language", "model", "version", "addons", "modules"];
var _parameters = ["title", "format", "language", "model", "version", "kernel", "addons", "modules"];
for (var key in _parameters) {
var name = _parameters[key];
if ($("#" + name).is(":hidden")) { continue; }
if (name == "title") {
if ($("#" + name).val()) {
title += " " + $("#" + name).val();
@ -248,16 +269,17 @@
</marquee>
</div>
</div>
<div class="form-group mt-1 mb-2 ">
<div class="form-group mt-1 mb-2" id="title_item">
<div class="form-group-header">
<label class="color-fg-default text-mono f6">Title: (Please do not delete the "custom " in the title of the issue creation page.)</label>
<label class="color-fg-default text-mono f6">Title: (Please do not delete the "custom " in the title of
the issue creation page.)</label>
</div>
<div class="form-group-body">
<input class="form-control input-contrast input-sm" type="text" id="title" name="inputs[title]"
value="" />
</div>
</div>
<div class="form-group mt-1 mb-2 ">
<div class="form-group mt-1 mb-2" id="format_item">
<div class="form-group-header">
<label class="color-fg-default text-mono f6">Format:</label>
</div>
@ -271,7 +293,7 @@
</select>
</div>
</div>
<div class="form-group mt-1 mb-2 ">
<div class="form-group mt-1 mb-2" id="language_item">
<div class="form-group-header">
<label class="color-fg-default text-mono f6">Language:</label>
</div>
@ -296,7 +318,7 @@
</select>
</div>
</div>
<div class="form-group mt-1 mb-2 ">
<div class="form-group mt-1 mb-2" id="model_item">
<div class="form-group-header">
<label class="color-fg-default text-mono f6">Model:</label>
</div>
@ -307,7 +329,7 @@
</select>
</div>
</div>
<div class="form-group mt-1 mb-2 ">
<div class="form-group mt-1 mb-2" id="version_item">
<div class="form-group-header">
<label class="color-fg-default text-mono f6">Version:</label>
</div>
@ -318,7 +340,19 @@
</select>
</div>
</div>
<div class="form-group mt-1 mb-2 ">
<div class="form-group mt-1 mb-2" id="kernel_item">
<div class="form-group-header">
<label class="color-fg-default text-mono f6">Kernel: (only "custom" supports Hyper-V, Xen.)</label>
</div>
<div class="form-group-body">
<select class="form-select form-control select-sm input-contrast" id="kernel" name="inputs[kernel]"
value="">
<option selected="selected" value="official">official</option>
<option value="custom">custom</option>
</select>
</div>
</div>
<div class="form-group mt-1 mb-2" id="addons_item">
<div class="form-group-header">
<label class="color-fg-default text-mono f6">Addons:</label>
<a href="https://github.com/RROrg/rr/raw/main/docs/addons.xlsx"> Details</a>
@ -330,7 +364,7 @@
</div>
</div>
</div>
<div class="form-group mt-1 mb-2 ">
<div class="form-group mt-1 mb-2" id="modules_item">
<div class="form-group-header">
<label class="color-fg-default text-mono f6">Modules:</label>
<a href="https://github.com/RROrg/rr/raw/main/docs/modules.xlsx"> Details</a>

Binary file not shown.

Binary file not shown.

View File

@ -12,6 +12,19 @@ loaderIsConfigured || die "$(TEXT "Loader is not configured!")"
# Check if machine has EFI
[ -d /sys/firmware/efi ] && EFI=1 || EFI=0
# Proc open nvidia driver when booting
NVPCI_ADDR=$(lspci -nd 10de: | grep -e 0300 -e 0302 | awk '{print $1}')
if [ -n "${NVPCI_ADDR}" ]; then
modprobe -r nouveau || true
NVDEV_PATH=$(find /sys/devices -name *${NVPCI_ADDR} | grep -v supplier)
for DEV_PATH in ${NVDEV_PATH}
do
if [ -e ${DEV_PATH}/reset ]; then
echo 1 > ${DEV_PATH}/reset || true
fi
done
fi
BUS=$(getBus "${LOADER_DISK}")
# Print text centralized
@ -138,7 +151,7 @@ if [ "${DT}" = "true" ]; then
CMDLINE["syno_ttyS0"]="serial,0x3f8"
CMDLINE["syno_ttyS1"]="serial,0x2f8"
else
# CMDLINE["SMBusHddDynamicPower"]="1"
CMDLINE["SMBusHddDynamicPower"]="1"
CMDLINE["syno_hdd_detect"]="0"
CMDLINE["syno_hdd_powerup_seq"]="0"
fi
@ -304,7 +317,7 @@ else
[ -f "${TMP_PATH}/qrcode_qhxg.png" ] && echo | fbv -acufi "${TMP_PATH}/qrcode_qhxg.png" >/dev/null 2>/dev/null || true
fi
# Executes DSM kernel via KEXEC
# Executes DSM kernel via KEXEC
KEXECARGS=""
if [ $(echo "${KVER:-4}" | cut -d'.' -f1) -lt 4 ] && [ ${EFI} -eq 1 ]; then
echo -e "\033[1;33m$(TEXT "Warning, running kexec with --noefi param, strange things will happen!!")\033[0m"

View File

@ -22,7 +22,7 @@ function writeConfigKey() {
# Return Value
function readConfigKey() {
RESULT=$(yq eval '.'${1}' | explode(.)' "${2}" 2>/dev/null)
[ "${RESULT}" == "null" ] && echo "" || echo ${RESULT}
[ "${RESULT}" == "null" ] && echo "" || echo "${RESULT}"
}
###############################################################################

View File

@ -1,4 +1,4 @@
RR_VERSION="24.7.2"
RR_VERSION="24.7.3"
RR_RELEASE=""
RR_TITLE="RR v${RR_VERSION}"

View File

@ -61,6 +61,7 @@ initConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
initConfigKey "addons" "{}" "${USER_CONFIG_FILE}"
initConfigKey "addons.acpid" "" "${USER_CONFIG_FILE}"
initConfigKey "addons.mountloader" "" "${USER_CONFIG_FILE}"
initConfigKey "addons.powersched" "" "${USER_CONFIG_FILE}"
initConfigKey "addons.reboottoloader" "" "${USER_CONFIG_FILE}"
initConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
initConfigKey "modblacklist" "evbug,cdc_ether" "${USER_CONFIG_FILE}"

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

View File

@ -189,7 +189,6 @@ function modelMenu() {
done
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
writeConfigKey "kernel" "official" "${USER_CONFIG_FILE}"
# Remove old files
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}" >/dev/null 2>&1 || true
rm -f "${PART1_PATH}/grub_cksum.syno" "${PART1_PATH}/GRUB_VER" "${PART2_PATH}/"* >/dev/null 2>&1 || true
@ -328,9 +327,17 @@ function productversMenu() {
while IFS=': ' read KEY VALUE; do
writeConfigKey "synoinfo.\"${KEY}\"" "${VALUE}" "${USER_CONFIG_FILE}"
done <<<$(readConfigMap "platforms.${PLATFORM}.synoinfo" "${WORK_PATH}/platforms.yml")
# Check addons
KVER="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kver" "${WORK_PATH}/platforms.yml")"
KPRE="$(readConfigKey "platforms.${PLATFORM}.productvers.\"${PRODUCTVER}\".kpre" "${WORK_PATH}/platforms.yml")"
# Check kernel
if [ -f "${CKS_PATH}/bzImage-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.gz" ] &&
[ -f "${CKS_PATH}/modules-${PLATFORM}-$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}.tgz" ]; then
:
else
KERNEL='official'
writeConfigKey "kernel" "${KERNEL}" "${USER_CONFIG_FILE}"
fi
# Check addons
while IFS=': ' read ADDON PARAM; do
[ -z "${ADDON}" ] && continue
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "$([ -n "${KPRE}" ] && echo "${KPRE}-")${KVER}"; then
@ -884,13 +891,24 @@ function cmdlineMenu() {
MSG+="$(TEXT " * \Z4apparmor.mode=complain\Zn\n Set the AppArmor security module to complain mode.\n")"
MSG+="$(TEXT " * \Z4pci=nommconf\Zn\n Disable the use of Memory-Mapped Configuration for PCI devices(use this parameter cautiously).\n")"
MSG+="$(TEXT " * \Z4consoleblank=300\Zn\n Set the console to auto turnoff display 300 seconds after no activity (measured in seconds).\n")"
MSG+="$(TEXT "\nEnter the parameter name and value you need to add.\n")"
LINENUM=$(($(echo -e "${MSG}" | wc -l) + 10))
RET=0
MSG+="$(TEXT "Please enter the parameter key and value you need to add.\n")"
LINENUM=0
while read -r line; do LINENUM=$((LINENUM + 1 + ${#line} / 96)); done <<<"$(printf "${MSG}")" # When the width is 100, each line displays 96 characters.
LINENUM=$((${LINENUM:-0} + 9)) # When there are 2 parameters, 9 is the minimum value to include 1 line of MSG.
dialog --print-maxsize 2>"${TMP_PATH}/maxsize"
DIALOG_MAXX=$(cat "${TMP_PATH}/maxsize" 2>/dev/null | grep "MaxSize" | awk -F: '{print $2}' | cut -d, -f2 | xargs)
DIALOG_MAXY=$(cat "${TMP_PATH}/maxsize" 2>/dev/null | grep "MaxSize" | awk -F: '{print $2}' | cut -d, -f1 | xargs)
if [ ${LINENUM:-0} -ge ${DIALOG_MAXY:-0} ]; then
MSG="$(TEXT "Please enter the parameter key and value you need to add.\n")"
LINENUM=9
fi
while true; do
[ ${RET} -eq 255 ] && MSG="$(TEXT "Commonly used cmdlines:\n")"
DIALOG --title "$(TEXT "Cmdline")" \
--form "${MSG}" ${LINENUM:-16} 100 2 "Name:" 1 1 "" 1 10 85 0 "Value:" 2 1 "" 2 10 85 0 \
--form "${MSG}" ${LINENUM:-9} 100 2 "Name:" 1 1 "" 1 10 85 0 "Value:" 2 1 "" 2 10 85 0 \
2>"${TMP_PATH}/resp"
RET=$?
case ${RET} in
@ -909,7 +927,7 @@ function cmdlineMenu() {
break
;;
255) # ESC
# break
break
;;
esac
done
@ -1020,13 +1038,24 @@ function synoinfoMenu() {
MSG+="$(TEXT " * \Z4esataportcfg=0x????\Zn\n Esata disks mask(Not apply to DT models).\n")"
MSG+="$(TEXT " * \Z4usbportcfg=0x????\Zn\n USB disks mask(Not apply to DT models).\n")"
MSG+="$(TEXT " * \Z4max_sys_raid_disks=12\Zn\n Maximum number of system partition(md0) raid disks.\n")"
MSG+="$(TEXT "\nEnter the parameter name and value you need to add.\n")"
LINENUM=$(($(echo -e "${MSG}" | wc -l) + 10))
RET=0
MSG="$(TEXT "Please enter the parameter key and value you need to add.\n")"
LINENUM=0
while read -r line; do LINENUM=$((LINENUM + 1 + ${#line} / 96)); done <<<"$(printf "${MSG}")" # When the width is 100, each line displays 96 characters.
LINENUM=$((${LINENUM:-0} + 9)) # When there are 2 parameters, 9 is the minimum value to include 1 line of MSG.
dialog --print-maxsize 2>"${TMP_PATH}/maxsize"
DIALOG_MAXX=$(cat "${TMP_PATH}/maxsize" 2>/dev/null | grep "MaxSize" | awk -F: '{print $2}' | cut -d, -f2 | xargs)
DIALOG_MAXY=$(cat "${TMP_PATH}/maxsize" 2>/dev/null | grep "MaxSize" | awk -F: '{print $2}' | cut -d, -f1 | xargs)
if [ ${LINENUM:-0} -ge ${DIALOG_MAXY:-0} ]; then
MSG="$(TEXT "Please enter the parameter key and value you need to add.\n")"
LINENUM=9
fi
while true; do
[ ${RET} -eq 255 ] && MSG="$(TEXT "Commonly used synoinfo:\n")"
DIALOG --title "$(TEXT "Synoinfo")" \
--form "${MSG}" ${LINENUM:-16} 100 2 "Name:" 1 1 "" 1 10 85 0 "Value:" 2 1 "" 2 10 85 0 \
--form "${MSG}" ${LINENUM:-9} 100 2 "Name:" 1 1 "" 1 10 85 0 "Value:" 2 1 "" 2 10 85 0 \
2>"${TMP_PATH}/resp"
RET=$?
case ${RET} in
@ -1046,7 +1075,7 @@ function synoinfoMenu() {
break
;;
255) # ESC
# break
break
;;
esac
done
@ -2319,7 +2348,7 @@ function advancedMenu() {
echo "i \"$(TEXT "Timeout of get ip in boot:") \Z4${BOOTIPWAIT}\Zn\"" >>"${TMP_PATH}/menu"
echo "w \"$(TEXT "Timeout of boot wait:") \Z4${BOOTWAIT}\Zn\"" >>"${TMP_PATH}/menu"
echo "k \"$(TEXT "kernel switching method:") \Z4${KERNELWAY}\Zn\"" >>"${TMP_PATH}/menu"
if false; then # Some GPU have compatibility issues, so this function is temporarily disabled. RR_CMDLINE= ... nomodeset
if false; then # Some GPU have compatibility issues, so this function is temporarily disabled. RR_CMDLINE= ... nomodeset
checkCmdline "rr_cmdline" "nomodeset" && POWEROFFDISPLAY="false" || POWEROFFDISPLAY="true"
echo "7 \"$(TEXT "Power off display after boot: ") \Z4${POWEROFFDISPLAY}\Zn\"" >>"${TMP_PATH}/menu"
fi

View File

@ -26,6 +26,7 @@ platforms:
- "x2apic"
synoinfo:
<<: *synoinfo
HddEnableDynamicPower: "no"
productvers:
"7.0":
kver: "4.4.180"

View File

@ -1 +1 @@
24.7.2
24.7.3

View File

@ -137,3 +137,8 @@ else
configfile ${prefix}/grub.cfg
}
fi
menuentry 'Start Memtest86+' --id memtest {
echo "Loading memtest86+..."
linux ${prefix}/memtest
}

Binary file not shown.

View File

@ -2,7 +2,7 @@
# ENV:
* ### 常用工具:
* telnet 工具 putty (下载: https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)
* ssh 工具 FinalShell (下载: https://www.hostbuf.com/t/988.html)
* ssh 工具 WindTerm (下载: https://github.com/kingToolbox/WindTerm)
* sftp 工具 WinSCP (下载: https://winscp.net/eng/index.php)
* 文本编辑工具 Notepad3 (下载: https://github.com/rizonesoft/Notepad3/releases)
* 镜像写盘工具 Rufus (下载: https://rufus.ie/zh/)

View File

@ -3,6 +3,7 @@ replace:
"files/mnt/p1/RR_VERSION": "/mnt/p1/RR_VERSION"
"files/mnt/p1/boot/grub/grub.cfg": "/mnt/p1/boot/grub/grub.cfg"
"files/mnt/p1/boot/grub/logo.png": "/mnt/p1/boot/grub/logo.png"
"files/mnt/p1/boot/grub/memtest": "/mnt/p1/boot/grub/memtest"
"files/mnt/p1/EFI/BOOT/SynoBootLoader.conf": "/mnt/p1/EFI/BOOT/SynoBootLoader.conf"
"files/mnt/p1/EFI/BOOT/SynoBootLoader.efi": "/mnt/p1/EFI/BOOT/SynoBootLoader.efi"
"files/mnt/p3/bzImage-rr": "/mnt/p3/bzImage-rr"