mirror of
https://github.com/fbelavenuto/arpl.git
synced 2025-12-24 14:52:05 +08:00
Compare commits
57 Commits
v1.0-beta1
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1b77082df1 | ||
|
|
1abe8cb1f1 | ||
|
|
e5e20e2e72 | ||
|
|
d4e51ee86d | ||
|
|
b4beb63ea6 | ||
|
|
5792f05140 | ||
|
|
b021c4945e | ||
|
|
c01cdc8f2b | ||
|
|
194de75e85 | ||
|
|
edce7eb162 | ||
|
|
3322466ee6 | ||
|
|
76f14d95c7 | ||
|
|
e4dbea741a | ||
|
|
109ff30564 | ||
|
|
f6bc5b08ab | ||
|
|
269b9b0158 | ||
|
|
5ee1f2d995 | ||
|
|
8d0cf083e0 | ||
|
|
57ee20788a | ||
|
|
ae539cf5b6 | ||
|
|
9405793720 | ||
|
|
988367ad86 | ||
|
|
a4d04d5653 | ||
|
|
c42ce3120f | ||
|
|
9dd15f25e0 | ||
|
|
93c0303aba | ||
|
|
b2c215fb9a | ||
|
|
4fc5161239 | ||
|
|
1b7304ef44 | ||
|
|
230cbc986b | ||
|
|
746d0361b4 | ||
|
|
7acfb99fca | ||
|
|
3c84a9fa29 | ||
|
|
1012d4563a | ||
|
|
920b9994b1 | ||
|
|
b91aec94a7 | ||
|
|
97356dff47 | ||
|
|
6fe5a26531 | ||
|
|
f99a7fe44b | ||
|
|
7584ad59f2 | ||
|
|
79eaeb2c40 | ||
|
|
8908747db7 | ||
|
|
d5d752b93c | ||
|
|
b5010aff8c | ||
|
|
57daf6e645 | ||
|
|
06d85768bf | ||
|
|
f2667baa64 | ||
|
|
4e33c6fe69 | ||
|
|
5c4abf005d | ||
|
|
7d9a6bd91b | ||
|
|
8df97f2cf7 | ||
|
|
1cc8488d44 | ||
|
|
630cd019db | ||
|
|
68ceba090d | ||
|
|
10a3390eda | ||
|
|
14dee10280 | ||
|
|
e0d6f5487e |
33
.github/workflows/main.yml
vendored
33
.github/workflows/main.yml
vendored
@@ -14,9 +14,17 @@ jobs:
|
||||
steps:
|
||||
- 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
|
||||
id: cache
|
||||
id: br-cache
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: .buildroot
|
||||
@@ -61,9 +69,9 @@ jobs:
|
||||
[ ${STATUS} -ne 200 ] && exit 1
|
||||
echo OK
|
||||
|
||||
# Prepare buildroot for first make (for cache)
|
||||
- name: Prepare buildroot
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
# Clone buildroot repository (if not cached)
|
||||
- name: Clone buildroot
|
||||
if: steps.br-cache.outputs.cache-hit != 'true'
|
||||
run: |
|
||||
git clone --single-branch -b 2022.02 https://github.com/buildroot/buildroot.git .buildroot
|
||||
# Copy files
|
||||
@@ -72,10 +80,23 @@ jobs:
|
||||
cd .buildroot
|
||||
echo "Generating default config"
|
||||
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"
|
||||
cd .buildroot
|
||||
make BR2_EXTERNAL=../external
|
||||
|
||||
# Build incremental from cache
|
||||
# Build incremental from caches
|
||||
- name: Build image
|
||||
id: build
|
||||
run: |
|
||||
|
||||
98
README-Zh.md
Normal file
98
README-Zh.md
Normal 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>`:
|
||||
|
||||

|
||||
|
||||
如果你愿意,也可以通过网页进行访问:
|
||||
|
||||

|
||||
|
||||
选择“型号(model)”选项,并选择你偏好的群晖型号:
|
||||
|
||||

|
||||
|
||||
选择“版本号(Buildnumber)”选项,并选择第一个选项:
|
||||
|
||||

|
||||
|
||||
进入“序列号(Serial)”菜单,并选择“生成一个随机序列号(Generate a random Serial number)”。
|
||||
|
||||
选择“构建(Build)”选项,等待加载器生成:
|
||||
|
||||

|
||||
|
||||
选择“启动(Boot)”选项,等待DSM启动:
|
||||
|
||||

|
||||
|
||||
由于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项目的人的工作。
|
||||
|
||||
未来将添加更多信息。
|
||||
29
README.md
29
README.md
@@ -1,5 +1,9 @@
|
||||
# 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.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
## Use proxy
|
||||
The proxy only support for terminal。
|
||||
|
||||
For example, if you have one clashx (the default port is 7890) in the lan,follow the steps:
|
||||
|
||||
1. Enabel 'Allow connent from Lan' (clashx only)
|
||||
|
||||

|
||||
|
||||
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
|
||||
|
||||
After booting the loader, the following screen should appear. Type menu.sh and press `<ENTER>`:
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
FROM alpine:3.14 AS stage
|
||||
ARG PLATFORMS="@@@PLATFORMS@@@"
|
||||
ARG TOOLKIT_VER="@@@TOOLKIT_VER@@@"
|
||||
ARG GCCLIB_VER="@@@GCCLIB_VER@@@"
|
||||
|
||||
# Copy downloaded toolkits
|
||||
ADD cache /cache
|
||||
@@ -12,8 +13,8 @@ RUN for V in ${PLATFORMS}; do \
|
||||
mkdir "/opt/${PLATFORM}" && \
|
||||
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}" && \
|
||||
echo "Extracting ${PLATFORM}-toolchain.txz" && \
|
||||
tar -xaf "/cache/${PLATFORM}-toolchain.txz" -C "/opt/${PLATFORM}" --strip-components=1; \
|
||||
echo "Extracting ${PLATFORM}-${GCCLIB_VER}_x86_64-GPL.txz" && \
|
||||
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`"; \
|
||||
if [ ! -d "/opt/linux-${KVER_MAJOR}.x" -a -f "/cache/linux-${KVER_MAJOR}.x.txz" ]; then \
|
||||
echo "Extracting linux-${KVER_MAJOR}.x.txz" && \
|
||||
@@ -25,7 +26,7 @@ RUN for V in ${PLATFORMS}; do \
|
||||
done
|
||||
|
||||
# Final image
|
||||
FROM debian:8-slim
|
||||
FROM debian:9-slim
|
||||
ENV SHELL=/bin/bash \
|
||||
ARCH=x86_64
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -1,7 +1,26 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
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() {
|
||||
@@ -13,70 +32,62 @@ cd `dirname $0`
|
||||
|
||||
###############################################################################
|
||||
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
|
||||
mkdir -p ${CACHE_DIR}
|
||||
|
||||
for PLATFORM in ${!PLATFORMS[@]}; do
|
||||
KVER="${PLATFORMS[${PLATFORM}]}"
|
||||
for P in ${PLATFORMS[${TOOLKIT_VER}]}; do
|
||||
PLATFORM="`echo ${P} | cut -d':' -f1`"
|
||||
KVER="`echo ${P} | cut -d':' -f2`"
|
||||
# Dev
|
||||
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"
|
||||
URL="${SERVER}/download/ToolChain/toolkit/${TOOLKIT_VER}/${PLATFORM}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
|
||||
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
|
||||
echo "OK"
|
||||
fi
|
||||
echo -n "Checking ${CACHE_DIR}/${PLATFORM}-toolchain.txz... "
|
||||
if [ ! -f "${CACHE_DIR}/${PLATFORM}-toolchain.txz" ]; then
|
||||
URL=${URLS["${PLATFORM}"]}
|
||||
# Toolchain
|
||||
URI="`echo ${URIS[${PLATFORM}]} | sed "s/|/${KVER}/"`"
|
||||
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}"
|
||||
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
|
||||
echo "OK"
|
||||
fi
|
||||
done
|
||||
|
||||
for KERNEL in 3.10.x 4.4.x 5.10.x; do
|
||||
URL=${URLS["${KERNEL}"]}
|
||||
[ -z "${URL}" ] && continue
|
||||
echo -n "Checking ${CACHE_DIR}/linux-${KERNEL}.txz... "
|
||||
if [ ! -f "${CACHE_DIR}/linux-${KERNEL}.txz" ]; then
|
||||
echo -e "No\nDownloading ${URL}"
|
||||
curl -L "${URL}" -o "${CACHE_DIR}/linux-${KERNEL}.txz"
|
||||
else
|
||||
echo "OK"
|
||||
fi
|
||||
done
|
||||
# for KERNEL in 3.10.x 4.4.x 5.10.x; do
|
||||
# URL=${URLS["${KERNEL}"]}
|
||||
# [ -z "${URL}" ] && continue
|
||||
# echo -n "Checking ${CACHE_DIR}/linux-${KERNEL}.txz... "
|
||||
# if [ ! -f "${CACHE_DIR}/linux-${KERNEL}.txz" ]; then
|
||||
# echo -e "No\nDownloading ${URL}"
|
||||
# STATUS=`curl -w "%{http_code}" -L "${URL}" -o "${CACHE_DIR}/linux-${KERNEL}.txz"`
|
||||
# if [ ${STATUS} -ne 200 ]; then
|
||||
# rm -f "${CACHE_DIR}/linux-${KERNEL}.txz"
|
||||
# exit 1
|
||||
# fi
|
||||
# else
|
||||
# echo "OK"
|
||||
# fi
|
||||
# done
|
||||
|
||||
# Generate Dockerfile
|
||||
echo "Generating Dockerfile"
|
||||
cp Dockerfile.template Dockerfile
|
||||
VALUE=""
|
||||
for PLATFORM in ${!PLATFORMS[@]}; do
|
||||
VALUE+="${PLATFORM}:${PLATFORMS[${PLATFORM}]} "
|
||||
done
|
||||
sed -i "s|@@@PLATFORMS@@@|${VALUE::-1}|g" Dockerfile
|
||||
sed -i "s|@@@PLATFORMS@@@|${PLATFORMS[${TOOLKIT_VER}]}|g" Dockerfile
|
||||
sed -i "s|@@@TOOLKIT_VER@@@|${TOOLKIT_VER}|g" Dockerfile
|
||||
sed -i "s|@@@GCCLIB_VER@@@|${GCCLIB_VER}|g" Dockerfile
|
||||
}
|
||||
|
||||
# 7.0
|
||||
@@ -89,9 +100,18 @@ function prepare() {
|
||||
#docker buildx build . --load --tag fbelavenuto/syno-compiler:${TOOLKIT_VER}
|
||||
|
||||
# 7.1
|
||||
TOOLKIT_VER="7.1"
|
||||
TOOLCHAIN_VER="7.1-42661"
|
||||
GCCLIB_VER="gcc850_glibc226"
|
||||
# TOOLKIT_VER="7.1"
|
||||
# TOOLCHAIN_VER="7.1-42661"
|
||||
# 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
|
||||
echo "Building ${TOOLKIT_VER}"
|
||||
docker image rm fbelavenuto/syno-compiler:${TOOLKIT_VER} >/dev/null 2>&1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -eo pipefail
|
||||
|
||||
###############################################################################
|
||||
function export-vars() {
|
||||
@@ -27,6 +27,7 @@ function export-vars() {
|
||||
function shell() {
|
||||
cp -fv /opt/${2}/build/.config /opt/${2}/source/
|
||||
cp -fv /opt/${2}/build/System.map /opt/${2}/source/
|
||||
cp -fv /opt/${2}/build/Module.symvers /opt/${2}/source/
|
||||
export-vars $2
|
||||
shift 2
|
||||
bash -l $@
|
||||
@@ -55,8 +56,7 @@ function compile-module {
|
||||
cp -R /input /tmp
|
||||
export-vars ${PLATFORM}
|
||||
PARMS="${PLATFORM^^}-Y=y ${PLATFORM^^}-M=m"
|
||||
if [ -f "/tmp/input/defines.${1}" ]
|
||||
then
|
||||
if [ -f "/tmp/input/defines.${1}" ]; then
|
||||
PARMS+=" `cat "/tmp/input/defines.${1}" | xargs`"
|
||||
fi
|
||||
make -j`nproc` -C "/opt/${PLATFORM}/build" M="/tmp/input" ${PARMS} modules
|
||||
|
||||
@@ -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"]
|
||||
@@ -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
|
||||
@@ -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
|
||||
@@ -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'
|
||||
@@ -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
|
||||
@@ -18,6 +18,7 @@ CONFIG_CGROUP_FREEZER=y
|
||||
CONFIG_CPUSETS=y
|
||||
CONFIG_CGROUP_CPUACCT=y
|
||||
CONFIG_NAMESPACES=y
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_RD_GZIP is not set
|
||||
# CONFIG_RD_BZIP2 is not set
|
||||
@@ -191,24 +192,9 @@ CONFIG_SCSI_PM8001=m
|
||||
CONFIG_SCSI_VIRTIO=m
|
||||
CONFIG_SCSI_DH=y
|
||||
CONFIG_ATA=y
|
||||
# CONFIG_ATA_FORCE is not set
|
||||
CONFIG_SATA_AHCI=y
|
||||
CONFIG_SATA_AHCI_PLATFORM=m
|
||||
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_SATA_MV=y
|
||||
CONFIG_MD=y
|
||||
CONFIG_BLK_DEV_MD=y
|
||||
CONFIG_BLK_DEV_DM=y
|
||||
@@ -230,8 +216,6 @@ CONFIG_ET131X=m
|
||||
CONFIG_SLICOSS=m
|
||||
CONFIG_ACENIC=m
|
||||
CONFIG_ENA_ETHERNET=m
|
||||
CONFIG_AMD8111_ETH=m
|
||||
CONFIG_PCNET32=m
|
||||
CONFIG_AMD_XGBE=m
|
||||
CONFIG_AQTION=m
|
||||
CONFIG_ATL1=m
|
||||
@@ -241,7 +225,7 @@ CONFIG_ALX=m
|
||||
CONFIG_B44=m
|
||||
CONFIG_BCMGENET=m
|
||||
CONFIG_CNIC=m
|
||||
CONFIG_TIGON3=y
|
||||
CONFIG_TIGON3=m
|
||||
CONFIG_BNX2X=m
|
||||
CONFIG_SYSTEMPORT=m
|
||||
CONFIG_BNXT=m
|
||||
@@ -262,9 +246,7 @@ CONFIG_DNET=m
|
||||
CONFIG_DL2K=m
|
||||
CONFIG_SUNDANCE=m
|
||||
CONFIG_BE2NET=m
|
||||
# CONFIG_NET_VENDOR_GOOGLE is not set
|
||||
CONFIG_HINIC=m
|
||||
CONFIG_E100=y
|
||||
CONFIG_E1000=m
|
||||
CONFIG_E1000E=m
|
||||
CONFIG_IGB=m
|
||||
@@ -273,14 +255,18 @@ CONFIG_IXGB=m
|
||||
CONFIG_IXGBE=m
|
||||
CONFIG_IXGBEVF=m
|
||||
CONFIG_I40E=m
|
||||
CONFIG_I40EVF=m
|
||||
CONFIG_ICE=m
|
||||
CONFIG_FM10K=m
|
||||
CONFIG_IGC=m
|
||||
CONFIG_JME=m
|
||||
CONFIG_MVMDIO=m
|
||||
CONFIG_SKGE=m
|
||||
CONFIG_SKY2=y
|
||||
CONFIG_SKY2=m
|
||||
CONFIG_MLX4_EN=m
|
||||
CONFIG_MLX5_CORE=m
|
||||
CONFIG_MLX5_CORE_EN=y
|
||||
CONFIG_MLXSW_CORE=m
|
||||
CONFIG_MYRI10GE=m
|
||||
CONFIG_NATSEMI=m
|
||||
CONFIG_NS83820=m
|
||||
@@ -288,7 +274,6 @@ CONFIG_S2IO=m
|
||||
CONFIG_VXGE=m
|
||||
CONFIG_NFP=m
|
||||
CONFIG_NI_XGE_MANAGEMENT_ENET=m
|
||||
CONFIG_FORCEDETH=m
|
||||
CONFIG_HAMACHI=m
|
||||
CONFIG_YELLOWFIN=m
|
||||
CONFIG_QLA3XXX=m
|
||||
@@ -298,23 +283,22 @@ CONFIG_QED=m
|
||||
CONFIG_QEDE=m
|
||||
CONFIG_QCOM_EMAC=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_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_SIS190=m
|
||||
CONFIG_STMMAC_ETH=m
|
||||
CONFIG_SUNGEM=m
|
||||
CONFIG_CASSINI=m
|
||||
CONFIG_NIU=m
|
||||
CONFIG_DWC_XLGMAC=m
|
||||
CONFIG_TEHUTI=m
|
||||
CONFIG_VIA_VELOCITY=m
|
||||
CONFIG_XILINX_AXI_EMAC=m
|
||||
CONFIG_XILINX_LL_TEMAC=m
|
||||
CONFIG_PHYLIB=y
|
||||
CONFIG_REALTEK_PHY=y
|
||||
CONFIG_PCS_XPCS=m
|
||||
CONFIG_USB_NET_DRIVERS=m
|
||||
CONFIG_USB_CATC=m
|
||||
CONFIG_USB_KAWETH=m
|
||||
@@ -368,7 +352,7 @@ CONFIG_HPET=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_I801=y
|
||||
CONFIG_WATCHDOG=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_MFD_SYSCON=y
|
||||
CONFIG_AGP=y
|
||||
CONFIG_AGP_AMD64=y
|
||||
CONFIG_AGP_INTEL=y
|
||||
@@ -430,6 +414,12 @@ CONFIG_USB_UAS=y
|
||||
CONFIG_USB_SERIAL=m
|
||||
CONFIG_USB_ROLE_SWITCH=y
|
||||
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_RTC_CLASS=y
|
||||
# CONFIG_RTC_HCTOSYS is not set
|
||||
@@ -452,6 +442,7 @@ CONFIG_INTEL_IOMMU=y
|
||||
# CONFIG_INTEL_IOMMU_DEFAULT_ON is not set
|
||||
CONFIG_VIRTIO_IOMMU=m
|
||||
CONFIG_MEMORY=y
|
||||
CONFIG_RESET_CONTROLLER=y
|
||||
CONFIG_VALIDATE_FS_PARSER=y
|
||||
CONFIG_EXT2_FS=y
|
||||
CONFIG_EXT3_FS=y
|
||||
@@ -465,7 +456,9 @@ CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_EFIVAR_FS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
CONFIG_NFS_V4=y
|
||||
|
||||
@@ -18,9 +18,6 @@ printf "\033[1;44m%*s\033[0m\n" ${COLUMNS} ""
|
||||
TITLE="BOOTING..."
|
||||
printf "\033[1;33m%*s\033[0m\n" $(((${#TITLE}+${COLUMNS})/2)) "${TITLE}"
|
||||
|
||||
history -w
|
||||
sync
|
||||
|
||||
# Check if DSM zImage changed, patch it if necessary
|
||||
ZIMAGE_HASH="`readConfigKey "zimage-hash" "${USER_CONFIG_FILE}"`"
|
||||
if [ "`sha256sum "${ORI_ZIMAGE_FILE}" | awk '{print$1}'`" != "${ZIMAGE_HASH}" ]; then
|
||||
@@ -29,7 +26,7 @@ if [ "`sha256sum "${ORI_ZIMAGE_FILE}" | awk '{print$1}'`" != "${ZIMAGE_HASH}" ];
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error" \
|
||||
--msgbox "zImage not patched:\n`<"${LOG_FILE}"`" 12 70
|
||||
return 1
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -41,7 +38,7 @@ if [ "`sha256sum "${ORI_RDGZ_FILE}" | awk '{print$1}'`" != "${RAMDISK_HASH}" ];
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error" \
|
||||
--msgbox "Ramdisk not patched:\n`<"${LOG_FILE}"`" 12 70
|
||||
return 1
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
@@ -68,10 +65,10 @@ CMDLINE['pid']="${PID}"
|
||||
CMDLINE['sn']="${SN}"
|
||||
|
||||
# Read cmdline
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
|
||||
done < <(readModelMap "${MODEL}" "builds.${BUILD}.cmdline")
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
|
||||
done < <(readConfigMap "cmdline" "${USER_CONFIG_FILE}")
|
||||
|
||||
@@ -103,7 +100,7 @@ fi
|
||||
# Prepare command line
|
||||
CMDLINE_LINE=""
|
||||
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} "
|
||||
CMDLINE_DIRECT="${CMDLINE_LINE}"
|
||||
CMDLINE_LINE+="console=ttyS0,115200n8 earlyprintk earlycon=uart8250,io,0x3f8,115200n8 root=/dev/md0 loglevel=15 log_buf_len=32M"
|
||||
@@ -115,7 +112,7 @@ for KEY in ${!CMDLINE[@]}; do
|
||||
[ -n "${VALUE}" ] && CMDLINE_DIRECT+="=${VALUE}"
|
||||
done
|
||||
# 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'`
|
||||
echo -e "Cmdline:\n\033[1;36m${CMDLINE_LINE}\033[0m"
|
||||
|
||||
@@ -142,8 +139,7 @@ if [ "${DIRECT}" = "true" ]; then
|
||||
echo -e "\033[1;33mReboot to boot directly in DSM\033[0m"
|
||||
grub-editenv ${GRUB_PATH}/grubenv set next_entry="direct"
|
||||
reboot
|
||||
sleep 100
|
||||
exit
|
||||
exit 0
|
||||
fi
|
||||
echo -e "\033[1;37mLoading DSM kernel...\033[0m"
|
||||
|
||||
@@ -156,4 +152,4 @@ else
|
||||
fi
|
||||
echo -e "\033[1;37mBooting...\033[0m"
|
||||
poweroff
|
||||
while true; do sleep 1; done # infinity loop
|
||||
exit 0
|
||||
|
||||
@@ -33,7 +33,7 @@ function readConfigKey() {
|
||||
# 2 - Path of yaml config file
|
||||
# Returns map of values
|
||||
function readConfigMap() {
|
||||
yq eval '.'${1}' | explode(.) | to_entries | map([.key, .value] | join("=")) | .[]' "${2}"
|
||||
yq eval '.'${1}' | explode(.) | to_entries | map([.key, .value] | join(": ")) | .[]' "${2}"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
|
||||
ARPL_VERSION="1.0-beta12"
|
||||
ARPL_VERSION="1.1-beta2a"
|
||||
|
||||
# Define paths
|
||||
TMP_PATH="/tmp"
|
||||
|
||||
@@ -72,12 +72,12 @@ MACF=`echo ${MAC} | sed 's/://g'`
|
||||
# If user config file not exists, initialize it
|
||||
if [ ! -f "${USER_CONFIG_FILE}" ]; then
|
||||
touch "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "lkm" "dev" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "lkm" "prod" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "directboot" "false" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "model" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "build" "" "${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 "keymap" "" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "zimage-hash" "" "${USER_CONFIG_FILE}"
|
||||
@@ -147,6 +147,9 @@ if [ -f /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz ]; then
|
||||
zcat /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz | loadkeys
|
||||
fi
|
||||
|
||||
# Enable Wake on Lan, ignore errors
|
||||
ethtool -s eth0 wol g 2>/dev/null
|
||||
|
||||
# Decide if boot automatically
|
||||
BOOT=1
|
||||
if ! loaderIsConfigured; then
|
||||
@@ -158,7 +161,9 @@ elif grep -q "IWANTTOCHANGETHECONFIG" /proc/cmdline; then
|
||||
fi
|
||||
|
||||
# If is to boot automatically, do it
|
||||
[ ${BOOT} -eq 1 ] && boot.sh
|
||||
if [ ${BOOT} -eq 1 ]; then
|
||||
boot.sh && exit 0
|
||||
fi
|
||||
|
||||
# Wait for an IP
|
||||
COUNT=0
|
||||
|
||||
@@ -145,13 +145,13 @@ function buildMenu() {
|
||||
writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}"
|
||||
# Delete synoinfo and reload model/build synoinfo
|
||||
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
writeConfigKey "synoinfo.${KEY}" "${VALUE}" "${USER_CONFIG_FILE}"
|
||||
done < <(readModelMap "${MODEL}" "builds.${BUILD}.synoinfo")
|
||||
# Check addons
|
||||
PLATFORM="`readModelKey "${MODEL}" "platform"`"
|
||||
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
|
||||
while IFS="=" read ADDON PARAM; do
|
||||
while IFS=': ' read ADDON PARAM; do
|
||||
[ -z "${ADDON}" ] && continue
|
||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then
|
||||
deleteConfigKey "addons.${ADDON}" "${USER_CONFIG_FILE}"
|
||||
@@ -215,7 +215,7 @@ function addonMenu() {
|
||||
# Read addons from user config
|
||||
unset ADDONS
|
||||
declare -A ADDONS
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
|
||||
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
NEXT="a"
|
||||
@@ -331,15 +331,14 @@ function addonMenu() {
|
||||
function cmdlineMenu() {
|
||||
unset CMDLINE
|
||||
declare -A CMDLINE
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && CMDLINE["${KEY}"]="${VALUE}"
|
||||
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 "c \"Define a custom MAC\"" >> "${TMP_PATH}/menu"
|
||||
echo "s \"Show user 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"
|
||||
# Loop menu
|
||||
while true; do
|
||||
@@ -415,40 +414,12 @@ function cmdlineMenu() {
|
||||
;;
|
||||
m)
|
||||
ITEMS=""
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
ITEMS+="${KEY}: ${VALUE}\n"
|
||||
done < <(readModelMap "${MODEL}" "builds.${BUILD}.cmdline")
|
||||
dialog --backtitle "`backtitle`" --title "Model/build cmdline" \
|
||||
--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 ;;
|
||||
esac
|
||||
done
|
||||
@@ -456,20 +427,15 @@ function cmdlineMenu() {
|
||||
|
||||
###############################################################################
|
||||
function synoinfoMenu() {
|
||||
# Get dt flag from model
|
||||
DT="`readModelKey "${MODEL}" "dt"`"
|
||||
# Read synoinfo from user config
|
||||
unset SYNOINFO
|
||||
declare -A SYNOINFO
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
|
||||
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
|
||||
|
||||
echo "a \"Add/edit a synoinfo item\"" > "${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 "e \"Exit\"" >> "${TMP_PATH}/menu"
|
||||
|
||||
@@ -516,15 +482,6 @@ function synoinfoMenu() {
|
||||
done
|
||||
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)
|
||||
ITEMS=""
|
||||
for KEY in ${!SYNOINFO[@]}; do
|
||||
@@ -546,13 +503,6 @@ function extractDsmFiles() {
|
||||
RAMDISK_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.ramdisk-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
|
||||
|
||||
PAT_FILE="${MODEL}-${BUILD}.pat"
|
||||
@@ -564,6 +514,13 @@ function extractDsmFiles() {
|
||||
if [ -f "${PAT_PATH}" ]; then
|
||||
echo "${PAT_FILE} cached."
|
||||
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}"
|
||||
# Discover remote file size
|
||||
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"`"
|
||||
|
||||
# Check if all addon exists
|
||||
while IFS="=" read ADDON PARAM; do
|
||||
while IFS=': ' read ADDON PARAM; do
|
||||
[ -z "${ADDON}" ] && continue
|
||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
@@ -763,6 +720,7 @@ function advancedMenu() {
|
||||
fi
|
||||
echo "u \"Edit user config file manually\"" >> "${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"
|
||||
|
||||
dialog --default-item ${NEXT} --backtitle "`backtitle`" --title "Advanced" \
|
||||
@@ -782,7 +740,35 @@ function advancedMenu() {
|
||||
;;
|
||||
u) editUserConfig; NEXT="e" ;;
|
||||
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
|
||||
done
|
||||
}
|
||||
@@ -840,7 +826,7 @@ function selectModules() {
|
||||
ALLMODULES=`getAllModules "${PLATFORM}" "${KVER}"`
|
||||
unset USERMODULES
|
||||
declare -A USERMODULES
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && USERMODULES["${KEY}"]="${VALUE}"
|
||||
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
|
||||
# menu loop
|
||||
@@ -1030,7 +1016,7 @@ function updateMenu() {
|
||||
[ -f "${F}" ] && rm -f "${F}"
|
||||
[ -d "${F}" ] && rm -Rf "${F}"
|
||||
done < <(readConfigArray "remove" "/tmp/update-list.yml")
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
if [ "${KEY: -1}" = "/" ]; then
|
||||
rm -Rf "${VALUE}"
|
||||
mkdir -p "${VALUE}"
|
||||
@@ -1161,8 +1147,9 @@ function updateMenu() {
|
||||
###############################################################################
|
||||
|
||||
if [ "x$1" = "xb" -a -n "${MODEL}" -a -n "${BUILD}" -a loaderIsConfigured ]; then
|
||||
install-addons.sh
|
||||
make
|
||||
boot
|
||||
boot && exit 0 || sleep 5
|
||||
fi
|
||||
# Main loop
|
||||
NEXT="m"
|
||||
@@ -1206,7 +1193,7 @@ while true; do
|
||||
i) synoinfoMenu; NEXT="v" ;;
|
||||
v) advancedMenu; NEXT="d" ;;
|
||||
d) make; NEXT="b" ;;
|
||||
b) boot ;;
|
||||
b) boot && exit 0 || sleep 5 ;;
|
||||
k) keymapMenu ;;
|
||||
c) dialog --backtitle "`backtitle`" --title "Cleaning" --aspect 18 \
|
||||
--prgbox "rm -rfv \"${CACHE_PATH}/dl\"" 0 0 ;;
|
||||
@@ -1216,4 +1203,3 @@ while true; do
|
||||
done
|
||||
clear
|
||||
echo -e "Call \033[1;32mmenu.sh\033[0m to return to menu"
|
||||
|
||||
|
||||
@@ -6,6 +6,8 @@ synoinfo: &synoinfo
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
intel_iommu: igfx_off
|
||||
HddEnableDynamicPower: 1
|
||||
@@ -36,10 +38,10 @@ builds:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1520%2B_42218.pat"
|
||||
hash: "06947c58f25bd591f7fa3c58ad9473777481bdd7a049b42d1cb585ca01b053ee"
|
||||
ramdisk-hash: "f0a275587c51acdb4d58a7f0d82d70f31e54228d0fbf7575d5d425dae75d1969"
|
||||
zimage-hash: "74d513aaa3e30d8aa4f80e202d94a68a552e9c0472f8470e133ad29080556f55"
|
||||
md5-hash: "f56200a8be1aed4eb287a51b373adb1f"
|
||||
hash: "b8864e2becd8ce5a6083db993564c8c0b982df8300a006b56695a0495a670aa3"
|
||||
ramdisk-hash: "7679ab11e895302425533c64e0dded211b38b8af71f2dd268c47a68bc9f6818a"
|
||||
zimage-hash: "70e93678f3932c35c5e884f950e50b36f8dc6366f96dd9a454c8d47ecbaee5de"
|
||||
md5-hash: "d1ebc3c9a2b9e04980a85c4784904f91"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -6,12 +6,13 @@ synoinfo: &synoinfo
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
SMBusHddDynamicPower: 1
|
||||
syno_hdd_powerup_seq: 0
|
||||
HddHotplug: 0
|
||||
vender_format_version: 2
|
||||
syno_port_thaw: 1
|
||||
syno_hdd_detect: 0
|
||||
synoboot2:
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
@@ -38,10 +39,10 @@ builds:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1621%2B_42218.pat"
|
||||
hash: "19f56827ba8bf0397d42cd1d6f83c447f092c2c1bbb70d8a2ad3fbd427e866df"
|
||||
ramdisk-hash: "73512c7bceb34cf7f7f93c2703db60496da0e27274fc45e5aefa0366c9734d6e"
|
||||
zimage-hash: "f4648d0dd6b29ef6149b0ff46afe1fe32f81730aa79af72f37ffd3647c76f586"
|
||||
md5-hash: "f82cbabbfef3fdf2cba45da77d14959b"
|
||||
hash: "396144fdcd94d441b4ad665099395cf24a14606742bee9438745ea30bf12b9ef"
|
||||
ramdisk-hash: "127a12bab3835cdf5af4e7ad2a23e78f889408302c55e5052080671cff6da5b7"
|
||||
zimage-hash: "0ab3bf0ff027fb94863ef8822df787194f2d21079ecc66c0b0d4e46d24598855"
|
||||
md5-hash: "1fd1d6e733bb096f418f68e06f81022e"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -2,16 +2,16 @@ id: "DS2422+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
supportraidgroup: "no"
|
||||
supportssdcache: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
SMBusHddDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_port_thaw: 1
|
||||
syno_hdd_detect: 0
|
||||
synoboot2:
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
@@ -39,10 +39,10 @@ builds:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS2422%2B_42218.pat"
|
||||
hash: "415c54934d483a2557500bc3a2e74588a0cec1266e1f0d9a82a7d3aace002471"
|
||||
ramdisk-hash: "2b5b8dd90b2e6020ffccc2719d8bc16d9935421754a8c088d6b31dbca4e4ff7b"
|
||||
zimage-hash: "38281a90036fffcb41cd17f05a6c7e9a1d5740a78c135980fb0c3a6d0ca1485f"
|
||||
md5-hash: "9293156f98e642c181aed63b0b3df4c8"
|
||||
hash: "5a6cfbc690facdfaef9fbcc55215eac38c73ca6a85965a910af11cede5e2cd5d"
|
||||
ramdisk-hash: "57bcadf9699252aa68dac40b5c48f362169b51fda9f77a7f1b51e3336a551f8f"
|
||||
zimage-hash: "e083a8aec10537582ed0dd6d79bc358d9aff828b3e256996ef1e4f4bf418dd5d"
|
||||
md5-hash: "7fe3c9ae80396a2ea9ed9909b8746c4b"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -2,18 +2,18 @@ id: "DS3615xs"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
supportraidgroup: "no"
|
||||
supportssdcache: "no"
|
||||
esataportcfg: "0x0"
|
||||
usbportcfg: "0x8700"
|
||||
support_led_brightness_adjustment: "no"
|
||||
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
|
||||
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
syno_hdd_powerup_seq: 0
|
||||
HddHotplug: 0
|
||||
vender_format_version: 2
|
||||
syno_port_thaw: 1
|
||||
syno_hdd_detect: 0
|
||||
elevator: elevator
|
||||
platform: "bromolow"
|
||||
@@ -39,10 +39,10 @@ builds:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3615xs_42218.pat"
|
||||
hash: "dddd26891815ddca02d0d53c1d42e8b39058b398a4cc7b49b80c99f851cf0ef7"
|
||||
ramdisk-hash: "4c90c3c7ee25b5fcc651552e80a9364d22823c863c834c5f43e3344a3a68af78"
|
||||
zimage-hash: "d29b695612710376734cb5c5b5ae4f2d8afc49ffd640387e1c86010f6c7d2c8a"
|
||||
md5-hash: "ea1c30f644bacae2e0b1ef914bc663db"
|
||||
hash: "ae1aca3b178a00689b93e97cca680b56af3f453174b852e0047496120dee2ee3"
|
||||
ramdisk-hash: "3a8c2fe60142d3eb3a7ed2381819faa1db2cda30ff163288dd0a6c85a25815c1"
|
||||
zimage-hash: "354f0bb13c898a7b24f2942d8015f591f7acce1739e2060580c0f38c41addaf7"
|
||||
md5-hash: "9f959ec4d16d5d7729374961fc2b9bed"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -2,18 +2,18 @@ id: "DS3617xs"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
supportraidgroup: "no"
|
||||
supportssdcache: "no"
|
||||
esataportcfg: "0x00"
|
||||
usbportcfg: "0x8700"
|
||||
support_led_brightness_adjustment: "no"
|
||||
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
|
||||
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
syno_hdd_powerup_seq: 0
|
||||
HddHotplug: 0
|
||||
vender_format_version: 2
|
||||
syno_port_thaw: 1
|
||||
syno_hdd_detect: 0
|
||||
elevator: elevator
|
||||
platform: "broadwell"
|
||||
@@ -39,10 +39,10 @@ builds:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3617xs_42218.pat"
|
||||
hash: "d65ee4ed5971e38f6cdab00e1548183435b53ba49a5dca7eaed6f56be939dcd2"
|
||||
ramdisk-hash: "1b2e86fbf4006f6aa40dcd674ad449feed8b0b8317a71e2bb8bb986a74e08c57"
|
||||
zimage-hash: "28a75e0b680517d39374260eb981b8ca9ace8810b121a30b8036fa09cfcb77fc"
|
||||
md5-hash: "8972088c38acd07aa92a8b573a1b7bc3"
|
||||
hash: "f7e846e2a22b62613ac5e9d6e154df0213ba4ae64a6556297af627cd1e643e5c"
|
||||
ramdisk-hash: "eaddd97c40a35bbcf4092417364ca4376925fb3eb322cad0cf602d4c7973d147"
|
||||
zimage-hash: "8e0ab965c85b348dfc9dc17392b9cf0a117756f1d1bc4c0f0d19bb610350659d"
|
||||
md5-hash: "b7d85926561ff125928b68e7fffa646b"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -9,11 +9,12 @@ synoinfo: &synoinfo
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json" # https://update7.synology.com/autoupdate/v2/getList
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
syno_hdd_powerup_seq: 0
|
||||
HddHotplug: 0
|
||||
vender_format_version: 2
|
||||
syno_port_thaw: 1
|
||||
syno_hdd_detect: 0
|
||||
elevator: elevator
|
||||
platform: "broadwellnk"
|
||||
@@ -39,10 +40,10 @@ builds:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat"
|
||||
hash: "f38329b8cdc5824a8f01fb1e377d3b1b6bd23da365142a01e2158beff5b8a424"
|
||||
ramdisk-hash: "a95d4ab06189460f3b3d13a33e421887b5f3ea09a10535ae0d4c92beb7ff631d"
|
||||
zimage-hash: "06964b68e5ccdedd4363dff3986f99686d3c9cb5225e8e4c3d840a1d9cd1330b"
|
||||
md5-hash: "bc0235e45a8423f4c46dc0d9699759b5"
|
||||
hash: "a222d37f369d71042057ccb592f40c7c81e9b988a95d69fa166c7c2a611da99c"
|
||||
ramdisk-hash: "11ebadba5d831ad6f31258ab317ed1f7cbfe18243413f9f81291b894b5f7a591"
|
||||
zimage-hash: "d6059bcd7160ed1f775a9323599ac8860b60ada32f0a4f3e5ca166c15a17784e"
|
||||
md5-hash: "b9b452577b38adc82aca42e031be267b"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -9,12 +9,13 @@ synoinfo: &synoinfo
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
#support_ssd_cache: yes
|
||||
#support_ssd_cache: "yes"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
syno_hdd_powerup_seq: 0
|
||||
HddHotplug: 0
|
||||
vender_format_version: 2
|
||||
syno_port_thaw: 1
|
||||
syno_hdd_detect: 0
|
||||
elevator: elevator
|
||||
platform: "apollolake"
|
||||
@@ -30,7 +31,7 @@ serial:
|
||||
suffix: "numeric"
|
||||
disks: 4
|
||||
flags:
|
||||
- "fma"
|
||||
- "movbe"
|
||||
builds:
|
||||
42218:
|
||||
ver: "7.0.1"
|
||||
@@ -42,10 +43,10 @@ builds:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS918%2B_42218.pat"
|
||||
hash: "a403809ab2cd476c944fdfa18cae2c2833e4af36230fa63f0cdee31a92bebba2"
|
||||
ramdisk-hash: "4b7a7a271a3b2158d9193a4f0e75c59590949ad7b4e26d546f46cc2ee8504d51"
|
||||
zimage-hash: "338ba514066da01d0c1f770418916b9b96f5355d88a7b55b398d2726db591fdb"
|
||||
md5-hash: "71c028f92497e4722998e4208fe75774"
|
||||
hash: "a662d11999c266dfa86c54f7ba01045c6644c191124195a22d056d618790dffe"
|
||||
ramdisk-hash: "d27320b536da0ac82d7959e0492180b3a25ef78a3997f65cc4ccddc426b921bd"
|
||||
zimage-hash: "7311b04f7462847f529cf966c7b332097354692485c8157643d89441e2a81cd0"
|
||||
md5-hash: "0c8a0d2dc6f1d7e37ee63d74760808b8"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -6,6 +6,8 @@ synoinfo: &synoinfo
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
HddEnableDynamicPower: 1
|
||||
@@ -38,10 +40,10 @@ builds:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS920%2B_42218.pat"
|
||||
hash: "fe2a4648f76adeb65c3230632503ea36bbac64ee88b459eb9bfb5f3b8c8cebb3"
|
||||
ramdisk-hash: "f7dd1317f24ec6b9bac839e37f66b59030218c7f97c06f73f1f54ed0f892c4aa"
|
||||
zimage-hash: "346b68f662b50f47d3ee6c2bc9de6302e4b60436142c24ee88b620c7afd1ba06"
|
||||
md5-hash: "7764ad4fca0a11ae0ebd7ccd4a49e1aa"
|
||||
hash: "b9b77846e0983f50496276bec6bcdfcfadd4c1f9f0db8ed2ca5766f131ddf97f"
|
||||
ramdisk-hash: "8607c34fff3a13c75dbc1a9c730de2b2cf649697d6244fd37047090d2e2ba897"
|
||||
zimage-hash: "70e93678f3932c35c5e884f950e50b36f8dc6366f96dd9a454c8d47ecbaee5de"
|
||||
md5-hash: "55a7e4ccbf6fcba9238a11976a4a7381"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -6,6 +6,8 @@ synoinfo: &synoinfo
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
SMBusHddDynamicPower: 1
|
||||
synoboot2:
|
||||
|
||||
@@ -7,11 +7,12 @@ synoinfo: &synoinfo
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
intel_iommu: "igfx_off"
|
||||
HddEnableDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_port_thaw: 1
|
||||
synoboot2:
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
|
||||
@@ -4,17 +4,17 @@ synoinfo: &synoinfo
|
||||
support_memory_compatibility: "no"
|
||||
esataportcfg: "0x00"
|
||||
support_bde_internal_10g: "no"
|
||||
supportraidgroup: "no"
|
||||
support_syno_hybrid_raid: "yes"
|
||||
support_led_brightness_adjustment: "no"
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
supportnvme: "yes"
|
||||
cmdline: &cmdline
|
||||
syno_hdd_powerup_seq: 0
|
||||
HddHotplug: 0
|
||||
vender_format_version: 2
|
||||
syno_port_thaw: 1
|
||||
syno_hdd_detect: 0
|
||||
elevator: elevator
|
||||
platform: "denverton"
|
||||
@@ -28,7 +28,7 @@ serial:
|
||||
middle: "RFR"
|
||||
suffix: "alpha"
|
||||
flags:
|
||||
- "fma"
|
||||
- "movbe"
|
||||
disks: 4
|
||||
builds:
|
||||
42218:
|
||||
@@ -41,10 +41,10 @@ builds:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3219_42218.pat"
|
||||
hash: "3557df23ff6af9bbb0cf46872ba2fc09c344eb303a38e8283dbc9a46e5eae979"
|
||||
ramdisk-hash: "6820f900bf2870660541b83f9741a0b70e05e8871bc41c006c9d688105c97f7c"
|
||||
zimage-hash: "ef97f2d64f3f7f8c5e3f4e8fee613d385d7888826f56e119f1885a722c95c7cc"
|
||||
md5-hash: "40917aaf18d069f862f9536ac5504385"
|
||||
hash: "b3498a20aeb7c7c36deca0f4393172d4db7b51aa4fb87eaace83fe224d935e3b"
|
||||
ramdisk-hash: "5b301519fe08200e4cb368b7d23e4ce460d5412428126b9496084ceae3f6d67e"
|
||||
zimage-hash: "8b58e602317286bdd25481c4927a791507589ce0b7c29f1ad394d08b634d41a3"
|
||||
md5-hash: "4345e7cff9ba4fe97793c254c87b3ed5"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
id: "DVA3221"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_memory_compatibility: "yes"
|
||||
esataportcfg: "0x00"
|
||||
support_bde_internal_10g: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
supportnvme: "yes"
|
||||
cmdline: &cmdline
|
||||
syno_hdd_powerup_seq: 0
|
||||
HddHotplug: 0
|
||||
vender_format_version: 2
|
||||
syno_port_thaw: 1
|
||||
syno_hdd_detect: 0
|
||||
elevator: elevator
|
||||
platform: "denverton"
|
||||
@@ -27,7 +29,7 @@ serial:
|
||||
middle: "SJR"
|
||||
suffix: "alpha"
|
||||
flags:
|
||||
- "fma"
|
||||
- "movbe"
|
||||
disks: 4
|
||||
builds:
|
||||
42218:
|
||||
@@ -40,10 +42,10 @@ builds:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3221_42218.pat"
|
||||
hash: "01f101d7b310c857e54b0177068fb7250ff722dc9fa2472b1a48607ba40897ee"
|
||||
ramdisk-hash: "0825958923a5e67d967389769cff5fb7a04a25b98a2826c4c1e8aa7b8146dc8b"
|
||||
zimage-hash: "ef97f2d64f3f7f8c5e3f4e8fee613d385d7888826f56e119f1885a722c95c7cc"
|
||||
md5-hash: "b8bd6562290d06dd3a7360f3af330bec"
|
||||
hash: "6722c73c51070dde2f542659d7728c497fc846256da2c9cf017177476de0bb09"
|
||||
ramdisk-hash: "86a7450cdc461049c4cefe3fe3a1f9d241ea3c484f72f5667d7cd27f2842c8d6"
|
||||
zimage-hash: "8b58e602317286bdd25481c4927a791507589ce0b7c29f1ad394d08b634d41a3"
|
||||
md5-hash: "e3455afd4644cb882cb2c9bede08c7bf"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -6,6 +6,8 @@ synoinfo: &synoinfo
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
intel_iommu: igfx_off
|
||||
SMBusHddDynamicPower: 1
|
||||
@@ -36,10 +38,10 @@ builds:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_FS2500_42218.pat"
|
||||
hash: "4d060be8afec548fdb042bc8095524f10ff200033cab74df37ae07f3de5eaa69"
|
||||
ramdisk-hash: "cbe9099c57f23ba53415574b011580218fa55a0bdb83c4e4bba9e27100e5379d"
|
||||
zimage-hash: "f6816165a52b1f53ce44a45878fe06641da34e9478947f826a236c1a6548f8fd"
|
||||
md5-hash: "70550293c612c1fd9a8d1b7485173877"
|
||||
hash: "3fbd5defbc0fef0d152494033f3e817c330525b70e356a9e9acd2b72d9806b59"
|
||||
ramdisk-hash: "8d66ddfa947b38c0e407d4c5efd7558b1a9392e04fd83fe9f162e1aa546f8da8"
|
||||
zimage-hash: "e083a8aec10537582ed0dd6d79bc358d9aff828b3e256996ef1e4f4bf418dd5d"
|
||||
md5-hash: "9562d49a07f5481208b672ff777f3cbf"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -5,16 +5,15 @@ synoinfo: &synoinfo
|
||||
support_bde_internal_10g: "no"
|
||||
esataportcfg: "0x0"
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_syno_hybrid_raid: "yes"
|
||||
supportraidgroup: "no"
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
syno_hdd_powerup_seq: 0
|
||||
HddHotplug: 0
|
||||
syno_hdd_detect: 0
|
||||
syno_port_thaw: 1
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "broadwellnk"
|
||||
@@ -39,7 +38,7 @@ builds:
|
||||
<<: *synoinfo
|
||||
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"
|
||||
zimage-hash: "17607e1739c8acc9903272ebd981bccb27b51057cdcb3cc446e5c5149db452d3"
|
||||
md5-hash: "46d9eb6aba71dbd61ba0394e575b6d58"
|
||||
@@ -61,9 +60,9 @@ builds:
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_RS4021xs%2B_42661.pat"
|
||||
hash: "496b64e431dafa34cdebb92da8ac736bf1610fe157f03df7e6d11152d60991f5"
|
||||
ramdisk-hash: "143e475fe73c0adb3377361402b4baad21448476e844e55e16d1ed51ffc4c971"
|
||||
zimage-hash: "e073dd84054f652811e0ae1932af2c7cdbd5fb6e5f18f265097072b8af4605e8"
|
||||
md5-hash: "ddbbbcf8ccb8d9d345df3e08debc66f6"
|
||||
ramdisk-hash: "f2b99b4c05559376d34d30d6446c30a8b3f44f516e5a041299d03be9c7fd0095"
|
||||
zimage-hash: "d6059bcd7160ed1f775a9323599ac8860b60ada32f0a4f3e5ca166c15a17784e"
|
||||
md5-hash: "cbcb77548de26b6843ab31d7a7258b62"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
|
||||
@@ -6,6 +6,8 @@ synoinfo: &synoinfo
|
||||
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_v2: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.json"
|
||||
support_syno_hybrid_raid:
|
||||
supportraidgroup:
|
||||
cmdline: &cmdline
|
||||
SMBusHddDynamicPower: 1
|
||||
synoboot2:
|
||||
|
||||
@@ -34,6 +34,7 @@ LKM="`readConfigKey "lkm" "${USER_CONFIG_FILE}"`"
|
||||
SN="`readConfigKey "sn" "${USER_CONFIG_FILE}"`"
|
||||
LAYOUT="`readConfigKey "layout" "${USER_CONFIG_FILE}"`"
|
||||
KEYMAP="`readConfigKey "keymap" "${USER_CONFIG_FILE}"`"
|
||||
UNIQUE=`readModelKey "${MODEL}" "unique"`
|
||||
|
||||
if [ ${BUILD} -ne ${buildnumber} ]; then
|
||||
echo -e "\033[A\n\033[1;32mBuild number changed from \033[1;31m${BUILD}\033[1;32m to \033[1;31m${buildnumber}\033[0m"
|
||||
@@ -57,15 +58,15 @@ declare -A ADDONS
|
||||
declare -A USERMODULES
|
||||
|
||||
# Read synoinfo and addons from config
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
|
||||
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
|
||||
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
|
||||
# Read modules from user config
|
||||
while IFS="=" read KEY VALUE; do
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
[ -n "${KEY}" ] && USERMODULES["${KEY}"]="${VALUE}"
|
||||
done < <(readConfigMap "modules" "${USER_CONFIG_FILE}")
|
||||
|
||||
@@ -124,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"
|
||||
|
||||
# Addons
|
||||
MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"`
|
||||
#MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"`
|
||||
# Check if model needs Device-tree dynamic patch
|
||||
DT="`readModelKey "${MODEL}" "dt"`"
|
||||
|
||||
@@ -139,18 +140,13 @@ echo "export LAYOUT=${LAYOUT}" >> "${RAMDISK_PATH}/addons/addon
|
||||
echo "export KEYMAP=${KEYMAP}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
chmod +x "${RAMDISK_PATH}/addons/addons.sh"
|
||||
|
||||
# Required addons: eudev, dtbpatch/maxdisks, powersched
|
||||
# Required addons: eudev, disks, wol
|
||||
installAddon eudev
|
||||
echo "/addons/eudev.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
if [ "${DT}" = "true" ]; then
|
||||
installAddon dtbpatch
|
||||
echo "/addons/dtbpatch.sh \${1} " >> "${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 powersched
|
||||
echo "/addons/powersched.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
installAddon disks
|
||||
echo "/addons/disks.sh \${1} ${DT} ${UNIQUE}" >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
installAddon wol
|
||||
echo "/addons/wol.sh \${1} " >> "${RAMDISK_PATH}/addons/addons.sh" 2>"${LOG_FILE}" || dieLog
|
||||
# User addons
|
||||
for ADDON in ${!ADDONS[@]}; do
|
||||
PARAMS=${ADDONS[${ADDON}]}
|
||||
|
||||
@@ -1 +1 @@
|
||||
1.0-beta12
|
||||
1.1-beta2a
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
BR2_x86_64=y
|
||||
BR2_DL_DIR="$(HOME)/dl"
|
||||
BR2_CCACHE=y
|
||||
BR2_CCACHE_DIR=".buildroot-ccache"
|
||||
BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
|
||||
|
||||
@@ -4,8 +4,8 @@ set -e
|
||||
|
||||
MODEL_CONFIG_PATH="./files/board/arpl/overlayfs/opt/arpl/model-configs"
|
||||
|
||||
RELEASE="7.1.1"
|
||||
BUILDNUMBER="42962"
|
||||
RELEASE="7.0.1"
|
||||
BUILDNUMBER="42218"
|
||||
EXTRA=""
|
||||
|
||||
function readConfigKey() {
|
||||
|
||||
50
rss.json
50
rss.json
@@ -184,71 +184,71 @@
|
||||
"title": "DSM 7.0.1-42218",
|
||||
"MajorVer": 7,
|
||||
"MinorVer": 0,
|
||||
"NanoVer": 0,
|
||||
"NanoVer": 1,
|
||||
"BuildPhase": 0,
|
||||
"BuildNum": 42218,
|
||||
"BuildDate": "2021/10/18",
|
||||
"ReqMajorVer": 6,
|
||||
"ReqMinorVer": 2,
|
||||
"BuildDate": "2022/08/01",
|
||||
"ReqMajorVer": 7,
|
||||
"ReqMinorVer": 1,
|
||||
"ReqBuildPhase": 0,
|
||||
"ReqBuildNum": 23739,
|
||||
"ReqBuildDate": "2018/05/19",
|
||||
"ReqBuildNum": 41890,
|
||||
"ReqBuildDate": "2021/06/25",
|
||||
"isSecurityVersion": false,
|
||||
"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+",
|
||||
"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+",
|
||||
"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+",
|
||||
"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",
|
||||
"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",
|
||||
"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+",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"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+",
|
||||
|
||||
50
rss.xml
50
rss.xml
@@ -175,68 +175,68 @@
|
||||
<title>DSM 7.0.1-42218</title>
|
||||
<MajorVer>7</MajorVer>
|
||||
<MinorVer>0</MinorVer>
|
||||
<BuildPhase>0</BuildPhase>
|
||||
<BuildPhase>1</BuildPhase>
|
||||
<BuildNum>42218</BuildNum>
|
||||
<BuildDate>2021/10/18</BuildDate>
|
||||
<ReqMajorVer>6</ReqMajorVer>
|
||||
<ReqMinorVer>2</ReqMinorVer>
|
||||
<BuildDate>2022/08/01</BuildDate>
|
||||
<ReqMajorVer>7</ReqMajorVer>
|
||||
<ReqMinorVer>0</ReqMinorVer>
|
||||
<ReqBuildPhase>0</ReqBuildPhase>
|
||||
<ReqBuildNum>23739</ReqBuildNum>
|
||||
<ReqBuildDate>2018/05/19</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>
|
||||
<ReqBuildNum>41890</ReqBuildNum>
|
||||
<ReqBuildDate>2021/06/25</ReqBuildDate>
|
||||
<model>
|
||||
<mUnique>synology_geminilake_1520+</mUnique>
|
||||
<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>
|
||||
<mUnique>synology_v1000_1621+</mUnique>
|
||||
<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>
|
||||
<mUnique>synology_v1000_2422+</mUnique>
|
||||
<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>
|
||||
<mUnique>synology_bromolow_3615xs</mUnique>
|
||||
<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>
|
||||
<mUnique>synology_broadwell_3617xs</mUnique>
|
||||
<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>
|
||||
<mUnique>synology_broadwellnk_3622xs+</mUnique>
|
||||
<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>
|
||||
<mUnique>synology_denverton_dva3219</mUnique>
|
||||
<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>
|
||||
<mUnique>synology_denverton_dva3221</mUnique>
|
||||
<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>
|
||||
<mUnique>synology_v1000_fs2500</mUnique>
|
||||
<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>
|
||||
<mUnique>synology_broadwellnk_rs4021xs+</mUnique>
|
||||
|
||||
Reference in New Issue
Block a user