Compare commits

...

34 Commits
25.6.0 ... main

Author SHA1 Message Date
github-actions[bot]
3320be7a16 update 2025-09-02 17:43:25 2025-09-02 17:43:25 +08:00
Ing
efd1d3d291 优化 curl 命令,强制使用 HTTP/1.1 以提高兼容性 2025-08-27 11:36:14 +08:00
Ing
bd5e688f7e Refactor code structure for improved readability and maintainability 2025-08-22 21:25:38 +08:00
Ing
f90478e426 修复输出值的转义问题 2025-08-22 09:10:09 +08:00
github-actions[bot]
ac588eff6c update 2025-08-22 16:24:07 2025-08-22 16:24:07 +08:00
github-actions[bot]
6618efbe45 update 2025-08-22 15:49:38 2025-08-22 15:49:38 +08:00
Ing
506451071d 添加 Tips 功能,更新相关文件以支持提示信息的显示和存储 2025-08-22 10:45:26 +08:00
Ing
84d7425912 添加 GPT 和 LVM 模块以支持分区和逻辑卷管理 2025-08-22 10:44:57 +08:00
github-actions[bot]
6f1b3fc9e3 update 2025-08-22 10:27:35 2025-08-22 10:27:35 +08:00
Ing
5c9d6a4eae 优化样式,调整元素对齐和间距,更新产品和标签展示 2025-08-05 17:28:40 +08:00
github-actions[bot]
58fe6a7b13 update 2025-08-04 19:48:36 2025-08-04 19:48:36 +08:00
github-actions[bot]
b24e3ca9b4 update 2025-08-04 19:08:06 2025-08-04 19:08:06 +08:00
Ing
303369f24d 添加 DS1525+ 设备的序列号配置 2025-07-26 16:13:11 +08:00
github-actions[bot]
6eb65cc14e update 2025-07-23 18:56:18 2025-07-23 18:56:18 +08:00
github-actions[bot]
065eaa3b28 update 2025-07-23 18:17:49 2025-07-23 18:17:49 +08:00
Ing
576f65e416 添加网卡驱动信息和配置命令 2025-07-23 17:51:20 +08:00
Ing
cfdcc5aa22 更新提示信息,添加关于跳过 md5 检查的说明 2025-07-23 14:16:18 +08:00
Ing
bc1209954f 优化 getIP 函数中的 IP 地址获取顺序 2025-07-22 16:58:00 +08:00
github-actions[bot]
888eef390a update 2025-06-11 18:23:13 2025-06-11 18:23:13 +08:00
github-actions[bot]
749d8e467e update 2025-06-11 17:41:43 2025-06-11 17:41:43 +08:00
github-actions[bot]
8c70aa4aa1 update 2025-06-06 17:11:44 2025-06-06 17:11:44 +08:00
github-actions[bot]
0f72d932b4 update 2025-06-06 16:36:26 2025-06-06 16:36:26 +08:00
Ing
7bf872272b 优化 grub.cfg,调整终端输出设置并简化 gfxmode 函数调用 2025-06-06 16:13:09 +08:00
github-actions[bot]
cdf0e65f7e update 2025-06-04 21:03:18 2025-06-04 21:03:18 +08:00
github-actions[bot]
3ddced11e1 update 2025-06-04 20:32:32 2025-06-04 20:32:32 +08:00
Ing
709e2f87e9 添加 thunderbolt 和 thunderbolt-net 模块到 ramdisk 2025-06-04 19:03:20 +08:00
Ing
654df8c06e 更新 resetDSMPassword 函数以重置 SecureSignIn 配置 2025-06-04 16:27:54 +08:00
Ing
cea8720380 添加 DS1825+ 设备的序列号 2025-06-04 16:15:21 +08:00
Ing
7ef526dfa6 优化 findDSMRoot 和 fixDSMRootPart 函数以兼容 btrfs 2025-06-04 16:15:03 +08:00
github-actions[bot]
f9d09c2bf5 update 2025-06-03 01:31:36 2025-06-03 01:31:36 +08:00
github-actions[bot]
95635a893e update 2025-06-03 00:59:03 2025-06-03 00:59:03 +08:00
github-actions[bot]
ff0ba9b340 update 2025-06-02 22:43:40 2025-06-02 22:43:40 +08:00
github-actions[bot]
a4e770e999 update 2025-06-02 22:03:24 2025-06-02 22:03:24 +08:00
github-actions[bot]
7daa08afe0 update 2025-06-01 21:17:40 2025-06-01 21:17:40 +08:00
38 changed files with 5439 additions and 4456 deletions

