Compare commits

...

46 Commits

Author SHA1 Message Date
Fabio Belavenuto
1b77082df1 Update README.md
Archiving
2024-05-08 10:58:39 -03:00
Fabio Belavenuto
1abe8cb1f1 Merge pull request #767 from yunzhiclub/main
add 'how to set proxy' to readme
2024-02-16 08:22:44 -03:00
Fabio Belavenuto
e5e20e2e72 Merge pull request #764 from PlutoNameless/patch-1
Refine the Chinese-to-English Translation
2024-02-16 08:22:32 -03:00
潘杰
d4e51ee86d Update README.md 2023-09-29 10:17:44 +08:00
潘杰
b4beb63ea6 Update README.md 2023-09-29 10:14:48 +08:00
潘杰
5792f05140 Update README.md 2023-09-29 10:06:18 +08:00
潘杰
b021c4945e Update README.md 2023-09-29 10:05:23 +08:00
Pluto
c01cdc8f2b Refine the Chinese-to-English Translation
Revise the translation of certain specialized terms and tailor the content to fit a Chinese cultural context
2023-09-25 11:36:58 +08:00
Fabio Belavenuto
194de75e85 Merge pull request #662 from wjz304/patch-3
Adjust the logic for clearing the cache.
2023-05-02 07:58:01 -03:00
Ing
edce7eb162 Adjust the cache clearing mechanism so that users can upload manually when offline. 2023-03-15 12:41:08 +08:00
Fabio Belavenuto
3322466ee6 Merge pull request #630 from sumingyd/main
add chinese README
2023-02-27 13:57:45 -03:00
Fabio Belavenuto
76f14d95c7 Merge pull request #631 from fbelavenuto/new-version
Starting v1.1-b2a
2023-02-27 13:56:55 -03:00
Fabio Belavenuto
e4dbea741a Starting v1.1-b2a 2023-02-27 13:56:36 -03:00
宿命
109ff30564 fix 2023-02-27 19:13:21 +08:00
宿命
f6bc5b08ab fix 2023-02-27 19:12:03 +08:00
宿命
269b9b0158 FIX 2023-02-27 19:11:22 +08:00
宿命
5ee1f2d995 add chinese README 2023-02-27 19:10:34 +08:00
宿命
8d0cf083e0 add chinese README 2023-02-27 19:08:37 +08:00
Fabio Belavenuto
57ee20788a Merge pull request #625 from fbelavenuto/MOVBE
Changed CPU flag FMA to MOVBE (THanks for Peter Suh)
2023-02-23 15:41:11 -03:00
Fabio Belavenuto
ae539cf5b6 Changed CPU flag FMA to MOVBE (THanks for Peter Suh) 2023-02-23 15:40:56 -03:00
Fabio Belavenuto
9405793720 Merge pull request #624 from fbelavenuto/docker-7.2
Added toolchain/toolkit for 7.2 version
2023-02-23 15:39:47 -03:00
Fabio Belavenuto
988367ad86 Added toolchain/toolkit for 7.2 version 2023-02-23 15:39:31 -03:00
Fabio Belavenuto
a4d04d5653 Merge pull request #592 from fbelavenuto/dev
Dev
2023-02-10 13:19:22 -03:00
Fabio Belavenuto
c42ce3120f new version 1.1-beta2 2023-02-10 13:19:01 -03:00
Fabio Belavenuto
9dd15f25e0 Removing syno-toolkit 2023-02-10 12:57:08 -03:00
Fabio Belavenuto
93c0303aba Merge pull request #587 from fbelavenuto/r8139
Adding RTL8139 module to ARPL kernel
2023-02-09 14:40:35 -03:00
Fabio Belavenuto
b2c215fb9a Adding RTL8139 module to ARPL kernel 2023-02-09 14:40:15 -03:00
Fabio Belavenuto
4fc5161239 Merge pull request #580 from fbelavenuto/42218-checksum-update
Updating 42218 checksums
2023-02-08 22:05:27 -03:00
Fabio Belavenuto
1b7304ef44 Updating 42218 checksums 2023-02-08 22:04:50 -03:00
Fabio Belavenuto
230cbc986b Merge pull request #564 from fbelavenuto/SHR
Testing fix SHR
2023-02-02 11:32:04 -03:00
Fabio Belavenuto
746d0361b4 Testing fix SHR 2023-02-02 11:31:22 -03:00
Fabio Belavenuto
7acfb99fca Merge pull request #563 from fbelavenuto/dev
Dev
2023-02-02 11:01:21 -03:00
Fabio Belavenuto
3c84a9fa29 Fixing yaml read map, preparing to new addon 'disks' replacing 'maxdisks' and 'dtbpatch' 2023-02-02 11:00:58 -03:00
Fabio Belavenuto
1012d4563a Little fix in CMDLINE escaping
Testing noefi parameter
2023-02-01 21:34:38 -03:00
Fabio Belavenuto
920b9994b1 Merge pull request #558 from fbelavenuto/dev
Removing unnecessary "syno_port_thaw" from models
2023-02-01 09:26:06 -03:00
Fabio Belavenuto
b91aec94a7 Removing unnecessary "syno_port_thaw" from models 2023-02-01 09:25:50 -03:00
Fabio Belavenuto
97356dff47 Update main.yml 2023-01-31 17:03:35 -03:00
Fabio Belavenuto
6fe5a26531 Merge pull request #554 from fbelavenuto/actions
Testing actions
2023-01-31 16:56:49 -03:00
Fabio Belavenuto
f99a7fe44b Testing actions 2023-01-31 16:52:41 -03:00
Fabio Belavenuto
7584ad59f2 Merge pull request #553 from fbelavenuto/dev
wip
2023-01-31 16:46:12 -03:00
Fabio Belavenuto
79eaeb2c40 Changing LKM option to default 'prod' 2023-01-31 09:12:33 -03:00
Fabio Belavenuto
8908747db7 Changing "Show SATA(s) # ports and drives" to advanced menu 2023-01-31 09:12:17 -03:00
Fabio Belavenuto
d5d752b93c Merge pull request #550 from fbelavenuto/dev
Removing PATA drivers from ARPL kernel
2023-01-30 17:11:25 -03:00
Fabio Belavenuto
b5010aff8c Removing PATA drivers from ARPL kernel 2023-01-30 17:11:13 -03:00
Fabio Belavenuto
57daf6e645 Merge pull request #542 from fbelavenuto/mmc
Adding arpl kernel mmc modules for testing
2023-01-27 13:55:41 -03:00
Fabio Belavenuto
06d85768bf Adding arpl kernel mmc modules for testing 2023-01-27 13:55:06 -03:00
39 changed files with 450 additions and 466 deletions

View File

@@ -14,9 +14,17 @@ jobs:
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
# Check cache # Check dl cache
- name: Cache downloads
id: dl-cache
uses: actions/cache@v3
with:
path: ~/dl
key: ${{ runner.os }}-dl
# Check buildroot cache
- name: Cache buildroot - name: Cache buildroot
id: cache id: br-cache
uses: actions/cache@v3 uses: actions/cache@v3
with: with:
path: .buildroot path: .buildroot
@@ -61,9 +69,9 @@ jobs:
[ ${STATUS} -ne 200 ] && exit 1 [ ${STATUS} -ne 200 ] && exit 1
echo OK echo OK
# Prepare buildroot for first make (for cache) # Clone buildroot repository (if not cached)
- name: Prepare buildroot - name: Clone buildroot
if: steps.cache.outputs.cache-hit != 'true' if: steps.br-cache.outputs.cache-hit != 'true'
run: | run: |
git clone --single-branch -b 2022.02 https://github.com/buildroot/buildroot.git .buildroot git clone --single-branch -b 2022.02 https://github.com/buildroot/buildroot.git .buildroot
# Copy files # Copy files
@@ -72,10 +80,23 @@ jobs:
cd .buildroot cd .buildroot
echo "Generating default config" echo "Generating default config"
make BR2_EXTERNAL=../external arpl_defconfig make BR2_EXTERNAL=../external arpl_defconfig
# Download sources if not cached
- name: Download buildroot packages source
if: steps.dl-cache.outputs.cache-hit != 'true'
run: |
cd .buildroot
make BR2_EXTERNAL=../external source
# Prepare buildroot for first make
- name: Prepare buildroot
if: steps.br-cache.outputs.cache-hit != 'true'
run: |
echo "First make" echo "First make"
cd .buildroot
make BR2_EXTERNAL=../external make BR2_EXTERNAL=../external
# Build incremental from cache # Build incremental from caches
- name: Build image - name: Build image
id: build id: build
run: | run: |

98
README-Zh.md Normal file
View File

@@ -0,0 +1,98 @@
# 自动化 Redpill 安装程序
这个特别的项目是为了方便我进行与Redpill相关的测试而创建的我决定与其他用户共享。
原作者是巴西人英语不太好中文Readme版本基于原文润色翻译。
我尽可能让这个系统尽可能地人性化以简化操作。安装程序会自动检测正在使用的设备是SATA接口还是USB并准确地识别其VID和PID。为了允许内核在不设置与网络接口相关的变量的情况下启动redpill-lkm已被修改。因此你在使用这个安装程序时不需要再担心这个问题。感谢Jun的代码用于生成zImage和Ramdisk补丁已经集成在其中。如果“zImage”或“rd.gz”有任何小的更新安装程序会重新应用这些补丁。最重要的内核模块已内置于DSM ramdisk镜像中以实现自动外设检测。
# 重要注意事项
- 一些用户曾经遇到过启动时间过长的问题。在这种情况下强烈建议使用SSD作为去启动盘如果选择通过外接设备启动请使用一个高速的USB闪存驱动器。
- 必须拥有至少4GB的RAM无论是在裸机还是虚拟机中。
- DSM内核与SATA端口兼容不支持SAS/SCSI等。对于Device-tree模式只有SATA端口可以工作。对于其他模式可能支持其他类型的磁盘。
- HBA卡可以使用但显示SMART和序列号仅在DS3615xs、DS3617xs和DS3622xs+型号上有效。
# 使用方法
## 通用指导
要使用这个项目下载最新可用的镜像文件并将其烧录到USB闪存盘或SATA硬盘模块上。设置PC从烧录的媒体启动并按照屏幕上的信息操作。
如果最后一个分区的大小超过2GiB加载器会自动增加其大小并用这个空间作为缓存。
## 启动安装程序
### 通过终端
直接在计算机上调用"menu.sh"命令。
### 通过网页
从同一网络中的另一台机器,通过浏览器输入屏幕上显示的地址`http://<ip>:7681`
### 通过ssh
在同一网络中的另一台机器上使用SSH客户端用户名 `root` 和密码: `Redp1lL-1s-4weSomE`
## 使用安装程序
安装时菜单系统是动态展示的,我希望它直观到用户可以毫无问题地使用。
无需配置VID/PID如果使用USB闪存盘或定义网络接口的MAC地址。如果用户想修改任何接口的MAC地址可以在"cmdline"菜单中使用"Change MAC"选项。
如果选择了一个使用Device-tree系统来定义硬盘的型号则无需进行任何配置。对于没有使用Device-tree的型号需要手动完成配置在"cmdline"菜单中有一个选项可以显示SATA控制器、DUMMY端口和正在使用的端口以协助创建"SataPortMap"、"DiskIdxMap"和"sata_remap"(如果需要)。
另一个重要的点是安装程序会检测CPU是否支持MOVBE指令受体不支持该指令时对应群晖型号不会显示。因此如果DS918+和DVA3221型号没有显示那是因为CPU不支持MOVBE指令。你可以取消这个限制并自行承担风险进行测试。
我开发了一个简单的补丁用于不再显示没有Device-tree型号上的DUMMY端口错误用户可以安装时无需担心这个问题。
## 快速入门指导
启动加载器后,应该会出现以下屏幕。输入 menu.sh 并按下 `<ENTER>`:
![](doc/first-screen.png)
如果你愿意,也可以通过网页进行访问:
![](doc/ttyd.png)
选择“型号model”选项并选择你偏好的群晖型号
![](doc/model.png)
选择“版本号Buildnumber”选项并选择第一个选项
![](doc/buildnumber.png)
进入“序列号Serial”菜单并选择“生成一个随机序列号Generate a random Serial number”。
选择“构建Build”选项等待加载器生成
![](doc/making.png)
选择“启动Boot”选项等待DSM启动
![](doc/DSM%20boot.png)
由于DSM内核不会在屏幕上显示消息因此需要通过浏览器访问地址`http://<ip>`来继续配置DSM的过程。
DSM的配置。网上有多个教程介绍如何在互联网上配置DSM本文不作赘述。
# 教程
一个ARPL用户Rikkie创建了一个教程用于在Proxmox服务器上安装ARPL
https://hotstuff.asia/2023/01/03/xpenology-with-arpl-on-proxmox-the-easy-way/
# 问题/疑问/等等
如有问题或疑问,请在 https://xpenology.com/forum 上搜索论坛看是否有类似问题已被讨论和解决。如果找不到解决方案可使用GitHub issues进行问题反馈。
# 致谢
所有代码均基于TTG、pocopico、jumkey以及其他参与继续TTG原始redpill-load项目的人的工作。
未来将添加更多信息。