View File

@ -29,7 +29,9 @@ jobs:
# -*- coding: utf-8 -*-
import json, subprocess
def set_output(name, value):
subprocess.call(["echo '{}={}' >> $GITHUB_ENV".format(name, value)], shell=True)
subprocess.call(f'echo "{name}<<EOF" >> $GITHUB_ENV', shell=True)
subprocess.call(f'echo "{value}" >> $GITHUB_ENV', shell=True)
subprocess.call(f'echo "EOF" >> $GITHUB_ENV', shell=True)
issuetitle = ${{ toJSON(github.event.issue.title) }}
issuebody = ${{ toJSON(github.event.issue.body) }}
@ -43,6 +45,7 @@ jobs:
language= ''
sn = ''
macs = ''
tips = ''
model = ''
version = ''
kernel = ''
@ -58,6 +61,7 @@ jobs:
language = jsonbody.get('language', '')
sn = jsonbody.get('sn', '')
macs = jsonbody.get('macs', '')
tips = jsonbody.get('tips', '')
model = jsonbody.get('model', '')
version = jsonbody.get('version', '')
kernel = jsonbody.get('kernel', '')
@ -79,6 +83,7 @@ jobs:
set_output("language", language)
set_output("sn", sn)
set_output("macs", macs)
set_output("tips", tips)
set_output("model", model)
set_output("version", version)
set_output("kernel", kernel)
@ -248,7 +253,7 @@ jobs:
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
writeConfigKey "sn" "${{ env.sn }}" "${USER_CONFIG_FILE}"
fi
if [ -n "${{ env.macs }}" ]; then
echo "set macs: ${{ env.macs }}"
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
@ -257,6 +262,11 @@ jobs:
writeConfigKey "mac2" "${MACS[1]}" "${USER_CONFIG_FILE}"
fi
if [ -n "${{ env.tips }}" ]; then
echo "set tips: ${{ env.tips }}"
echo -e "${{ env.tips }}" | sudo tee rr/ws/mnt/p3/AddTips
fi
if [ -n "${{ env.addons }}" ]; then
echo "set addons: ${{ env.addons }}"
USER_CONFIG_FILE="rr/ws/mnt/p1/user-config.yml"
@ -415,14 +425,6 @@ jobs:
----
emoji: hooray
- name: Close Issues
if: env.iscustom == 'true' && success()
uses: actions-cool/issues-helper@v3
with:
actions: 'close-issue'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}
- name: Update Comment Fail
if: env.iscustom == 'true' && failure()
uses: actions-cool/issues-helper@v3
@ -437,3 +439,11 @@ jobs:
> ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
----
emoji: confused
- name: Close Issues
if: env.iscustom == 'true'
uses: actions-cool/issues-helper@v3
with:
actions: 'close-issue'
token: ${{ secrets.GITHUB_TOKEN }}
issue-number: ${{ github.event.issue.number }}

View File

@ -1 +1 @@
25.6.0
25.9.0

View File

@ -142,21 +142,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.: -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)"
"en_US": "Display CPU/GPU/Temperature information in the control panel. (Option -s shows static information)",
"ar_SA": "عرض معلومات وحدة المعالجة المركزية / وحدة معالجة الرسومات / درجة الحرارة في لوحة التحكم. (خيار -s يظهر معلومات ثابتة)",
"de_DE": "Zeigt CPU/GPU/Temperaturinformationen im Bedienfeld an. (Option -s zeigt statische Informationen)",
"es_ES": "Mostrar información de CPU/GPU/Temperatura en el panel de control. (L'option -s affiche des informations statiques))",
"fr_FR": "Afficher les informations CPU/GPU/Température dans le panneau de configuration. (L'option -s affiche des informations statiques)))",
"ja_JP": "コントロールパネルにCPU/GPU/温度情報を表示します。 (パラメータ -s は静的な情報を表示します)",
"ko_KR": "제어판에 CPU/GPU/온도 정보를 표시합니다. (옵션 -s는 정적 정보를 표시합니다)",
"ru_RU": "Показать информацию о процессоре/GPU/температуре в панели управления. (Опция -s показывает статическую информацию)",
"th_TH": "แสดงข้อมูล CPU/GPU/อุณหภูมิในแผงควบคุม. (ตัวเลือก -s แสดงข้อมูลที่ไม่เปลี่ยนแปลง)",
"tr_TR": "Kontrol panelinde CPU/GPU/Sıcaklık bilgilerini görüntüler. (Seçenek -s statik bilgileri gösterir)",
"uk_UA": "Показати інформацію про процесор/GPU/температуру в панелі керування. (Опция -s показывает статическую информацию)",
"vi_VN": "Hiển thị thông tin CPU/GPU/Nhiệt độ trong bảng điều khiển. (Tùy chọn -s hiển thị thông tin tĩnh)",
"zh_CN": "只让控制面板显示正确的CPU/GPU/温度等信息. (参数 -s 显示静态信息)",
"zh_HK": "只讓控制面板顯示正確的CPU/GPU/溫度等信息. (参数 -s 顯示靜態信息)",
"zh_TW": "只讓控制面板顯示正確的CPU/GPU/温度等信息. (参数 -s 顯示靜態信息)"
}
},
"dbgutils": {

Binary file not shown.

View File

@ -29,6 +29,23 @@
.textarea-style {
width: 100%;
}
#logo {
text-align: center;
margin: 20px auto !important;
}
#labels {
text-align: center;
margin: 20px auto !important;
height: auto !important;
}
#products {
text-align: center;
margin: 20px auto !important;
height: auto !important;
}
</style>
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
<script src="https://polyfill.io/v3/polyfill.min.js"></script>
@ -90,9 +107,11 @@
if (debug) {
$('#sn_item').show();
$('#macs_item').show();
$('#tips_item').show();
} else {
$('#sn_item').hide();
$('#macs_item').hide();
$('#tips_item').hide();
}
setModels();
});
@ -262,7 +281,7 @@
var body = {};
var _parameters = ["title", "format", "size", "template", "language", "model", "version", "kernel", "addons", "modules"];
if (debug) {
_parameters.push("sn", "macs");
_parameters.push("sn", "macs", "tips");
}
for (var key in _parameters) {
var name = _parameters[key];
@ -309,28 +328,21 @@
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚═════╝ ╚═╝ ╚═╝
</pre>
<div class="image" id="products" style="height: 50px; margin-left: 200px;">
<img src="https://www.synology.cn/img/products/detail/SA6400/heading.png" width="20%">
<div class="shields" id="labels">
<a id="titleA" href="https://github.com/RROrg/rr">
<img alt="GitHub Release"
src="https://img.shields.io/github/v/release/rrorg/rr?include_prereleases&style=flat-square&label=current">
</a>
<a id="titleA" href="https://github.com/RROrg/rr">
<img alt="GitHub Issues"
src="https://img.shields.io/github/issues-closed-raw/rrorg/rr/custom?style=flat-square&label=custom">
</a>
<a id="titleB" href="./changelogs.html">
<img alt="GitHub Release" src="https://img.shields.io/badge/Changelogs-8A2BE2&style=flat">
</a>
</div>
<div class="flex-auto min-width-0 width-fit mr-3">
<div class="d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
<a id="titleA" href="https://github.com/RROrg/rr">
<img alt="GitHub Release"
src="https://img.shields.io/github/v/release/rrorg/rr?include_prereleases&style=flat-square&label=current">
<img alt="GitHub Issues"
src="https://img.shields.io/github/issues-closed-raw/rrorg/rr/custom?style=flat-square&label=custom">
</a>
</div>
<div class="d-flex flex-wrap flex-items-center wb-break-word f3 text-normal">
<a id="titleB" href="./changelogs.html">
<img alt="GitHub Release" src="https://img.shields.io/badge/Changelogs-8A2BE2&style=flat">
</a>
</div>
<div class="btn-link tabnav-tab preview-tab js-preview-tab flex-1 flex-md-auto width-full">
<marquee id="content" direction="up" height="36" scrollamount="1" onMouseOut="this.start()"
onMouseOver="this.stop()">
</marquee>
</div>
<div class="image" id="products">
<img src="https://www.synology.cn/img/products/detail/SA6400/heading.png" width="20%">
</div>
<div class="form-group mt-1 mb-2" id="title_item">
<div class="form-group-header">
@ -422,6 +434,14 @@
<input class="form-control input-contrast input-sm" type="text" id="macs" name="inputs[macs]" value=""></input>
</div>
</div>
<div class="form-group mt-1 mb-2" id="tips_item">
<div class="form-group-header">
<label class="color-fg-default text-mono f6">Tips:</label>
</div>
<div class="form-group-body">
<input class="form-control input-contrast input-sm" type="text" id="tips" name="inputs[tips]" value=""></input>
</div>
</div>
<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>

View File

@ -174,6 +174,7 @@
"7.2": "7.2-5.10.55"
},
"models": [
"DS225+",
"DS425+"
]
},

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,4 +1,40 @@
{
"DS1525+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1525%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"DS1825+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1825%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"DS225+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS225%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"DS425+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS425%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"DS725+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS725%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"DS925+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS925%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"HD6500": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_HD6500_72806.pat",
@ -17,6 +53,12 @@
"sum": "00000000000000000000000000000000"
}
},
"RS2825RP+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_RS2825RP%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"DS1019+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1019%2B_72806.pat",
@ -87,12 +129,6 @@
"sum": "00000000000000000000000000000000"
}
},
"DS1525+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1525%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"DS1621+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1621%2B_72806.pat",
@ -215,12 +251,6 @@
"sum": "00000000000000000000000000000000"
}
},
"DS1825+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS1825%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"DS220+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS220%2B_72806.pat",
@ -405,12 +435,6 @@
"sum": "00000000000000000000000000000000"
}
},
"DS425+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS425%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"DS620slim": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS620slim_72806.pat",
@ -481,12 +505,6 @@
"sum": "00000000000000000000000000000000"
}
},
"DS725+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS725%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"DS920+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS920%2B_72806.pat",
@ -531,12 +549,6 @@
"sum": "00000000000000000000000000000000"
}
},
"DS925+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DS925%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"DVA1622": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DVA1622_72806.pat",
@ -581,58 +593,8 @@
"sum": "00000000000000000000000000000000"
}
},
"DVA3221": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_DVA3221_72806.pat",
"sum": "00000000000000000000000000000000"
},
"7.0.1-42218-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_DVA3221_42218.pat",
"sum": "00000000000000000000000000000000"
},
"7.2.1-69057-1": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.1/69057-1/DSM_DVA3221_69057.pat",
"sum": "00000000000000000000000000000000"
},
"7.2.0-64570-1": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2/64570-1/DSM_DVA3221_64570.pat",
"sum": "00000000000000000000000000000000"
},
"7.1.1-42962-1": {
"url": "https://global.synologydownload.com/download/DSM/release/7.1.1/42962-1/DSM_DVA3221_42962.pat",
"sum": "00000000000000000000000000000000"
},
"7.1.0-42661-1": {
"url": "https://global.synologydownload.com/download/DSM/release/7.1/42661-1/DSM_DVA3221_42661.pat",
"sum": "00000000000000000000000000000000"
}
},
"FS2500": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_FS2500_72806.pat",
"sum": "00000000000000000000000000000000"
},
"7.2.1-69057-1": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.1/69057-1/DSM_FS2500_69057.pat",
"sum": "00000000000000000000000000000000"
},
"7.2.0-64570-1": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2/64570-1/DSM_FS2500_64570.pat",
"sum": "00000000000000000000000000000000"
},
"7.1.1-42962-1": {
"url": "https://global.synologydownload.com/download/DSM/release/7.1.1/42962-1/DSM_FS2500_42962.pat",
"sum": "00000000000000000000000000000000"
},
"7.1.0-42661-1": {
"url": "https://global.synologydownload.com/download/DSM/release/7.1/42661-1/DSM_FS2500_42661.pat",
"sum": "00000000000000000000000000000000"
},
"7.0.1-42218-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.0.1/42218/DSM_FS2500_42218.pat",
"sum": "00000000000000000000000000000000"
}
},
"DVA3221": {},
"FS2500": {},
"FS3400": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_FS3400_72806.pat",
@ -921,12 +883,6 @@
"sum": "00000000000000000000000000000000"
}
},
"RS2825RP+": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_RS2825RP%2B_72806.pat",
"sum": "00000000000000000000000000000000"
}
},
"RS3618xs": {
"7.2.2-72806-0": {
"url": "https://global.synologydownload.com/download/DSM/release/7.2.2/72806/DSM_RS3618xs_72806.pat",

Binary file not shown.

View File

@ -433,6 +433,7 @@ else
_bootwait || exit 0
[ -n "$(cat "${ADD_TIPS_FILE}" 2>/dev/null)" ] && printf "$(TEXT "%s\n")" "$(cat "${ADD_TIPS_FILE}" 2>/dev/null)"
printf "\033[1;37m%s\033[0m\n" "$(TEXT "Loading DSM kernel ...")"
DSMLOGO="$(readConfigKey "dsmlogo" "${USER_CONFIG_FILE}")"

Binary file not shown.

View File

@ -8,7 +8,7 @@
# shellcheck disable=SC2034
RR_VERSION="25.6.0"
RR_VERSION="25.9.0"
RR_RELEASE=""
RR_TITLE="RR v${RR_VERSION}"
@ -38,6 +38,7 @@ RR_RAMUSER_FILE="${PART3_PATH}/initrd-rru"
MC_RAMDISK_FILE="${PART3_PATH}/microcode.img"
MOD_ZIMAGE_FILE="${PART3_PATH}/zImage-dsm"
MOD_RDGZ_FILE="${PART3_PATH}/initrd-dsm"
ADD_TIPS_FILE="${PART3_PATH}/AddTips"
CKS_PATH="${PART3_PATH}/cks"
LKMS_PATH="${PART3_PATH}/lkms"

View File

@ -303,11 +303,11 @@ function getBus() {
function getIP() {
local IP=""
if [ -n "${1}" ] && [ -d "/sys/class/net/${1}" ]; then
IP=$(ip route show dev "${1}" 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p' | head -1)
[ -z "${IP}" ] && IP=$(ip addr show "${1}" scope global 2>/dev/null | grep -E "inet .* eth" | awk '{print $2}' | cut -d'/' -f1 | head -1)
IP=$(ip addr show "${1}" scope global 2>/dev/null | grep -E "inet .* eth" | awk '{print $2}' | cut -d'/' -f1 | head -1)
[ -z "${IP}" ] && IP=$(ip route show dev "${1}" 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p' | head -1)
else
IP=$(ip route show 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p' | head -1)
[ -z "${IP}" ] && IP=$(ip addr show scope global 2>/dev/null | grep -E "inet .* eth" | awk '{print $2}' | cut -d'/' -f1 | head -1)
IP=$(ip addr show scope global 2>/dev/null | grep -E "inet .* eth" | awk '{print $2}' | cut -d'/' -f1 | head -1)
[ -z "${IP}" ] && IP=$(ip route show 2>/dev/null | sed -n 's/.* via .* src \(.*\) metric .*/\1/p' | head -1)
fi
echo "${IP}"
return 0
@ -445,7 +445,7 @@ function connectwlanif() {
# Find and mount the DSM root filesystem
function findDSMRoot() {
local DSMROOTS=""
[ -z "${DSMROOTS}" ] && DSMROOTS="$(mdadm --detail --scan 2>/dev/null | grep -E "name=SynologyNAS:0|name=DiskStation:0|name=SynologyNVR:0|name=BeeStation:0" | awk '{print $2}' | uniq)"
[ -z "${DSMROOTS}" ] && DSMROOTS="$(mdadm --detail --scan 2>/dev/null | grep -v "INACTIVE-ARRAY" | grep -E "name=SynologyNAS:0|name=DiskStation:0|name=SynologyNVR:0|name=BeeStation:0" | awk '{print $2}' | uniq)"
[ -z "${DSMROOTS}" ] && DSMROOTS="$(lsblk -pno KNAME,PARTN,FSTYPE,FSVER,LABEL | grep -E "sd[a-z]{1,2}1" | grep -w "linux_raid_member" | grep "0.9" | awk '{print $1}')"
echo "${DSMROOTS}"
return 0
@ -458,7 +458,12 @@ 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
T="$(blkid -o value -s TYPE "${1}" 2>/dev/null | sed 's/linux_raid_member/ext4/')"
if [ "${T}" = "btrfs" ]; then
btrfs check --readonly "${1}" >/dev/null 2>&1
else
fsck "${1}" >/dev/null 2>&1
fi
fi
}

View File

@ -132,13 +132,14 @@ BUSLIST="usb sata sas scsi nvme mmc ide virtio vmbus xen"
if [ "${BUS}" = "usb" ]; then
VID="0x$(udevadm info --query property --name "${LOADER_DISK}" 2>/dev/null | grep "ID_VENDOR_ID" | cut -d= -f2)"
PID="0x$(udevadm info --query property --name "${LOADER_DISK}" 2>/dev/null | grep "ID_MODEL_ID" | cut -d= -f2)"
[ "${VID}" = "0x" ] || [ "${PID}" = "0x" ] && die "$(TEXT "The loader disk does not support the current USB Portable Hard Disk.")"
TYPE="flashdisk"
elif ! echo "${BUSLIST}" | grep -wq "${BUS}"; then
if [ "LOCALBUILD" = "${LOADER_DISK}" ]; then
echo "LOCALBUILD MODE"
TYPE="PC"
else
die "$(printf "$(TEXT "The boot disk does not support the current %s, only %s DoM is supported.")" "${BUS}" "${BUSLIST// /\/}")"
die "$(printf "$(TEXT "The loader disk does not support the current %s, only %s DoM is supported.")" "${BUS}" "${BUSLIST// /\/}")"
fi
fi
@ -239,6 +240,7 @@ printf "\n"
printf "$(TEXT "Call \033[1;32minit.sh\033[0m to re get init info\n")"
printf "$(TEXT "Call \033[1;32mmenu.sh\033[0m to configure loader\n")"
printf "\n"
[ -n "$(cat "${ADD_TIPS_FILE}" 2>/dev/null)" ] && printf "$(TEXT "%s\n")" "$(cat "${ADD_TIPS_FILE}" 2>/dev/null)"
printf "$(TEXT "User config is on \033[1;32m%s\033[0m\n")" "${USER_CONFIG_FILE}"
printf "$(TEXT "HTTP: \033[1;34mhttp://%s:%d\033[0m\n")" "rr" "${HTTP:-7080}"
printf "$(TEXT "DUFS: \033[1;34mhttp://%s:%d\033[0m\n")" "rr" "${DUFS:-7304}"

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

@ -326,7 +326,7 @@ function productversMenu() {
fi
if [ -z "${1}" ]; then
MSG=""
MSG+="$(TEXT "Please confirm or modify the URL and md5sum to you need.")"
MSG+="$(TEXT "Please confirm or modify the URL and md5sum to you need (32 '0's will skip the md5 check).")"
if [ ! "${selver}" = "${urlver}" ]; then
MSG+="$(printf "$(TEXT "Note: There is no version %s and automatically returns to version %s.")" "${selver}" "${urlver}")"
selver=${urlver}
@ -1240,7 +1240,7 @@ function getSynoExtractor() {
echo "$(TEXT "Downloading old pat to extract synology .pat extractor...")"
rm -f "${OLDPAT_PATH}"
STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${OLDPAT_URL}" -o "${OLDPAT_PATH}")
STATUS=$(curl -kL --http1.1 --connect-timeout 10 -w "%{http_code}" "${OLDPAT_URL}" -o "${OLDPAT_PATH}")
RET=$?
if [ ${RET} -ne 0 ] || [ ${STATUS:-0} -ne 200 ]; then
rm -f "${OLDPAT_PATH}"
@ -1382,13 +1382,13 @@ function extractDsmFiles() {
# Check disk space left
SPACELEFT=$(df --block-size=1 "${PART3_PATH}" 2>/dev/null | awk 'NR==2 {print $4}')
# Discover remote file size
FILESIZE=$(curl -skLI --connect-timeout 10 "${PATURL}" | grep -i Content-Length | tail -n 1 | tr -d '\r\n' | awk '{print $2}')
FILESIZE=$(curl -skLI --http1.1 --connect-timeout 10 "${PATURL}" | grep -i Content-Length | tail -n 1 | tr -d '\r\n' | awk '{print $2}')
if [ ${FILESIZE:-0} -ge ${SPACELEFT:-0} ]; then
# No disk space to download, change it to RAMDISK
PAT_PATH="${TMP_PATH}/${PAT_FILE}"
fi
touch "${PAT_PATH}.downloading"
STATUS=$(curl -kL --connect-timeout 10 -w "%{http_code}" "${PATURL}" -o "${PAT_PATH}")
STATUS=$(curl -kL --http1.1 --connect-timeout 10 -w "%{http_code}" "${PATURL}" -o "${PAT_PATH}")
RET=$?
rm -f "${PAT_PATH}.downloading"
if [ ${RET} -ne 0 ] || [ ${STATUS:-0} -ne 200 ]; then
@ -1839,7 +1839,7 @@ function allowDSMDowngrade() {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null | sed 's/linux_raid_member/ext4/')"
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
rm -f "${TMP_PATH}/mdX/etc/VERSION" "${TMP_PATH}/mdX/etc.defaults/VERSION"
@ -1871,7 +1871,7 @@ function resetDSMPassword() {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null | sed 's/linux_raid_member/ext4/')"
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
if [ -f "${TMP_PATH}/mdX/etc/shadow" ]; then
@ -1923,12 +1923,13 @@ function resetDSMPassword() {
NEWPASSWD="$(openssl passwd -6 -salt "$(openssl rand -hex 8)" "${STRPASSWD}")"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null | sed 's/linux_raid_member/ext4/')"
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
sed -i "s|^${USER}:[^:]*|${USER}:${NEWPASSWD}|" "${TMP_PATH}/mdX/etc/shadow"
sed -i "/^${USER}:/ s/^\(${USER}:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:[^:]*:\)[^:]*:/\1:/" "${TMP_PATH}/mdX/etc/shadow"
sed -i "s|status=on|status=off|g" "${TMP_PATH}/mdX/usr/syno/etc/packages/SecureSignIn/preference/${USER}/method.config" 2>/dev/null
sed -i "s|list=*$|list=|; s|type=*$|type=none|" "${TMP_PATH}/mdX/usr/syno/etc/packages/SecureSignIn/secure_signin.conf" 2>/dev/null
sync
echo "true" >"${TMP_PATH}/isOk"
umount "${TMP_PATH}/mdX"
@ -1965,7 +1966,7 @@ function addNewDSMUser() {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null | sed 's/linux_raid_member/ext4/')"
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
mkdir -p "${TMP_PATH}/mdX/usr/rr/once.d"
@ -2003,7 +2004,7 @@ function forceEnableDSMTelnetSSH() {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null | sed 's/linux_raid_member/ext4/')"
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
mkdir -p "${TMP_PATH}/mdX/usr/rr/once.d"
@ -2047,7 +2048,7 @@ function removeBlockIPDB {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null | sed 's/linux_raid_member/ext4/')"
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
rm -f "${TMP_PATH}/mdX/etc/synoautoblock.db"
@ -2080,7 +2081,7 @@ function disablescheduledTasks {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null | sed 's/linux_raid_member/ext4/')"
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
if [ -f "${TMP_PATH}/mdX/usr/syno/etc/esynoscheduler/esynoscheduler.db" ]; then
@ -2121,7 +2122,7 @@ function initDSMNetwork {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null | sed 's/linux_raid_member/ext4/')"
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
for F in ${TMP_PATH}/mdX/etc/sysconfig/network-scripts/ifcfg-* ${TMP_PATH}/mdX/etc.defaults/sysconfig/network-scripts/ifcfg-*; do
@ -2305,7 +2306,7 @@ function tryRecoveryDSM() {
mkdir -p "${TMP_PATH}/mdX"
fixDSMRootPart "${DSMROOTPART}"
T="$(blkid -o value -s TYPE "${DSMROOTPART}" 2>/dev/null)"
T="$(blkid -o value -s TYPE "${DSMROOTPART}" 2>/dev/null | sed 's/linux_raid_member/ext4/')"
mount -t "${T:-ext4}" "${DSMROOTPART}" "${TMP_PATH}/mdX"
if [ $? -ne 0 ]; then
DIALOG --title "$(TEXT "Settings")" \
@ -2540,7 +2541,7 @@ function reportBugs() {
mkdir -p "${TMP_PATH}/mdX"
for I in ${DSMROOTS}; do
fixDSMRootPart "${I}"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null)"
T="$(blkid -o value -s TYPE "${I}" 2>/dev/null | sed 's/linux_raid_member/ext4/')"
mount -t "${T:-ext4}" "${I}" "${TMP_PATH}/mdX"
[ $? -ne 0 ] && continue
mkdir -p "${TMP_PATH}/logs/md0/log"

View File

@ -34,6 +34,8 @@ N nct6775.ko
F mii.ko
F cdc_ether.ko
F rndis_host.ko
F thunderbolt.ko
F thunderbolt-net.ko
F r8152.ko
F aqc111.ko
F ax88179_178a.ko
@ -60,4 +62,4 @@ N iwldvm.ko
#N i915-compat.ko
#N intel-gtt.ko
#N ttm.ko
#N i915.ko
#N i915.ko

View File

@ -72,6 +72,13 @@
- "TRR"
suffix: "alpha"
macpre: 9009d0
"DS1525+":
prefix:
- "2540"
middle:
- "YJR"
suffix: "alpha"
macpre: 9009d0
"DS1621+":
prefix:
- "2080"
@ -102,6 +109,13 @@
middle:
- "V5R"
suffix: "alpha"
"DS1825+":
prefix:
- "2540"
middle:
- "WDR"
suffix: "alpha"
macpre: 9009d0
"DS2419+":
prefix:
- "1880"

View File

@ -1 +1 @@
25.6.0
25.9.0

View File

@ -49,6 +49,8 @@ else
font=${prefix}/fonts/unicode.pf2
fi
terminal_output console
if loadfont ${font}; then
set gfxmode=auto
load_video
@ -56,10 +58,9 @@ if loadfont ${font}; then
set locale_dir=$prefix/locale
set lang=en_US
insmod gettext
terminal_output --append gfxterm
fi
terminal_output gfxterm
if serial --unit=0 --speed=115200 --word=8 --parity=no --stop=1; then
terminal_input --append serial
terminal_output --append serial
@ -72,13 +73,11 @@ set menu_color_highlight=black/cyan
insmod png
background_image ${prefix}/logo.png
function gfxmode {
set gfxpayload="${linux_gfx_mode}"
}
set RR_CMDLINE="earlyprintk earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 root=/dev/ram rootwait intremap=off amd_iommu_intr=legacy net.ifnames=0 panic=5 split_lock_detect=off pcie_aspm=off intel_pstate=disable amd_pstate=disable nox2apic nomodeset nowatchdog"
search --set=root --label "RR3"
insmod part_gpt
insmod lvm
search --set=root --label "RR3" --no-floppy
if [ -e /initrd-rru ]; then set RRU=/initrd-rru; fi
if [ -e /microcode.img ]; then set MCI=/microcode.img; fi
@ -89,7 +88,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
load_env --skip-sig --file=${prefix}/rsysenv
fi
menuentry 'Boot DSM kernel directly' ${menuentry_id_option} direct {
gfxmode
set gfxpayload="${linux_gfx_mode}"
echo "RRVersion: ${rr_version}"
echo "${rr_booting}"
echo -n "Boot Time: "; date
@ -114,7 +113,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
}
fi
menuentry 'Boot DSM' ${menuentry_id_option} boot {
gfxmode
set gfxpayload="${linux_gfx_mode}"
echo "Loading kernel..."
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline}
echo "Loading initramfs..."
@ -122,7 +121,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
echo "Booting..."
}
menuentry 'Boot Recovery' ${menuentry_id_option} recovery {
gfxmode
set gfxpayload="${linux_gfx_mode}"
echo "Loading kernel..."
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} recovery
echo "Loading initramfs..."
@ -130,7 +129,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
echo "Booting..."
}
menuentry 'Force re-install DSM' ${menuentry_id_option} junior {
gfxmode
set gfxpayload="${linux_gfx_mode}"
echo "Loading kernel..."
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} force_junior
echo "Loading initramfs..."
@ -140,7 +139,7 @@ if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
fi
menuentry 'Configure loader' ${menuentry_id_option} config {
gfxmode
set gfxpayload="${linux_gfx_mode}"
echo "Loading kernel..."
linux /bzImage-rr earlycon=uart8250,io,0x3f8,115200n8 console=ttyS0,115200n8 ${RR_CMDLINE} ${rr_cmdline} IWANTTOCHANGETHECONFIG
echo "Loading initramfs..."
@ -149,7 +148,7 @@ menuentry 'Configure loader' ${menuentry_id_option} config {
}
menuentry 'Configure loader (verbose)' ${menuentry_id_option} verbose {
gfxmode
set gfxpayload="${linux_gfx_mode}"
echo "Loading kernel..."
linux /bzImage-rr ${RR_CMDLINE} ${rr_cmdline} earlycon=tty2 console=tty2 IWANTTOCHANGETHECONFIG
echo "Loading initramfs..."

View File

@ -186,9 +186,14 @@
lsblk # 查看磁盘设备
lspci -Qnnk # 查看 PCI 设备
# 驱动相关
# 网卡
ls -ld /sys/class/net/*/device/driver # 查看已加载网卡和对应驱动
cat /sys/class/net/*/address # 查看已加载网卡的 MAC 地址
ethtool -i eth0 # 查看网卡驱动信息
ethtool -s eth0 wol g # 配置网卡进入低功耗模式
ethtool -s eth0 autoneg on # 开启网卡自动协商
ethtool -s eth0 speed 1000 # 设置网卡速度为 1000 Mbps
ethtool -s eth0 duplex full # 设置网卡全双工
# 串口
cat /proc/tty/drivers # 查看串口属性