View File

@@ -1,5 +1,9 @@
# Automated Redpill Loader # Automated Redpill Loader
Project archived, please use: https://github.com/RROrg/rr
[中文说明](./README-Zh.md)
This particular project was created to facilitate my testing with Redpill and I decided to share it with other users. This particular project was created to facilitate my testing with Redpill and I decided to share it with other users.
I'm Brazilian and my English is not good, so I apologize for my translations. I'm Brazilian and my English is not good, so I apologize for my translations.
@@ -46,10 +50,33 @@ There is no need to configure the VID/PID (if using a USB stick) or define the M
If a model is chosen that uses the Device-tree system to define the HDs, there is no need to configure anything. In the case of models that do not use device-tree, the configurations must be done manually and for this there is an option in the "cmdline" menu to display the SATA controllers, DUMMY ports and ports in use, to assist in the creation of the "SataPortMap", "DiskIdxMap" and "sata_remap" if necessary. If a model is chosen that uses the Device-tree system to define the HDs, there is no need to configure anything. In the case of models that do not use device-tree, the configurations must be done manually and for this there is an option in the "cmdline" menu to display the SATA controllers, DUMMY ports and ports in use, to assist in the creation of the "SataPortMap", "DiskIdxMap" and "sata_remap" if necessary.
Another important point is that the loader detects whether or not the CPU has the FMA3 instruction and does not display the models that require it. So if the DS918+ and DVA3221 models are not displayed it is because of the CPU's lack of support for FMA instructions. You can disable this restriction and test at your own risk. Another important point is that the loader detects whether or not the CPU has the MOVBE instruction and does not display the models that require it. So if the DS918+ and DVA3221 models are not displayed it is because of the CPU's lack of support for MOVBE instructions. You can disable this restriction and test at your own risk.
I developed a simple patch to no longer display the DUMMY port error on models without device-tree, the user will be able to install without having to worry about it. I developed a simple patch to no longer display the DUMMY port error on models without device-tree, the user will be able to install without having to worry about it.
## Use proxy
The proxy only support for terminal。
For example, if you have one clashx (the default port is 7890) in the lanfollow the steps:
1. Enabel 'Allow connent from Lan' (clashx only)
![image](https://github.com/yunzhiclub/arpl/assets/12424383/fe024e8d-c764-4590-84cb-fc15ca7fccef)
2. Get the proxy (the computer which runing clashx) ip address
3. open arpl termianl (you can access arpl via ssh)
```
declare -x https_proxy="http://ipaddress:7890/"
declare -x http_proxy="http://ipaddress:7890/"
declare -x all_proxy="socks5:://ipaddress:7890/"
```
**Change the ipaddress** to your proxy host.
4. Call the "menu.sh"
And then the proxy is effective。
## Quickstart guide ## Quickstart guide
After booting the loader, the following screen should appear. Type menu.sh and press `<ENTER>`: After booting the loader, the following screen should appear. Type menu.sh and press `<ENTER>`:

View File

@@ -1 +1 @@
1.0-beta13a 1.1-beta2a

View File

@@ -1,6 +1,7 @@
FROM alpine:3.14 AS stage FROM alpine:3.14 AS stage
ARG PLATFORMS="@@@PLATFORMS@@@" ARG PLATFORMS="@@@PLATFORMS@@@"
ARG TOOLKIT_VER="@@@TOOLKIT_VER@@@" ARG TOOLKIT_VER="@@@TOOLKIT_VER@@@"
ARG GCCLIB_VER="@@@GCCLIB_VER@@@"
# Copy downloaded toolkits # Copy downloaded toolkits
ADD cache /cache ADD cache /cache
@@ -12,8 +13,8 @@ RUN for V in ${PLATFORMS}; do \
mkdir "/opt/${PLATFORM}" && \ mkdir "/opt/${PLATFORM}" && \
tar -xaf "/cache/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" -C "/opt/${PLATFORM}" --strip-components=9 \ tar -xaf "/cache/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" -C "/opt/${PLATFORM}" --strip-components=9 \
"usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-${TOOLKIT_VER}" && \ "usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-${TOOLKIT_VER}" && \
echo "Extracting ${PLATFORM}-toolchain.txz" && \ echo "Extracting ${PLATFORM}-${GCCLIB_VER}_x86_64-GPL.txz" && \
tar -xaf "/cache/${PLATFORM}-toolchain.txz" -C "/opt/${PLATFORM}" --strip-components=1; \ tar -xaf "/cache/${PLATFORM}-${GCCLIB_VER}_x86_64-GPL.txz" -C "/opt/${PLATFORM}" --strip-components=1; \
KVER_MAJOR="`echo ${KVER} | rev | cut -d. -f2- | rev`"; \ KVER_MAJOR="`echo ${KVER} | rev | cut -d. -f2- | rev`"; \
if [ ! -d "/opt/linux-${KVER_MAJOR}.x" -a -f "/cache/linux-${KVER_MAJOR}.x.txz" ]; then \ if [ ! -d "/opt/linux-${KVER_MAJOR}.x" -a -f "/cache/linux-${KVER_MAJOR}.x.txz" ]; then \
echo "Extracting linux-${KVER_MAJOR}.x.txz" && \ echo "Extracting linux-${KVER_MAJOR}.x.txz" && \
@@ -25,7 +26,7 @@ RUN for V in ${PLATFORMS}; do \
done done
# Final image # Final image
FROM debian:8-slim FROM debian:9-slim
ENV SHELL=/bin/bash \ ENV SHELL=/bin/bash \
ARCH=x86_64 ARCH=x86_64

View File

@@ -1,9 +0,0 @@
bromolow 3.10.108
apollolake 4.4.180
broadwell 4.4.180
broadwellnk 4.4.180
denverton 4.4.180
geminilake 4.4.180
v1000 4.4.180
r1000 4.4.180
epyc7002 5.10.55

View File

@@ -1,7 +1,26 @@
#!/usr/bin/env bash #!/usr/bin/env bash
CACHE_DIR="cache" CACHE_DIR="cache"
PLATFORM_FILE="PLATFORMS" #SERVER="https://archive.synology.com"
SERVER="https://global.download.synology.com"
#https://global.download.synology.com/download/ToolChain/Synology%20NAS%20GPL%20Source/
declare -A URIS
declare -A PLATFORMS
URIS["apollolake"]="Intel%20x86%20Linux%20|%20%28Apollolake%29"
URIS["broadwell"]="Intel%20x86%20Linux%20|%20%28Broadwell%29"
URIS["broadwellnk"]="Intel%20x86%20Linux%20|%20%28Broadwellnk%29"
URIS["bromolow"]="Intel%20x86%20linux%20|%20%28Bromolow%29"
URIS["denverton"]="Intel%20x86%20Linux%20|%20%28Denverton%29"
URIS["geminilake"]="Intel%20x86%20Linux%20|%20%28GeminiLake%29"
URIS["v1000"]="Intel%20x86%20Linux%20|%20%28V1000%29"
URIS["r1000"]="AMD%20x86%20Linux%20|%20%28r1000%29"
URIS["epyc7002"]="AMD%20x86%20Linux%20Linux%20|%20%28epyc7002%29"
PLATFORMS["7.1"]="apollolake:4.4.180 broadwell:4.4.180 broadwellnk:4.4.180 bromolow:3.10.108 denverton:4.4.180 geminilake:4.4.180 v1000:4.4.180 r1000:4.4.180 epyc7002:5.10.55"
PLATFORMS["7.2"]="apollolake:4.4.302 broadwell:4.4.302 broadwellnk:4.4.302 bromolow:3.10.108 denverton:4.4.302 geminilake:4.4.302 v1000:4.4.302 r1000:4.4.302 epyc7002:5.10.55"
mkdir -p ${CACHE_DIR}
############################################################################### ###############################################################################
function trap_cancel() { function trap_cancel() {
@@ -13,70 +32,62 @@ cd `dirname $0`
############################################################################### ###############################################################################
function prepare() { function prepare() {
declare -A URLS
URLS["apollolake"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28Apollolake%29/apollolake-${GCCLIB_VER}_x86_64-GPL.txz"
URLS["broadwell"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28Broadwell%29/broadwell-${GCCLIB_VER}_x86_64-GPL.txz"
URLS["broadwellnk"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28Broadwellnk%29/broadwellnk-${GCCLIB_VER}_x86_64-GPL.txz"
URLS["bromolow"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20linux%203.10.108%20%28Bromolow%29/bromolow-${GCCLIB_VER}_x86_64-GPL.txz"
URLS["denverton"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28Denverton%29/denverton-${GCCLIB_VER}_x86_64-GPL.txz"
URLS["geminilake"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28GeminiLake%29/geminilake-${GCCLIB_VER}_x86_64-GPL.txz"
URLS["v1000"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/Intel%20x86%20Linux%204.4.180%20%28V1000%29/v1000-${GCCLIB_VER}_x86_64-GPL.txz"
URLS["r1000"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/AMD%20x86%20Linux%204.4.180%20%28r1000%29/r1000-${GCCLIB_VER}_x86_64-GPL.txz"
URLS["epyc7002"]="https://global.download.synology.com/download/ToolChain/toolchain/${TOOLCHAIN_VER}/AMD%20x86%20Linux%20Linux%205.10.55%20%28epyc7002%29/epyc7002-${GCCLIB_VER}_x86_64-GPL.txz"
# Read platforms/kerver version
echo "Reading platforms"
declare -A PLATFORMS
while read PLATFORM KVER; do
PLATFORMS[${PLATFORM}]="${KVER}"
done < ${PLATFORM_FILE}
# Download toolkits # Download toolkits
mkdir -p ${CACHE_DIR} for P in ${PLATFORMS[${TOOLKIT_VER}]}; do
PLATFORM="`echo ${P} | cut -d':' -f1`"
for PLATFORM in ${!PLATFORMS[@]}; do KVER="`echo ${P} | cut -d':' -f2`"
KVER="${PLATFORMS[${PLATFORM}]}" # Dev
echo -n "Checking ${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz... " echo -n "Checking ${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz... "
if [ ! -f "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" ]; then if [ ! -f "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" ]; then
URL="https://global.download.synology.com/download/ToolChain/toolkit/${TOOLKIT_VER}/${PLATFORM}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" URL="${SERVER}/download/ToolChain/toolkit/${TOOLKIT_VER}/${PLATFORM}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
echo -e "No\nDownloading ${URL}" echo -e "No\nDownloading ${URL}"
curl -L "${URL}" -o "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" STATUS=`curl -w "%{http_code}" -L "${URL}" -o "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"`
if [ ${STATUS} -ne 200 ]; then
rm -f "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
exit 1
fi
else else
echo "OK" echo "OK"
fi fi
echo -n "Checking ${CACHE_DIR}/${PLATFORM}-toolchain.txz... " # Toolchain
if [ ! -f "${CACHE_DIR}/${PLATFORM}-toolchain.txz" ]; then URI="`echo ${URIS[${PLATFORM}]} | sed "s/|/${KVER}/"`"
URL=${URLS["${PLATFORM}"]} URL="${SERVER}/download/ToolChain/toolchain/${TOOLCHAIN_VER}/${URI}/${PLATFORM}-${GCCLIB_VER}_x86_64-GPL.txz"
FILENAME="${PLATFORM}-${GCCLIB_VER}_x86_64-GPL.txz"
echo -n "Checking ${CACHE_DIR}/${FILENAME}... "
if [ ! -f "${CACHE_DIR}/${FILENAME}" ]; then
echo -e "No\nDownloading ${URL}" echo -e "No\nDownloading ${URL}"
curl -L "${URL}" -o "${CACHE_DIR}/${PLATFORM}-toolchain.txz" STATUS=`curl -w "%{http_code}" -L "${URL}" -o "${CACHE_DIR}/${FILENAME}"`
if [ ${STATUS} -ne 200 ]; then
rm -f "${CACHE_DIR}/${FILENAME}"
exit 1
fi
else else
echo "OK" echo "OK"
fi fi
done done
for KERNEL in 3.10.x 4.4.x 5.10.x; do # for KERNEL in 3.10.x 4.4.x 5.10.x; do
URL=${URLS["${KERNEL}"]} # URL=${URLS["${KERNEL}"]}
[ -z "${URL}" ] && continue # [ -z "${URL}" ] && continue
echo -n "Checking ${CACHE_DIR}/linux-${KERNEL}.txz... " # echo -n "Checking ${CACHE_DIR}/linux-${KERNEL}.txz... "
if [ ! -f "${CACHE_DIR}/linux-${KERNEL}.txz" ]; then # if [ ! -f "${CACHE_DIR}/linux-${KERNEL}.txz" ]; then
echo -e "No\nDownloading ${URL}" # echo -e "No\nDownloading ${URL}"
curl -L "${URL}" -o "${CACHE_DIR}/linux-${KERNEL}.txz" # STATUS=`curl -w "%{http_code}" -L "${URL}" -o "${CACHE_DIR}/linux-${KERNEL}.txz"`
else # if [ ${STATUS} -ne 200 ]; then
echo "OK" # rm -f "${CACHE_DIR}/linux-${KERNEL}.txz"
fi # exit 1
done # fi
# else
# echo "OK"
# fi
# done
# Generate Dockerfile # Generate Dockerfile
echo "Generating Dockerfile" echo "Generating Dockerfile"
cp Dockerfile.template Dockerfile cp Dockerfile.template Dockerfile
VALUE="" sed -i "s|@@@PLATFORMS@@@|${PLATFORMS[${TOOLKIT_VER}]}|g" Dockerfile
for PLATFORM in ${!PLATFORMS[@]}; do
VALUE+="${PLATFORM}:${PLATFORMS[${PLATFORM}]} "
done
sed -i "s|@@@PLATFORMS@@@|${VALUE::-1}|g" Dockerfile
sed -i "s|@@@TOOLKIT_VER@@@|${TOOLKIT_VER}|g" Dockerfile sed -i "s|@@@TOOLKIT_VER@@@|${TOOLKIT_VER}|g" Dockerfile
sed -i "s|@@@GCCLIB_VER@@@|${GCCLIB_VER}|g" Dockerfile
} }
# 7.0 # 7.0
@@ -89,9 +100,18 @@ function prepare() {
#docker buildx build . --load --tag fbelavenuto/syno-compiler:${TOOLKIT_VER} #docker buildx build . --load --tag fbelavenuto/syno-compiler:${TOOLKIT_VER}
# 7.1 # 7.1
TOOLKIT_VER="7.1" # TOOLKIT_VER="7.1"
TOOLCHAIN_VER="7.1-42661" # TOOLCHAIN_VER="7.1-42661"
GCCLIB_VER="gcc850_glibc226" # GCCLIB_VER="gcc850_glibc226"
# prepare
# echo "Building ${TOOLKIT_VER}"
# docker image rm fbelavenuto/syno-compiler:${TOOLKIT_VER} >/dev/null 2>&1
# docker buildx build . --load --tag fbelavenuto/syno-compiler:${TOOLKIT_VER}
# 7.2
TOOLKIT_VER="7.2"
TOOLCHAIN_VER="7.2-63134"
GCCLIB_VER="gcc1220_glibc236"
prepare prepare
echo "Building ${TOOLKIT_VER}" echo "Building ${TOOLKIT_VER}"
docker image rm fbelavenuto/syno-compiler:${TOOLKIT_VER} >/dev/null 2>&1 docker image rm fbelavenuto/syno-compiler:${TOOLKIT_VER} >/dev/null 2>&1

View File

@@ -1,15 +0,0 @@
FROM scratch
ARG PLATFORM
ARG TOOLKIT_VER
ARG CACHE_DIR
ENV PLATFORM=${PLATFORM} TOOLKIT_VER=${TOOLKIT_VER}
ADD ${CACHE_DIR}/base_env-${TOOLKIT_VER}.txz /
ADD ${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.env.txz /
ADD ${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz /
ADD rootfs /
WORKDIR /input
VOLUME /input /output
ENTRYPOINT ["/usr/bin/do.sh"]

View File

@@ -1,9 +0,0 @@
bromolow 3.10.108
apollolake 4.4.180
broadwell 4.4.180
broadwellnk 4.4.180
denverton 4.4.180
geminilake 4.4.180
v1000 4.4.180
r1000 4.4.180
epyc7002 5.10.55

View File

@@ -1,61 +0,0 @@
#!/usr/bin/env bash
set -e
CACHE_DIR="cache"
PLATFORM_FILE="PLATFORMS"
TOOLKIT_VER=7.1
###############################################################################
function trap_cancel() {
echo "Press Control+C once more terminate the process (or wait 2s for it to restart)"
sleep 2 || exit 1
}
trap trap_cancel SIGINT SIGTERM
cd `dirname $0`
# Read platforms/kerver version
echo "Reading platforms"
declare -A PLATFORMS
while read PLATFORM KVER; do
PLATFORMS[${PLATFORM}]="${KVER}"
done < ${PLATFORM_FILE}
# Download toolkits
mkdir -p ${CACHE_DIR}
# Check base environment
echo -n "Checking ${CACHE_DIR}/base_env-${TOOLKIT_VER}.txz... "
if [ ! -f "${CACHE_DIR}/base_env-${TOOLKIT_VER}.txz" ]; then
URL="https://global.download.synology.com/download/ToolChain/toolkit/${TOOLKIT_VER}/${PLATFORM}/base_env-${TOOLKIT_VER}.txz"
echo "Downloading ${URL}"
curl -L "${URL}" -o "${CACHE_DIR}/base_env-${TOOLKIT_VER}.txz"
else
echo "OK"
fi
# Check all platforms
for PLATFORM in ${!PLATFORMS[@]}; do
echo -n "Checking ${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz... "
if [ ! -f "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" ]; then
URL="https://global.download.synology.com/download/ToolChain/toolkit/${TOOLKIT_VER}/${PLATFORM}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
echo "Downloading ${URL}"
curl -L "${URL}" -o "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
else
echo "OK"
fi
echo -n "Checking ${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.env.txz... "
if [ ! -f "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.env.txz" ]; then
URL="https://global.download.synology.com/download/ToolChain/toolkit/${TOOLKIT_VER}/${PLATFORM}/ds.${PLATFORM}-${TOOLKIT_VER}.env.txz"
echo "Downloading ${URL}"
curl -L "${URL}" -o "${CACHE_DIR}/ds.${PLATFORM}-${TOOLKIT_VER}.env.txz"
else
echo "OK"
fi
done
# Generate docker images
for PLATFORM in ${!PLATFORMS[@]}; do
docker buildx build . --build-arg PLATFORM=${PLATFORM} --build-arg TOOLKIT_VER=${TOOLKIT_VER} --build-arg CACHE_DIR="${CACHE_DIR}" \
--tag fbelavenuto/syno-toolkit:${PLATFORM}-${TOOLKIT_VER} --load
done

View File

@@ -1,10 +0,0 @@
export PATH="/usr/local/x86_64-pc-linux-gnu/bin:${PATH}"
[[ "$-" != *i* ]] && return
export LS_OPTIONS='--color=auto'
export SHELL='linux'
eval "`dircolors`"
alias ls='ls -F -h --color=always -v --author --time-style=long-iso'
alias ll='ls -l'
alias l='ls -l -a'
alias h='history 25'
alias j='jobs -l'

View File

@@ -1,56 +0,0 @@
#!/usr/bin/env bash
set -e
###############################################################################
function compile-module {
echo -e "Compiling module for \033[7m${PLATFORM}\033[0m..."
cp -R /input /tmp
PARMS="${PLATFORM^^}-Y=y ${PLATFORM^^}-M=m"
if [ -f "/tmp/input/defines.${PLATFORM}" ]; then
PARMS+=" `cat "/tmp/input/defines.${PLATFORM}" | xargs`"
fi
make -j`nproc` -C ${KSRC} M=/tmp/input ${PARMS} modules
while read F; do
strip -g "${F}"
echo "Copying `basename ${F}`"
cp "${F}" "/output"
chown 1000.1000 "/output/`basename ${F}`"
done < <(find /tmp/input -name \*.ko)
}
###############################################################################
function compile-lkm {
cp -R /input /tmp
make -C "/tmp/input" dev-v7
strip -g "/tmp/input/redpill.ko"
mv "/tmp/input/redpill.ko" "/output/redpill-dev.ko"
chown 1000.1000 /output/redpill-dev.ko
make -C "/tmp/input" clean
make -C "/tmp/input" prod-v7
strip -g "/tmp/input/redpill.ko"
mv "/tmp/input/redpill.ko" "/output/redpill-prod.ko"
chown 1000.1000 /output/redpill-prod.ko
}
###############################################################################
###############################################################################
if [ $# -lt 1 ]; then
echo "Use: <command> (<params>)"
echo "Commands: shell | compile-module | compile-lkm"
exit 1
fi
export KSRC="/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-${TOOLKIT_VER}/build"
export LINUX_SRC="/usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-${TOOLKIT_VER}/build"
export CROSS_COMPILE="/usr/local/x86_64-pc-linux-gnu/bin/x86_64-pc-linux-gnu-"
export ARCH=x86_64
export CC="x86_64-pc-linux-gnu-gcc"
export LD="x86_64-pc-linux-gnu-ld"
case $1 in
shell) shift && bash -l $@ ;;
compile-module) compile-module ;;
compile-lkm) compile-lkm ;;
*) echo "Command not recognized: $1" ;;
esac

View File

@@ -192,24 +192,9 @@ CONFIG_SCSI_PM8001=m
CONFIG_SCSI_VIRTIO=m CONFIG_SCSI_VIRTIO=m
CONFIG_SCSI_DH=y CONFIG_SCSI_DH=y
CONFIG_ATA=y CONFIG_ATA=y
# CONFIG_ATA_FORCE is not set
CONFIG_SATA_AHCI=y CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=m CONFIG_SATA_MV=y
CONFIG_SATA_ACARD_AHCI=m
CONFIG_SATA_SIL24=m
CONFIG_PDC_ADMA=m
CONFIG_SATA_QSTOR=m
CONFIG_ATA_PIIX=y
CONFIG_SATA_DWC=m
CONFIG_SATA_MV=m
CONFIG_SATA_NV=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SIL=m
CONFIG_SATA_SIS=m
CONFIG_SATA_SVW=m
CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m
CONFIG_SATA_VITESSE=m
CONFIG_ATA_GENERIC=y
CONFIG_MD=y CONFIG_MD=y
CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DM=y
@@ -231,8 +216,6 @@ CONFIG_ET131X=m
CONFIG_SLICOSS=m CONFIG_SLICOSS=m
CONFIG_ACENIC=m CONFIG_ACENIC=m
CONFIG_ENA_ETHERNET=m CONFIG_ENA_ETHERNET=m
CONFIG_AMD8111_ETH=m
CONFIG_PCNET32=m
CONFIG_AMD_XGBE=m CONFIG_AMD_XGBE=m
CONFIG_AQTION=m CONFIG_AQTION=m
CONFIG_ATL1=m CONFIG_ATL1=m
@@ -242,7 +225,7 @@ CONFIG_ALX=m
CONFIG_B44=m CONFIG_B44=m
CONFIG_BCMGENET=m CONFIG_BCMGENET=m
CONFIG_CNIC=m CONFIG_CNIC=m
CONFIG_TIGON3=y CONFIG_TIGON3=m
CONFIG_BNX2X=m CONFIG_BNX2X=m
CONFIG_SYSTEMPORT=m CONFIG_SYSTEMPORT=m
CONFIG_BNXT=m CONFIG_BNXT=m
@@ -263,9 +246,7 @@ CONFIG_DNET=m
CONFIG_DL2K=m CONFIG_DL2K=m
CONFIG_SUNDANCE=m CONFIG_SUNDANCE=m
CONFIG_BE2NET=m CONFIG_BE2NET=m
# CONFIG_NET_VENDOR_GOOGLE is not set
CONFIG_HINIC=m CONFIG_HINIC=m
CONFIG_E100=y
CONFIG_E1000=m CONFIG_E1000=m
CONFIG_E1000E=m CONFIG_E1000E=m
CONFIG_IGB=m CONFIG_IGB=m
@@ -274,14 +255,18 @@ CONFIG_IXGB=m
CONFIG_IXGBE=m CONFIG_IXGBE=m
CONFIG_IXGBEVF=m CONFIG_IXGBEVF=m
CONFIG_I40E=m CONFIG_I40E=m
CONFIG_I40EVF=m
CONFIG_ICE=m CONFIG_ICE=m
CONFIG_FM10K=m CONFIG_FM10K=m
CONFIG_IGC=m CONFIG_IGC=m
CONFIG_JME=m CONFIG_JME=m
CONFIG_MVMDIO=m CONFIG_MVMDIO=m
CONFIG_SKGE=m CONFIG_SKGE=m
CONFIG_SKY2=y CONFIG_SKY2=m
CONFIG_MLX4_EN=m CONFIG_MLX4_EN=m
CONFIG_MLX5_CORE=m
CONFIG_MLX5_CORE_EN=y
CONFIG_MLXSW_CORE=m
CONFIG_MYRI10GE=m CONFIG_MYRI10GE=m
CONFIG_NATSEMI=m CONFIG_NATSEMI=m
CONFIG_NS83820=m CONFIG_NS83820=m
@@ -289,7 +274,6 @@ CONFIG_S2IO=m
CONFIG_VXGE=m CONFIG_VXGE=m
CONFIG_NFP=m CONFIG_NFP=m
CONFIG_NI_XGE_MANAGEMENT_ENET=m CONFIG_NI_XGE_MANAGEMENT_ENET=m
CONFIG_FORCEDETH=m
CONFIG_HAMACHI=m CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m CONFIG_YELLOWFIN=m
CONFIG_QLA3XXX=m CONFIG_QLA3XXX=m
@@ -299,23 +283,22 @@ CONFIG_QED=m
CONFIG_QEDE=m CONFIG_QEDE=m
CONFIG_QCOM_EMAC=m CONFIG_QCOM_EMAC=m
CONFIG_RMNET=m CONFIG_RMNET=m
CONFIG_8139CP=m
CONFIG_8139TOO=m
# CONFIG_8139TOO_PIO is not set
CONFIG_8139TOO_TUNE_TWISTER=y
CONFIG_R8169=m CONFIG_R8169=m
CONFIG_SXGBE_ETH=m CONFIG_SXGBE_ETH=m
CONFIG_SFC=m
# CONFIG_SFC_MCDI_MON is not set
# CONFIG_SFC_MCDI_LOGGING is not set
CONFIG_SFC_FALCON=m CONFIG_SFC_FALCON=m
CONFIG_SIS190=m CONFIG_SIS190=m
CONFIG_STMMAC_ETH=m
CONFIG_SUNGEM=m
CONFIG_CASSINI=m
CONFIG_NIU=m CONFIG_NIU=m
CONFIG_DWC_XLGMAC=m CONFIG_DWC_XLGMAC=m
CONFIG_TEHUTI=m CONFIG_TEHUTI=m
CONFIG_VIA_VELOCITY=m CONFIG_VIA_VELOCITY=m
CONFIG_XILINX_AXI_EMAC=m CONFIG_XILINX_AXI_EMAC=m
CONFIG_XILINX_LL_TEMAC=m CONFIG_PHYLIB=y
CONFIG_REALTEK_PHY=y CONFIG_REALTEK_PHY=y
CONFIG_PCS_XPCS=m
CONFIG_USB_NET_DRIVERS=m CONFIG_USB_NET_DRIVERS=m
CONFIG_USB_CATC=m CONFIG_USB_CATC=m
CONFIG_USB_KAWETH=m CONFIG_USB_KAWETH=m
@@ -369,7 +352,7 @@ CONFIG_HPET=y
CONFIG_I2C=y CONFIG_I2C=y
CONFIG_I2C_I801=y CONFIG_I2C_I801=y
CONFIG_WATCHDOG=y CONFIG_WATCHDOG=y
CONFIG_REGULATOR=y CONFIG_MFD_SYSCON=y
CONFIG_AGP=y CONFIG_AGP=y
CONFIG_AGP_AMD64=y CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y CONFIG_AGP_INTEL=y
@@ -431,6 +414,12 @@ CONFIG_USB_UAS=y
CONFIG_USB_SERIAL=m CONFIG_USB_SERIAL=m
CONFIG_USB_ROLE_SWITCH=y CONFIG_USB_ROLE_SWITCH=y
CONFIG_USB_ROLES_INTEL_XHCI=m CONFIG_USB_ROLES_INTEL_XHCI=m
CONFIG_MMC=m
CONFIG_MMC_SDHCI=m
CONFIG_MMC_VIA_SDMMC=m
CONFIG_MMC_VUB300=m
CONFIG_MMC_USHC=m
CONFIG_MMC_MTK=m
CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGERS=y
CONFIG_RTC_CLASS=y CONFIG_RTC_CLASS=y
# CONFIG_RTC_HCTOSYS is not set # CONFIG_RTC_HCTOSYS is not set
@@ -453,6 +442,7 @@ CONFIG_INTEL_IOMMU=y
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set # CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
CONFIG_VIRTIO_IOMMU=m CONFIG_VIRTIO_IOMMU=m
CONFIG_MEMORY=y CONFIG_MEMORY=y
CONFIG_RESET_CONTROLLER=y
CONFIG_VALIDATE_FS_PARSER=y CONFIG_VALIDATE_FS_PARSER=y
CONFIG_EXT2_FS=y CONFIG_EXT2_FS=y
CONFIG_EXT3_FS=y CONFIG_EXT3_FS=y

View File

@@ -65,10 +65,10 @@ CMDLINE['pid']="${PID}"
CMDLINE['sn']="${SN}" CMDLINE['sn']="${SN}"
# Read cmdline # Read cmdline
while IFS="=" read KEY VALUE; do while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}" [ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
done < <(readModelMap "${MODEL}" "builds.${BUILD}.cmdline") done < <(readModelMap "${MODEL}" "builds.${BUILD}.cmdline")
while IFS="=" read KEY VALUE; do while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}" [ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}") done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
@@ -100,7 +100,7 @@ fi
# Prepare command line # Prepare command line
CMDLINE_LINE="" CMDLINE_LINE=""
grep -q "force_junior" /proc/cmdline && CMDLINE_LINE+="force_junior " grep -q "force_junior" /proc/cmdline && CMDLINE_LINE+="force_junior "
[ ${EFI} -eq 1 ] && CMDLINE_LINE+="withefi " [ ${EFI} -eq 1 ] && CMDLINE_LINE+="withefi " || CMDLINE_LINE+="noefi "
[ "${BUS}" = "ata" ] && CMDLINE_LINE+="synoboot_satadom=${DOM} dom_szmax=${SIZE} " [ "${BUS}" = "ata" ] && CMDLINE_LINE+="synoboot_satadom=${DOM} dom_szmax=${SIZE} "
CMDLINE_DIRECT="${CMDLINE_LINE}" CMDLINE_DIRECT="${CMDLINE_LINE}"
CMDLINE_LINE+="console=ttyS0,115200n8 earlyprintk earlycon=uart8250,io,0x3f8,115200n8 root=/dev/md0 loglevel=15 log_buf_len=32M" CMDLINE_LINE+="console=ttyS0,115200n8 earlyprintk earlycon=uart8250,io,0x3f8,115200n8 root=/dev/md0 loglevel=15 log_buf_len=32M"
@@ -112,7 +112,7 @@ for KEY in ${!CMDLINE[@]}; do
[ -n "${VALUE}" ] && CMDLINE_DIRECT+="=${VALUE}" [ -n "${VALUE}" ] && CMDLINE_DIRECT+="=${VALUE}"
done done
# Escape special chars # Escape special chars
CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'` #CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'`
CMDLINE_DIRECT=`echo ${CMDLINE_DIRECT} | sed 's/>/\\\\>/g'` CMDLINE_DIRECT=`echo ${CMDLINE_DIRECT} | sed 's/>/\\\\>/g'`
echo -e "Cmdline:\n\033[1;36m${CMDLINE_LINE}\033[0m" echo -e "Cmdline:\n\033[1;36m${CMDLINE_LINE}\033[0m"

View File

@@ -33,7 +33,7 @@ function readConfigKey() {
# 2 - Path of yaml config file # 2 - Path of yaml config file
# Returns map of values # Returns map of values
function readConfigMap() { function readConfigMap() {
yq eval '.'${1}' | explode(.) | to_entries | map([.key, .value] | join("=")) | .[]' "${2}" yq eval '.'${1}' | explode(.) | to_entries | map([.key, .value] | join(": ")) | .[]' "${2}"
} }
############################################################################### ###############################################################################

View File

@@ -1,5 +1,5 @@
ARPL_VERSION="1.0-beta13a" ARPL_VERSION="1.1-beta2a"
# Define paths # Define paths
TMP_PATH="/tmp" TMP_PATH="/tmp"

View File

@@ -72,12 +72,12 @@ MACF=`echo ${MAC} | sed 's/://g'`
# If user config file not exists, initialize it # If user config file not exists, initialize it
if [ ! -f "${USER_CONFIG_FILE}" ]; then if [ ! -f "${USER_CONFIG_FILE}" ]; then
touch "${USER_CONFIG_FILE}" touch "${USER_CONFIG_FILE}"
writeConfigKey "lkm" "dev" "${USER_CONFIG_FILE}" writeConfigKey "lkm" "prod" "${USER_CONFIG_FILE}"
writeConfigKey "directboot" "false" "${USER_CONFIG_FILE}" writeConfigKey "directboot" "false" "${USER_CONFIG_FILE}"
writeConfigKey "model" "" "${USER_CONFIG_FILE}" writeConfigKey "model" "" "${USER_CONFIG_FILE}"
writeConfigKey "build" "" "${USER_CONFIG_FILE}" writeConfigKey "build" "" "${USER_CONFIG_FILE}"
writeConfigKey "sn" "" "${USER_CONFIG_FILE}" writeConfigKey "sn" "" "${USER_CONFIG_FILE}"
writeConfigKey "maxdisks" "" "${USER_CONFIG_FILE}" # writeConfigKey "maxdisks" "" "${USER_CONFIG_FILE}"
writeConfigKey "layout" "qwerty" "${USER_CONFIG_FILE}" writeConfigKey "layout" "qwerty" "${USER_CONFIG_FILE}"
writeConfigKey "keymap" "" "${USER_CONFIG_FILE}" writeConfigKey "keymap" "" "${USER_CONFIG_FILE}"
writeConfigKey "zimage-hash" "" "${USER_CONFIG_FILE}" writeConfigKey "zimage-hash" "" "${USER_CONFIG_FILE}"

View File

@@ -145,13 +145,13 @@ function buildMenu() {
writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}" writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}"
# Delete synoinfo and reload model/build synoinfo # Delete synoinfo and reload model/build synoinfo
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}" writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
while IFS="=" read KEY VALUE; do while IFS=': ' read KEY VALUE; do
writeConfigKey "synoinfo.${KEY}" "${VALUE}" "${USER_CONFIG_FILE}" writeConfigKey "synoinfo.${KEY}" "${VALUE}" "${USER_CONFIG_FILE}"
done < <(readModelMap "${MODEL}" "builds.${BUILD}.synoinfo") done < <(readModelMap "${MODEL}" "builds.${BUILD}.synoinfo")
# Check addons # Check addons
PLATFORM="`readModelKey "${MODEL}" "platform"`" PLATFORM="`readModelKey "${MODEL}" "platform"`"
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`" KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
while IFS="=" read ADDON PARAM; do while IFS=': ' read ADDON PARAM; do
[ -z "${ADDON}" ] && continue [ -z "${ADDON}" ] && continue
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then
deleteConfigKey "addons.${ADDON}" "${USER_CONFIG_FILE}" deleteConfigKey "addons.${ADDON}" "${USER_CONFIG_FILE}"
@@ -215,7 +215,7 @@ function addonMenu() {
# Read addons from user config # Read addons from user config
unset ADDONS unset ADDONS
declare -A ADDONS declare -A ADDONS
while IFS="=" read KEY VALUE; do while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}" [ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}") done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
NEXT="a" NEXT="a"
@@ -331,15 +331,14 @@ function addonMenu() {
function cmdlineMenu() { function cmdlineMenu() {
unset CMDLINE unset CMDLINE
declare -A CMDLINE declare -A CMDLINE
while IFS="=" read KEY VALUE; do while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}" [ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}") done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
echo "a \"Add/edit a cmdline item\"" > "${TMP_PATH}/menu" echo "a \"Add/edit a cmdline item\"" > "${TMP_PATH}/menu"
echo "d \"Delete cmdline item(s)\"" >> "${TMP_PATH}/menu" echo "d \"Delete cmdline item(s)\"" >> "${TMP_PATH}/menu"
echo "c \"Define a custom MAC\"" >> "${TMP_PATH}/menu" echo "c \"Define a custom MAC\"" >> "${TMP_PATH}/menu"
echo "s \"Show user cmdline\"" >> "${TMP_PATH}/menu" echo "s \"Show user cmdline\"" >> "${TMP_PATH}/menu"
echo "m \"Show model/build cmdline\"" >> "${TMP_PATH}/menu" echo "m \"Show model/build cmdline\"" >> "${TMP_PATH}/menu"
echo "u \"Show SATA(s) # ports and drives\"" >> "${TMP_PATH}/menu"
echo "e \"Exit\"" >> "${TMP_PATH}/menu" echo "e \"Exit\"" >> "${TMP_PATH}/menu"
# Loop menu # Loop menu
while true; do while true; do
@@ -415,40 +414,12 @@ function cmdlineMenu() {
;; ;;
m) m)
ITEMS="" ITEMS=""
while IFS="=" read KEY VALUE; do while IFS=': ' read KEY VALUE; do
ITEMS+="${KEY}: ${VALUE}\n" ITEMS+="${KEY}: ${VALUE}\n"
done < <(readModelMap "${MODEL}" "builds.${BUILD}.cmdline") done < <(readModelMap "${MODEL}" "builds.${BUILD}.cmdline")
dialog --backtitle "`backtitle`" --title "Model/build cmdline" \ dialog --backtitle "`backtitle`" --title "Model/build cmdline" \
--aspect 18 --msgbox "${ITEMS}" 0 0 --aspect 18 --msgbox "${ITEMS}" 0 0
;; ;;
u) TEXT=""
NUMPORTS=0
for PCI in `lspci -d ::106 | awk '{print$1}'`; do
NAME=`lspci -s "${PCI}" | sed "s/\ .*://"`
TEXT+="\Zb${NAME}\Zn\nPorts: "
unset HOSTPORTS
declare -A HOSTPORTS
while read LINE; do
ATAPORT="`echo ${LINE} | grep -o 'ata[0-9]*'`"
PORT=`echo ${ATAPORT} | sed 's/ata//'`
HOSTPORTS[${PORT}]=`echo ${LINE} | grep -o 'host[0-9]*$'`
done < <(ls -l /sys/class/scsi_host | fgrep "${PCI}")
while read PORT; do
ls -l /sys/block | fgrep -q "${PCI}/ata${PORT}" && ATTACH=1 || ATTACH=0
PCMD=`cat /sys/class/scsi_host/${HOSTPORTS[${PORT}]}/ahci_port_cmd`
[ "${PCMD}" = "0" ] && DUMMY=1 || DUMMY=0
[ ${ATTACH} -eq 1 ] && TEXT+="\Z2\Zb"
[ ${DUMMY} -eq 1 ] && TEXT+="\Z1"
TEXT+="${PORT}\Zn "
NUMPORTS=$((${NUMPORTS}+1))
done < <(echo ${!HOSTPORTS[@]} | tr ' ' '\n' | sort -n)
TEXT+="\n"
done
TEXT+="\nTotal of ports: ${NUMPORTS}\n"
TEXT+="\nPorts with color \Z1red\Zn as DUMMY, color \Z2\Zbgreen\Zn has drive connected."
dialog --backtitle "`backtitle`" --colors --aspect 18 \
--msgbox "${TEXT}" 0 0
;;
e) return ;; e) return ;;
esac esac
done done
@@ -456,20 +427,15 @@ function cmdlineMenu() {
############################################################################### ###############################################################################
function synoinfoMenu() { function synoinfoMenu() {
# Get dt flag from model
DT="`readModelKey "${MODEL}" "dt"`"
# Read synoinfo from user config # Read synoinfo from user config
unset SYNOINFO unset SYNOINFO
declare -A SYNOINFO declare -A SYNOINFO
while IFS="=" read KEY VALUE; do while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}" [ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}") done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
echo "a \"Add/edit a synoinfo item\"" > "${TMP_PATH}/menu" echo "a \"Add/edit a synoinfo item\"" > "${TMP_PATH}/menu"
echo "d \"Delete synoinfo item(s)\"" >> "${TMP_PATH}/menu" echo "d \"Delete synoinfo item(s)\"" >> "${TMP_PATH}/menu"
if [ "${DT}" != "true" ]; then
echo "x \"Set maxdisks manually\"" >> "${TMP_PATH}/menu"
fi
echo "s \"Show synoinfo entries\"" >> "${TMP_PATH}/menu" echo "s \"Show synoinfo entries\"" >> "${TMP_PATH}/menu"
echo "e \"Exit\"" >> "${TMP_PATH}/menu" echo "e \"Exit\"" >> "${TMP_PATH}/menu"
@@ -516,15 +482,6 @@ function synoinfoMenu() {
done done
DIRTY=1 DIRTY=1
;; ;;
x)
MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"`
dialog --backtitle "`backtitle`" --title "Maxdisks" \
--inputbox "Type a value for maxdisks" 0 0 "${MAXDISKS}" \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && continue
VALUE="`<"${TMP_PATH}/resp"`"
[ "${VALUE}" != "${MAXDISKS}" ] && writeConfigKey "maxdisks" "${VALUE}" "${USER_CONFIG_FILE}"
;;
s) s)
ITEMS="" ITEMS=""
for KEY in ${!SYNOINFO[@]}; do for KEY in ${!SYNOINFO[@]}; do
@@ -546,13 +503,6 @@ function extractDsmFiles() {
RAMDISK_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.ramdisk-hash"`" RAMDISK_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.ramdisk-hash"`"
ZIMAGE_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.zimage-hash"`" ZIMAGE_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.zimage-hash"`"
# If we have little disk space, clean cache folder
if [ ${CLEARCACHE} -eq 1 ]; then
echo "Cleaning cache"
rm -rf "${CACHE_PATH}/dl"
fi
mkdir -p "${CACHE_PATH}/dl"
SPACELEFT=`df --block-size=1 | awk '/'${LOADER_DEVICE_NAME}'3/{print$4}'` # Check disk space left SPACELEFT=`df --block-size=1 | awk '/'${LOADER_DEVICE_NAME}'3/{print$4}'` # Check disk space left
PAT_FILE="${MODEL}-${BUILD}.pat" PAT_FILE="${MODEL}-${BUILD}.pat"
@@ -564,6 +514,13 @@ function extractDsmFiles() {
if [ -f "${PAT_PATH}" ]; then if [ -f "${PAT_PATH}" ]; then
echo "${PAT_FILE} cached." echo "${PAT_FILE} cached."
else else
# If we have little disk space, clean cache folder
if [ ${CLEARCACHE} -eq 1 ]; then
echo "Cleaning cache"
rm -rf "${CACHE_PATH}/dl"
fi
mkdir -p "${CACHE_PATH}/dl"
echo "Downloading ${PAT_FILE}" echo "Downloading ${PAT_FILE}"
# Discover remote file size # Discover remote file size
FILESIZE=`curl --insecure -sLI "${PAT_URL}" | grep -i Content-Length | awk '{print$2}'` FILESIZE=`curl --insecure -sLI "${PAT_URL}" | grep -i Content-Length | awk '{print$2}'`
@@ -714,7 +671,7 @@ function make() {
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`" KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
# Check if all addon exists # Check if all addon exists
while IFS="=" read ADDON PARAM; do while IFS=': ' read ADDON PARAM; do
[ -z "${ADDON}" ] && continue [ -z "${ADDON}" ] && continue
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \ dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
@@ -763,6 +720,7 @@ function advancedMenu() {
fi fi
echo "u \"Edit user config file manually\"" >> "${TMP_PATH}/menu" echo "u \"Edit user config file manually\"" >> "${TMP_PATH}/menu"
echo "t \"Try to recovery a DSM installed system\"" >> "${TMP_PATH}/menu" echo "t \"Try to recovery a DSM installed system\"" >> "${TMP_PATH}/menu"
echo "s \"Show SATA(s) # ports and drives\"" >> "${TMP_PATH}/menu"
echo "e \"Exit\"" >> "${TMP_PATH}/menu" echo "e \"Exit\"" >> "${TMP_PATH}/menu"
dialog --default-item ${NEXT} --backtitle "`backtitle`" --title "Advanced" \ dialog --default-item ${NEXT} --backtitle "`backtitle`" --title "Advanced" \
@@ -782,7 +740,35 @@ function advancedMenu() {
;; ;;
u) editUserConfig; NEXT="e" ;; u) editUserConfig; NEXT="e" ;;
t) tryRecoveryDSM ;; t) tryRecoveryDSM ;;
e) break ;; s) TEXT=""
NUMPORTS=0
for PCI in `lspci -d ::106 | awk '{print$1}'`; do
NAME=`lspci -s "${PCI}" | sed "s/\ .*://"`
TEXT+="\Zb${NAME}\Zn\nPorts: "
unset HOSTPORTS
declare -A HOSTPORTS
while read LINE; do
ATAPORT="`echo ${LINE} | grep -o 'ata[0-9]*'`"
PORT=`echo ${ATAPORT} | sed 's/ata//'`
HOSTPORTS[${PORT}]=`echo ${LINE} | grep -o 'host[0-9]*$'`
done < <(ls -l /sys/class/scsi_host | fgrep "${PCI}")
while read PORT; do
ls -l /sys/block | fgrep -q "${PCI}/ata${PORT}" && ATTACH=1 || ATTACH=0
PCMD=`cat /sys/class/scsi_host/${HOSTPORTS[${PORT}]}/ahci_port_cmd`
[ "${PCMD}" = "0" ] && DUMMY=1 || DUMMY=0
[ ${ATTACH} -eq 1 ] && TEXT+="\Z2\Zb"
[ ${DUMMY} -eq 1 ] && TEXT+="\Z1"
TEXT+="${PORT}\Zn "
NUMPORTS=$((${NUMPORTS}+1))
done < <(echo ${!HOSTPORTS[@]} | tr ' ' '\n' | sort -n)
TEXT+="\n"
done
TEXT+="\nTotal of ports: ${NUMPORTS}\n"
TEXT+="\nPorts with color \Z1red\Zn as DUMMY, color \Z2\Zbgreen\Zn has drive connected."
dialog --backtitle "`backtitle`" --colors --aspect 18 \
--msgbox "${TEXT}" 0 0
;;
e) break ;;
esac esac
done done
} }
@@ -840,7 +826,7 @@ function selectModules() {
ALLMODULES=`getAllModules "${PLATFORM}" "${KVER}"` ALLMODULES=`getAllModules "${PLATFORM}" "${KVER}"`
unset USERMODULES unset USERMODULES
declare -A USERMODULES declare -A USERMODULES
while IFS="=" read KEY VALUE; do while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && USERMODULES["${KEY}"]="${VALUE}" [ -n "${KEY}" ] && USERMODULES["${KEY}"]="${VALUE}"
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}") done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
# menu loop # menu loop
@@ -1030,7 +1016,7 @@ function updateMenu() {
[ -f "${F}" ] && rm -f "${F}" [ -f "${F}" ] && rm -f "${F}"
[ -d "${F}" ] && rm -Rf "${F}" [ -d "${F}" ] && rm -Rf "${F}"
done < <(readConfigArray "remove" "/tmp/update-list.yml") done < <(readConfigArray "remove" "/tmp/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}"
@@ -1161,6 +1147,7 @@ function updateMenu() {
############################################################################### ###############################################################################
if [ "x$1" = "xb" -a -n "${MODEL}" -a -n "${BUILD}" -a loaderIsConfigured ]; then if [ "x$1" = "xb" -a -n "${MODEL}" -a -n "${BUILD}" -a loaderIsConfigured ]; then
install-addons.sh
make make
boot && exit 0 || sleep 5 boot && exit 0 || sleep 5
fi fi

View File

@@ -6,7 +6,8 @@ synoinfo: &synoinfo
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
intel_iommu: igfx_off intel_iommu: igfx_off
HddEnableDynamicPower: 1 HddEnableDynamicPower: 1
@@ -37,10 +38,10 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1520%2B_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1520%2B_42218.pat"
hash: "06947c58f25bd591f7fa3c58ad9473777481bdd7a049b42d1cb585ca01b053ee" hash: "b8864e2becd8ce5a6083db993564c8c0b982df8300a006b56695a0495a670aa3"
ramdisk-hash: "f0a275587c51acdb4d58a7f0d82d70f31e54228d0fbf7575d5d425dae75d1969" ramdisk-hash: "7679ab11e895302425533c64e0dded211b38b8af71f2dd268c47a68bc9f6818a"
zimage-hash: "74d513aaa3e30d8aa4f80e202d94a68a552e9c0472f8470e133ad29080556f55" zimage-hash: "70e93678f3932c35c5e884f950e50b36f8dc6366f96dd9a454c8d47ecbaee5de"
md5-hash: "f56200a8be1aed4eb287a51b373adb1f" md5-hash: "d1ebc3c9a2b9e04980a85c4784904f91"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -6,13 +6,13 @@ synoinfo: &synoinfo
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
SMBusHddDynamicPower: 1 SMBusHddDynamicPower: 1
syno_hdd_powerup_seq: 0 syno_hdd_powerup_seq: 0
HddHotplug: 0 HddHotplug: 0
vender_format_version: 2 vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0 syno_hdd_detect: 0
synoboot2: synoboot2:
syno_ttyS0: "serial,0x3f8" syno_ttyS0: "serial,0x3f8"
@@ -39,10 +39,10 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1621%2B_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1621%2B_42218.pat"
hash: "19f56827ba8bf0397d42cd1d6f83c447f092c2c1bbb70d8a2ad3fbd427e866df" hash: "396144fdcd94d441b4ad665099395cf24a14606742bee9438745ea30bf12b9ef"
ramdisk-hash: "73512c7bceb34cf7f7f93c2703db60496da0e27274fc45e5aefa0366c9734d6e" ramdisk-hash: "127a12bab3835cdf5af4e7ad2a23e78f889408302c55e5052080671cff6da5b7"
zimage-hash: "f4648d0dd6b29ef6149b0ff46afe1fe32f81730aa79af72f37ffd3647c76f586" zimage-hash: "0ab3bf0ff027fb94863ef8822df787194f2d21079ecc66c0b0d4e46d24598855"
md5-hash: "f82cbabbfef3fdf2cba45da77d14959b" md5-hash: "1fd1d6e733bb096f418f68e06f81022e"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -7,11 +7,11 @@ synoinfo: &synoinfo
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
SMBusHddDynamicPower: 1 SMBusHddDynamicPower: 1
vender_format_version: 2 vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0 syno_hdd_detect: 0
synoboot2: synoboot2:
syno_ttyS0: "serial,0x3f8" syno_ttyS0: "serial,0x3f8"
@@ -39,10 +39,10 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS2422%2B_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS2422%2B_42218.pat"
hash: "415c54934d483a2557500bc3a2e74588a0cec1266e1f0d9a82a7d3aace002471" hash: "5a6cfbc690facdfaef9fbcc55215eac38c73ca6a85965a910af11cede5e2cd5d"
ramdisk-hash: "2b5b8dd90b2e6020ffccc2719d8bc16d9935421754a8c088d6b31dbca4e4ff7b" ramdisk-hash: "57bcadf9699252aa68dac40b5c48f362169b51fda9f77a7f1b51e3336a551f8f"
zimage-hash: "38281a90036fffcb41cd17f05a6c7e9a1d5740a78c135980fb0c3a6d0ca1485f" zimage-hash: "e083a8aec10537582ed0dd6d79bc358d9aff828b3e256996ef1e4f4bf418dd5d"
md5-hash: "9293156f98e642c181aed63b0b3df4c8" md5-hash: "7fe3c9ae80396a2ea9ed9909b8746c4b"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -8,12 +8,12 @@ synoinfo: &synoinfo
support_led_brightness_adjustment: "no" support_led_brightness_adjustment: "no"
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
syno_hdd_powerup_seq: 0 syno_hdd_powerup_seq: 0
HddHotplug: 0 HddHotplug: 0
vender_format_version: 2 vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0 syno_hdd_detect: 0
elevator: elevator elevator: elevator
platform: "bromolow" platform: "bromolow"
@@ -39,10 +39,10 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3615xs_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3615xs_42218.pat"
hash: "dddd26891815ddca02d0d53c1d42e8b39058b398a4cc7b49b80c99f851cf0ef7" hash: "ae1aca3b178a00689b93e97cca680b56af3f453174b852e0047496120dee2ee3"
ramdisk-hash: "4c90c3c7ee25b5fcc651552e80a9364d22823c863c834c5f43e3344a3a68af78" ramdisk-hash: "3a8c2fe60142d3eb3a7ed2381819faa1db2cda30ff163288dd0a6c85a25815c1"
zimage-hash: "d29b695612710376734cb5c5b5ae4f2d8afc49ffd640387e1c86010f6c7d2c8a" zimage-hash: "354f0bb13c898a7b24f2942d8015f591f7acce1739e2060580c0f38c41addaf7"
md5-hash: "ea1c30f644bacae2e0b1ef914bc663db" md5-hash: "9f959ec4d16d5d7729374961fc2b9bed"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -8,12 +8,12 @@ synoinfo: &synoinfo
support_led_brightness_adjustment: "no" support_led_brightness_adjustment: "no"
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
syno_hdd_powerup_seq: 0 syno_hdd_powerup_seq: 0
HddHotplug: 0 HddHotplug: 0
vender_format_version: 2 vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0 syno_hdd_detect: 0
elevator: elevator elevator: elevator
platform: "broadwell" platform: "broadwell"
@@ -39,10 +39,10 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3617xs_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3617xs_42218.pat"
hash: "d65ee4ed5971e38f6cdab00e1548183435b53ba49a5dca7eaed6f56be939dcd2" hash: "f7e846e2a22b62613ac5e9d6e154df0213ba4ae64a6556297af627cd1e643e5c"
ramdisk-hash: "1b2e86fbf4006f6aa40dcd674ad449feed8b0b8317a71e2bb8bb986a74e08c57" ramdisk-hash: "eaddd97c40a35bbcf4092417364ca4376925fb3eb322cad0cf602d4c7973d147"
zimage-hash: "28a75e0b680517d39374260eb981b8ca9ace8810b121a30b8036fa09cfcb77fc" zimage-hash: "8e0ab965c85b348dfc9dc17392b9cf0a117756f1d1bc4c0f0d19bb610350659d"
md5-hash: "8972088c38acd07aa92a8b573a1b7bc3" md5-hash: "b7d85926561ff125928b68e7fffa646b"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -9,12 +9,12 @@ synoinfo: &synoinfo
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" # http://update7.synology.com/autoupdate/genRSS.php rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" # http://update7.synology.com/autoupdate/genRSS.php
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" # https://update7.synology.com/autoupdate/genRSS.php rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" # https://update7.synology.com/autoupdate/genRSS.php
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" # https://update7.synology.com/autoupdate/v2/getList rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" # https://update7.synology.com/autoupdate/v2/getList
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
syno_hdd_powerup_seq: 0 syno_hdd_powerup_seq: 0
HddHotplug: 0 HddHotplug: 0
vender_format_version: 2 vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0 syno_hdd_detect: 0
elevator: elevator elevator: elevator
platform: "broadwellnk" platform: "broadwellnk"
@@ -40,10 +40,10 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat"
hash: "f38329b8cdc5824a8f01fb1e377d3b1b6bd23da365142a01e2158beff5b8a424" hash: "a222d37f369d71042057ccb592f40c7c81e9b988a95d69fa166c7c2a611da99c"
ramdisk-hash: "a95d4ab06189460f3b3d13a33e421887b5f3ea09a10535ae0d4c92beb7ff631d" ramdisk-hash: "11ebadba5d831ad6f31258ab317ed1f7cbfe18243413f9f81291b894b5f7a591"
zimage-hash: "06964b68e5ccdedd4363dff3986f99686d3c9cb5225e8e4c3d840a1d9cd1330b" zimage-hash: "d6059bcd7160ed1f775a9323599ac8860b60ada32f0a4f3e5ca166c15a17784e"
md5-hash: "bc0235e45a8423f4c46dc0d9699759b5" md5-hash: "b9b452577b38adc82aca42e031be267b"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -10,12 +10,12 @@ synoinfo: &synoinfo
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#support_ssd_cache: "yes" #support_ssd_cache: "yes"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
syno_hdd_powerup_seq: 0 syno_hdd_powerup_seq: 0
HddHotplug: 0 HddHotplug: 0
vender_format_version: 2 vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0 syno_hdd_detect: 0
elevator: elevator elevator: elevator
platform: "apollolake" platform: "apollolake"
@@ -31,7 +31,7 @@ serial:
suffix: "numeric" suffix: "numeric"
disks: 4 disks: 4
flags: flags:
- "fma" - "movbe"
builds: builds:
42218: 42218:
ver: "7.0.1" ver: "7.0.1"
@@ -43,10 +43,10 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS918%2B_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS918%2B_42218.pat"
hash: "a403809ab2cd476c944fdfa18cae2c2833e4af36230fa63f0cdee31a92bebba2" hash: "a662d11999c266dfa86c54f7ba01045c6644c191124195a22d056d618790dffe"
ramdisk-hash: "4b7a7a271a3b2158d9193a4f0e75c59590949ad7b4e26d546f46cc2ee8504d51" ramdisk-hash: "d27320b536da0ac82d7959e0492180b3a25ef78a3997f65cc4ccddc426b921bd"
zimage-hash: "338ba514066da01d0c1f770418916b9b96f5355d88a7b55b398d2726db591fdb" zimage-hash: "7311b04f7462847f529cf966c7b332097354692485c8157643d89441e2a81cd0"
md5-hash: "71c028f92497e4722998e4208fe75774" md5-hash: "0c8a0d2dc6f1d7e37ee63d74760808b8"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -6,7 +6,8 @@ synoinfo: &synoinfo
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
intel_iommu: "igfx_off" intel_iommu: "igfx_off"
HddEnableDynamicPower: 1 HddEnableDynamicPower: 1
@@ -39,10 +40,10 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS920%2B_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS920%2B_42218.pat"
hash: "fe2a4648f76adeb65c3230632503ea36bbac64ee88b459eb9bfb5f3b8c8cebb3" hash: "b9b77846e0983f50496276bec6bcdfcfadd4c1f9f0db8ed2ca5766f131ddf97f"
ramdisk-hash: "f7dd1317f24ec6b9bac839e37f66b59030218c7f97c06f73f1f54ed0f892c4aa" ramdisk-hash: "8607c34fff3a13c75dbc1a9c730de2b2cf649697d6244fd37047090d2e2ba897"
zimage-hash: "346b68f662b50f47d3ee6c2bc9de6302e4b60436142c24ee88b620c7afd1ba06" zimage-hash: "70e93678f3932c35c5e884f950e50b36f8dc6366f96dd9a454c8d47ecbaee5de"
md5-hash: "7764ad4fca0a11ae0ebd7ccd4a49e1aa" md5-hash: "55a7e4ccbf6fcba9238a11976a4a7381"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -6,7 +6,8 @@ synoinfo: &synoinfo
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
SMBusHddDynamicPower: 1 SMBusHddDynamicPower: 1
synoboot2: synoboot2:

View File

@@ -7,12 +7,12 @@ synoinfo: &synoinfo
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
intel_iommu: "igfx_off" intel_iommu: "igfx_off"
HddEnableDynamicPower: 1 HddEnableDynamicPower: 1
vender_format_version: 2 vender_format_version: 2
syno_port_thaw: 1
synoboot2: synoboot2:
syno_ttyS0: "serial,0x3f8" syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8" syno_ttyS1: "serial,0x2f8"

View File

@@ -4,18 +4,17 @@ synoinfo: &synoinfo
support_memory_compatibility: "no" support_memory_compatibility: "no"
esataportcfg: "0x00" esataportcfg: "0x00"
support_bde_internal_10g: "no" support_bde_internal_10g: "no"
supportraidgroup: "no"
support_syno_hybrid_raid: "yes"
support_led_brightness_adjustment: "no" support_led_brightness_adjustment: "no"
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
supportnvme: "yes"
cmdline: &cmdline cmdline: &cmdline
syno_hdd_powerup_seq: 0 syno_hdd_powerup_seq: 0
HddHotplug: 0 HddHotplug: 0
vender_format_version: 2 vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0 syno_hdd_detect: 0
elevator: elevator elevator: elevator
platform: "denverton" platform: "denverton"
@@ -29,7 +28,7 @@ serial:
middle: "RFR" middle: "RFR"
suffix: "alpha" suffix: "alpha"
flags: flags:
- "fma" - "movbe"
disks: 4 disks: 4
builds: builds:
42218: 42218:
@@ -42,10 +41,10 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3219_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3219_42218.pat"
hash: "3557df23ff6af9bbb0cf46872ba2fc09c344eb303a38e8283dbc9a46e5eae979" hash: "b3498a20aeb7c7c36deca0f4393172d4db7b51aa4fb87eaace83fe224d935e3b"
ramdisk-hash: "6820f900bf2870660541b83f9741a0b70e05e8871bc41c006c9d688105c97f7c" ramdisk-hash: "5b301519fe08200e4cb368b7d23e4ce460d5412428126b9496084ceae3f6d67e"
zimage-hash: "ef97f2d64f3f7f8c5e3f4e8fee613d385d7888826f56e119f1885a722c95c7cc" zimage-hash: "8b58e602317286bdd25481c4927a791507589ce0b7c29f1ad394d08b634d41a3"
md5-hash: "40917aaf18d069f862f9536ac5504385" md5-hash: "4345e7cff9ba4fe97793c254c87b3ed5"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -8,12 +8,13 @@ synoinfo: &synoinfo
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
supportnvme: "yes"
cmdline: &cmdline cmdline: &cmdline
syno_hdd_powerup_seq: 0 syno_hdd_powerup_seq: 0
HddHotplug: 0 HddHotplug: 0
vender_format_version: 2 vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0 syno_hdd_detect: 0
elevator: elevator elevator: elevator
platform: "denverton" platform: "denverton"
@@ -28,7 +29,7 @@ serial:
middle: "SJR" middle: "SJR"
suffix: "alpha" suffix: "alpha"
flags: flags:
- "fma" - "movbe"
disks: 4 disks: 4
builds: builds:
42218: 42218:
@@ -41,10 +42,10 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3221_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3221_42218.pat"
hash: "01f101d7b310c857e54b0177068fb7250ff722dc9fa2472b1a48607ba40897ee" hash: "6722c73c51070dde2f542659d7728c497fc846256da2c9cf017177476de0bb09"
ramdisk-hash: "0825958923a5e67d967389769cff5fb7a04a25b98a2826c4c1e8aa7b8146dc8b" ramdisk-hash: "86a7450cdc461049c4cefe3fe3a1f9d241ea3c484f72f5667d7cd27f2842c8d6"
zimage-hash: "ef97f2d64f3f7f8c5e3f4e8fee613d385d7888826f56e119f1885a722c95c7cc" zimage-hash: "8b58e602317286bdd25481c4927a791507589ce0b7c29f1ad394d08b634d41a3"
md5-hash: "b8bd6562290d06dd3a7360f3af330bec" md5-hash: "e3455afd4644cb882cb2c9bede08c7bf"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -6,7 +6,8 @@ synoinfo: &synoinfo
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
intel_iommu: igfx_off intel_iommu: igfx_off
SMBusHddDynamicPower: 1 SMBusHddDynamicPower: 1
@@ -37,10 +38,10 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_FS2500_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_FS2500_42218.pat"
hash: "4d060be8afec548fdb042bc8095524f10ff200033cab74df37ae07f3de5eaa69" hash: "3fbd5defbc0fef0d152494033f3e817c330525b70e356a9e9acd2b72d9806b59"
ramdisk-hash: "cbe9099c57f23ba53415574b011580218fa55a0bdb83c4e4bba9e27100e5379d" ramdisk-hash: "8d66ddfa947b38c0e407d4c5efd7558b1a9392e04fd83fe9f162e1aa546f8da8"
zimage-hash: "f6816165a52b1f53ce44a45878fe06641da34e9478947f826a236c1a6548f8fd" zimage-hash: "e083a8aec10537582ed0dd6d79bc358d9aff828b3e256996ef1e4f4bf418dd5d"
md5-hash: "70550293c612c1fd9a8d1b7485173877" md5-hash: "9562d49a07f5481208b672ff777f3cbf"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -5,16 +5,15 @@ synoinfo: &synoinfo
support_bde_internal_10g: "no" support_bde_internal_10g: "no"
esataportcfg: "0x0" esataportcfg: "0x0"
support_led_brightness_adjustment: "no" support_led_brightness_adjustment: "no"
support_syno_hybrid_raid: "yes"
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
syno_hdd_powerup_seq: 0 syno_hdd_powerup_seq: 0
HddHotplug: 0 HddHotplug: 0
syno_hdd_detect: 0 syno_hdd_detect: 0
syno_port_thaw: 1
vender_format_version: 2 vender_format_version: 2
elevator: elevator elevator: elevator
platform: "broadwellnk" platform: "broadwellnk"
@@ -39,7 +38,7 @@ builds:
<<: *synoinfo <<: *synoinfo
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_RS4021xs%2B_42218.pat" url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_RS4021xs%2B_42218.pat"
hash: "7afca3970ac7324d7431c1484d4249939bedd4c18ac34187f894c43119edf3a1" hash: "2a32266b7bcf0b2582b5afd9e39dc444e7cb40eaf4ccfdbfedf4743af821f11c"
ramdisk-hash: "3aa9d810064747fca6d0a3ab4c979bd82b49fc0d166dfe714261c2a22145cc70" ramdisk-hash: "3aa9d810064747fca6d0a3ab4c979bd82b49fc0d166dfe714261c2a22145cc70"
zimage-hash: "17607e1739c8acc9903272ebd981bccb27b51057cdcb3cc446e5c5149db452d3" zimage-hash: "17607e1739c8acc9903272ebd981bccb27b51057cdcb3cc446e5c5149db452d3"
md5-hash: "46d9eb6aba71dbd61ba0394e575b6d58" md5-hash: "46d9eb6aba71dbd61ba0394e575b6d58"
@@ -61,9 +60,9 @@ builds:
pat: pat:
url: "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_RS4021xs%2B_42661.pat" url: "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_RS4021xs%2B_42661.pat"
hash: "496b64e431dafa34cdebb92da8ac736bf1610fe157f03df7e6d11152d60991f5" hash: "496b64e431dafa34cdebb92da8ac736bf1610fe157f03df7e6d11152d60991f5"
ramdisk-hash: "143e475fe73c0adb3377361402b4baad21448476e844e55e16d1ed51ffc4c971" ramdisk-hash: "f2b99b4c05559376d34d30d6446c30a8b3f44f516e5a041299d03be9c7fd0095"
zimage-hash: "e073dd84054f652811e0ae1932af2c7cdbd5fb6e5f18f265097072b8af4605e8" zimage-hash: "d6059bcd7160ed1f775a9323599ac8860b60ada32f0a4f3e5ca166c15a17784e"
md5-hash: "ddbbbcf8ccb8d9d345df3e08debc66f6" md5-hash: "cbcb77548de26b6843ab31d7a7258b62"
patch: patch:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"

View File

@@ -6,7 +6,8 @@ synoinfo: &synoinfo
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml" rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" rss_server_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
#supportraidgroup: "no" support_syno_hybrid_raid:
supportraidgroup:
cmdline: &cmdline cmdline: &cmdline
SMBusHddDynamicPower: 1 SMBusHddDynamicPower: 1
synoboot2: synoboot2:

View File

@@ -58,15 +58,15 @@ declare -A ADDONS
declare -A USERMODULES declare -A USERMODULES
# Read synoinfo and addons from config # Read synoinfo and addons from config
while IFS="=" read KEY VALUE; do while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}" [ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}") done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
while IFS="=" read KEY VALUE; do while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}" [ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}") done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
# Read modules from user config # Read modules from user config
while IFS="=" read KEY VALUE; do while IFS=': ' read KEY VALUE; do
[ -n "${KEY}" ] && USERMODULES["${KEY}"]="${VALUE}" [ -n "${KEY}" ] && USERMODULES["${KEY}"]="${VALUE}"
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}") done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
@@ -125,7 +125,7 @@ cp "${PATCH_PATH}/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
gzip -dc "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko.gz" > "${RAMDISK_PATH}/usr/lib/modules/rp.ko" gzip -dc "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko.gz" > "${RAMDISK_PATH}/usr/lib/modules/rp.ko"
# Addons # Addons
MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"` #MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"`
# Check if model needs Device-tree dynamic patch # Check if model needs Device-tree dynamic patch
DT="`readModelKey "${MODEL}" "dt"`" DT="`readModelKey "${MODEL}" "dt"`"
@@ -140,16 +140,11 @@ echo "export LAYOUT=${LAYOUT}" >> "${RAMDISK_PATH}/addons/addon
echo "export KEYMAP=${KEYMAP}" >> "${RAMDISK_PATH}/addons/addons.sh" echo "export KEYMAP=${KEYMAP}" >> "${RAMDISK_PATH}/addons/addons.sh"
chmod +x "${RAMDISK_PATH}/addons/addons.sh" chmod +x "${RAMDISK_PATH}/addons/addons.sh"
# Required addons: eudev, dtbpatch/maxdisks, wol # Required addons: eudev, disks, wol
installAddon eudev installAddon eudev
echo "/addons/eudev.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog echo "/addons/eudev.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
if [ "${DT}" = "true" ]; then installAddon disks
installAddon dtbpatch echo "/addons/disks.sh \${1} ${DT} ${UNIQUE}" >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
echo "/addons/dtbpatch.sh \${1} ${UNIQUE}" >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
else
installAddon maxdisks
echo "/addons/maxdisks.sh \${1} ${MAXDISKS}" >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
fi
installAddon wol installAddon wol
echo "/addons/wol.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog echo "/addons/wol.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
# User addons # User addons

View File

@@ -1 +1 @@
1.0-beta13a 1.1-beta2a

View File

@@ -1,4 +1,5 @@
BR2_x86_64=y BR2_x86_64=y
BR2_DL_DIR="$(HOME)/dl"
BR2_CCACHE=y BR2_CCACHE=y
BR2_CCACHE_DIR=".buildroot-ccache" BR2_CCACHE_DIR=".buildroot-ccache"
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y BR2_TOOLCHAIN_BUILDROOT_GLIBC=y

View File

@@ -4,8 +4,8 @@ set -e
MODEL_CONFIG_PATH="./files/board/arpl/overlayfs/opt/arpl/model-configs" MODEL_CONFIG_PATH="./files/board/arpl/overlayfs/opt/arpl/model-configs"
RELEASE="7.1.1" RELEASE="7.0.1"
BUILDNUMBER="42962" BUILDNUMBER="42218"
EXTRA="" EXTRA=""
function readConfigKey() { function readConfigKey() {

View File

@@ -184,71 +184,71 @@
"title": "DSM 7.0.1-42218", "title": "DSM 7.0.1-42218",
"MajorVer": 7, "MajorVer": 7,
"MinorVer": 0, "MinorVer": 0,
"NanoVer": 0, "NanoVer": 1,
"BuildPhase": 0, "BuildPhase": 0,
"BuildNum": 42218, "BuildNum": 42218,
"BuildDate": "2021/10/18", "BuildDate": "2022/08/01",
"ReqMajorVer": 6, "ReqMajorVer": 7,
"ReqMinorVer": 2, "ReqMinorVer": 1,
"ReqBuildPhase": 0, "ReqBuildPhase": 0,
"ReqBuildNum": 23739, "ReqBuildNum": 41890,
"ReqBuildDate": "2018/05/19", "ReqBuildDate": "2021/06/25",
"isSecurityVersion": false, "isSecurityVersion": false,
"model": [ "model": [
{
"mUnique": "synology_apollolake_918+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS918%2B_42218.pat",
"mCheckSum": "71c028f92497e4722998e4208fe75774"
},
{
"mUnique": "synology_geminilake_920+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS920%2B_42218.pat",
"mCheckSum": "7764ad4fca0a11ae0ebd7ccd4a49e1aa"
},
{ {
"mUnique": "synology_geminilake_1520+", "mUnique": "synology_geminilake_1520+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1520%2B_42218.pat", "mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1520%2B_42218.pat",
"mCheckSum": "f56200a8be1aed4eb287a51b373adb1f" "mCheckSum": "d1ebc3c9a2b9e04980a85c4784904f91"
}, },
{ {
"mUnique": "synology_v1000_1621+", "mUnique": "synology_v1000_1621+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1621%2B_42218.pat", "mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1621%2B_42218.pat",
"mCheckSum": "f82cbabbfef3fdf2cba45da77d14959b" "mCheckSum": "1fd1d6e733bb096f418f68e06f81022e"
}, },
{ {
"mUnique": "synology_v1000_2422+", "mUnique": "synology_v1000_2422+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS2422%2B_42218.pat", "mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS2422%2B_42218.pat",
"mCheckSum": "9293156f98e642c181aed63b0b3df4c8" "mCheckSum": "7fe3c9ae80396a2ea9ed9909b8746c4b"
}, },
{ {
"mUnique": "synology_bromolow_3615xs", "mUnique": "synology_bromolow_3615xs",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3615xs_42218.pat", "mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3615xs_42218.pat",
"mCheckSum": "ea1c30f644bacae2e0b1ef914bc663db" "mCheckSum": "9f959ec4d16d5d7729374961fc2b9bed"
}, },
{ {
"mUnique": "synology_broadwell_3617xs", "mUnique": "synology_broadwell_3617xs",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3617xs_42218.pat", "mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3617xs_42218.pat",
"mCheckSum": "8972088c38acd07aa92a8b573a1b7bc3" "mCheckSum": "b7d85926561ff125928b68e7fffa646b"
}, },
{ {
"mUnique": "synology_broadwellnk_3622xs+", "mUnique": "synology_broadwellnk_3622xs+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat", "mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat",
"mCheckSum": "bc0235e45a8423f4c46dc0d9699759b5" "mCheckSum": "b9b452577b38adc82aca42e031be267b"
},
{
"mUnique": "synology_apollolake_918+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS918%2B_42218.pat",
"mCheckSum": "0c8a0d2dc6f1d7e37ee63d74760808b8"
},
{
"mUnique": "synology_geminilake_920+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS920%2B_42218.pat",
"mCheckSum": "55a7e4ccbf6fcba9238a11976a4a7381"
}, },
{ {
"mUnique": "synology_denverton_dva3219", "mUnique": "synology_denverton_dva3219",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3219_42218.pat", "mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3219_42218.pat",
"mCheckSum": "40917aaf18d069f862f9536ac5504385" "mCheckSum": "4345e7cff9ba4fe97793c254c87b3ed5"
}, },
{ {
"mUnique": "synology_denverton_dva3221", "mUnique": "synology_denverton_dva3221",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3221_42218.pat", "mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3221_42218.pat",
"mCheckSum": "b8bd6562290d06dd3a7360f3af330bec" "mCheckSum": "e3455afd4644cb882cb2c9bede08c7bf"
}, },
{ {
"mUnique": "synology_v1000_fs2500", "mUnique": "synology_v1000_fs2500",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_FS2500_42218.pat", "mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_FS2500_42218.pat",
"mCheckSum": "70550293c612c1fd9a8d1b7485173877" "mCheckSum": "9562d49a07f5481208b672ff777f3cbf"
}, },
{ {
"mUnique": "synology_broadwellnk_rs4021xs+", "mUnique": "synology_broadwellnk_rs4021xs+",

50
rss.xml
View File

@@ -175,68 +175,68 @@
<title>DSM 7.0.1-42218</title> <title>DSM 7.0.1-42218</title>
<MajorVer>7</MajorVer> <MajorVer>7</MajorVer>
<MinorVer>0</MinorVer> <MinorVer>0</MinorVer>
<BuildPhase>0</BuildPhase> <BuildPhase>1</BuildPhase>
<BuildNum>42218</BuildNum> <BuildNum>42218</BuildNum>
<BuildDate>2021/10/18</BuildDate> <BuildDate>2022/08/01</BuildDate>
<ReqMajorVer>6</ReqMajorVer> <ReqMajorVer>7</ReqMajorVer>
<ReqMinorVer>2</ReqMinorVer> <ReqMinorVer>0</ReqMinorVer>
<ReqBuildPhase>0</ReqBuildPhase> <ReqBuildPhase>0</ReqBuildPhase>
<ReqBuildNum>23739</ReqBuildNum> <ReqBuildNum>41890</ReqBuildNum>
<ReqBuildDate>2018/05/19</ReqBuildDate> <ReqBuildDate>2021/06/25</ReqBuildDate>
<model>
<mUnique>synology_apollolake_918+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS918%2B_42218.pat</mLink>
<mCheckSum>71c028f92497e4722998e4208fe75774</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_920+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS920%2B_42218.pat</mLink>
<mCheckSum>7764ad4fca0a11ae0ebd7ccd4a49e1aa</mCheckSum>
</model>
<model> <model>
<mUnique>synology_geminilake_1520+</mUnique> <mUnique>synology_geminilake_1520+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1520%2B_42218.pat</mLink> <mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1520%2B_42218.pat</mLink>
<mCheckSum>f56200a8be1aed4eb287a51b373adb1f</mCheckSum> <mCheckSum>d1ebc3c9a2b9e04980a85c4784904f91</mCheckSum>
</model> </model>
<model> <model>
<mUnique>synology_v1000_1621+</mUnique> <mUnique>synology_v1000_1621+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1621%2B_42218.pat</mLink> <mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1621%2B_42218.pat</mLink>
<mCheckSum>f82cbabbfef3fdf2cba45da77d14959b</mCheckSum> <mCheckSum>1fd1d6e733bb096f418f68e06f81022e</mCheckSum>
</model> </model>
<model> <model>
<mUnique>synology_v1000_2422+</mUnique> <mUnique>synology_v1000_2422+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS2422%2B_42218.pat</mLink> <mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS2422%2B_42218.pat</mLink>
<mCheckSum>9293156f98e642c181aed63b0b3df4c8</mCheckSum> <mCheckSum>7fe3c9ae80396a2ea9ed9909b8746c4b</mCheckSum>
</model> </model>
<model> <model>
<mUnique>synology_bromolow_3615xs</mUnique> <mUnique>synology_bromolow_3615xs</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3615xs_42218.pat</mLink> <mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3615xs_42218.pat</mLink>
<mCheckSum>ea1c30f644bacae2e0b1ef914bc663db</mCheckSum> <mCheckSum>9f959ec4d16d5d7729374961fc2b9bed</mCheckSum>
</model> </model>
<model> <model>
<mUnique>synology_broadwell_3617xs</mUnique> <mUnique>synology_broadwell_3617xs</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3617xs_42218.pat</mLink> <mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3617xs_42218.pat</mLink>
<mCheckSum>8972088c38acd07aa92a8b573a1b7bc3</mCheckSum> <mCheckSum>b7d85926561ff125928b68e7fffa646b</mCheckSum>
</model> </model>
<model> <model>
<mUnique>synology_broadwellnk_3622xs+</mUnique> <mUnique>synology_broadwellnk_3622xs+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat</mLink> <mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat</mLink>
<mCheckSum>bc0235e45a8423f4c46dc0d9699759b5</mCheckSum> <mCheckSum>b9b452577b38adc82aca42e031be267b</mCheckSum>
</model>
<model>
<mUnique>synology_apollolake_918+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS918%2B_42218.pat</mLink>
<mCheckSum>0c8a0d2dc6f1d7e37ee63d74760808b8</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_920+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS920%2B_42218.pat</mLink>
<mCheckSum>55a7e4ccbf6fcba9238a11976a4a7381</mCheckSum>
</model> </model>
<model> <model>
<mUnique>synology_denverton_dva3219</mUnique> <mUnique>synology_denverton_dva3219</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3219_42218.pat</mLink> <mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3219_42218.pat</mLink>
<mCheckSum>40917aaf18d069f862f9536ac5504385</mCheckSum> <mCheckSum>4345e7cff9ba4fe97793c254c87b3ed5</mCheckSum>
</model> </model>
<model> <model>
<mUnique>synology_denverton_dva3221</mUnique> <mUnique>synology_denverton_dva3221</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3221_42218.pat</mLink> <mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3221_42218.pat</mLink>
<mCheckSum>b8bd6562290d06dd3a7360f3af330bec</mCheckSum> <mCheckSum>e3455afd4644cb882cb2c9bede08c7bf</mCheckSum>
</model> </model>
<model> <model>
<mUnique>synology_v1000_fs2500</mUnique> <mUnique>synology_v1000_fs2500</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_FS2500_42218.pat</mLink> <mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_FS2500_42218.pat</mLink>
<mCheckSum>70550293c612c1fd9a8d1b7485173877</mCheckSum> <mCheckSum>9562d49a07f5481208b672ff777f3cbf</mCheckSum>
</model> </model>
<model> <model>
<mUnique>synology_broadwellnk_rs4021xs+</mUnique> <mUnique>synology_broadwellnk_rs4021xs+</mUnique>