mirror of
https://github.com/fbelavenuto/arpl.git
synced 2025-12-24 23:12:05 +08:00
Compare commits
208 Commits
v1.0-beta
...
v1.1-beta2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
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 | ||
|
|
e3c79978fb | ||
|
|
af04acef77 | ||
|
|
abc533f6e5 | ||
|
|
bd34a24665 | ||
|
|
6a49f24473 | ||
|
|
994c0e21f1 | ||
|
|
9ce8f6deb7 | ||
|
|
d61c3a9f3a | ||
|
|
d8ad963a02 | ||
|
|
d71c4215a1 | ||
|
|
c5e81b59b4 | ||
|
|
d4c2e8dbca | ||
|
|
178374e498 | ||
|
|
85778bbf58 | ||
|
|
ed8f511766 | ||
|
|
7b02fc8d25 | ||
|
|
034b40dad9 | ||
|
|
ad6d6f69cb | ||
|
|
ef8fc415ac | ||
|
|
0ef66dc098 | ||
|
|
936dccb19d | ||
|
|
188ebcc0dd | ||
|
|
269d3a3efe | ||
|
|
b52afda06b | ||
|
|
2e7e5c3757 | ||
|
|
a8b6217264 | ||
|
|
bb302f2bae | ||
|
|
6edf6cc290 | ||
|
|
31c16c7b9a | ||
|
|
a3ecb56543 | ||
|
|
e66f415ce0 | ||
|
|
fb6c441159 | ||
|
|
290cb8f888 | ||
|
|
3f4b033e33 | ||
|
|
04fd54c754 | ||
|
|
56d0da1a63 | ||
|
|
8d73e73937 | ||
|
|
532e4c27f4 | ||
|
|
d93b15bd8e | ||
|
|
36a7930252 | ||
|
|
43fc67d1a4 | ||
|
|
a1c6610faa | ||
|
|
8fe236521c | ||
|
|
b019ede88d | ||
|
|
2c1a45f356 | ||
|
|
8875aa160b | ||
|
|
3a13b66c7a | ||
|
|
309e33f012 | ||
|
|
6e784213c6 | ||
|
|
6d5177bb43 | ||
|
|
d5b61ed71a | ||
|
|
a32c9a4a94 | ||
|
|
9ffb0db2ae | ||
|
|
8ddc54360d | ||
|
|
791b95a246 | ||
|
|
87e79ec5b2 | ||
|
|
8fb27bb625 | ||
|
|
8dffd613f9 | ||
|
|
bb08cc6d80 | ||
|
|
550cc2cbbd | ||
|
|
d100d2f667 | ||
|
|
44217fc266 | ||
|
|
55cbc83924 | ||
|
|
413c0c85ef | ||
|
|
c5d5eb5658 | ||
|
|
f7e6573703 | ||
|
|
811a6c6dde | ||
|
|
a954e10ae4 | ||
|
|
f5978543aa | ||
|
|
a261f827b4 | ||
|
|
d7bc78bd59 | ||
|
|
a30a131c65 | ||
|
|
60ea3e7ba2 | ||
|
|
87c351c111 | ||
|
|
17a35c1dc7 | ||
|
|
6e3ae602bc | ||
|
|
2edab6d5dd | ||
|
|
39522773e5 | ||
|
|
8a36f91e90 | ||
|
|
5ef0c6bdcf | ||
|
|
094ad9c715 | ||
|
|
3010935eda | ||
|
|
e74366f17c | ||
|
|
9e2644c293 | ||
|
|
66ff2e6ace | ||
|
|
04935c7a14 | ||
|
|
0ba4c0332f | ||
|
|
d194e501a8 | ||
|
|
e5ee612511 | ||
|
|
2c6f55070d | ||
|
|
a03716086b | ||
|
|
1abd0fa4b7 | ||
|
|
c3dbe8fce7 | ||
|
|
8b9e4c7cec | ||
|
|
40537993ff | ||
|
|
e1c6bd55c9 | ||
|
|
23820c56c3 | ||
|
|
9d0eb20e8a | ||
|
|
dfe345fe76 | ||
|
|
675324c25b | ||
|
|
71dc04fc1d | ||
|
|
328dcbbd59 | ||
|
|
db1001f2ad | ||
|
|
029b97b981 | ||
|
|
950166fc7d | ||
|
|
5afb934769 | ||
|
|
d1deb55921 | ||
|
|
cc8c6a3812 | ||
|
|
523bbfbc50 | ||
|
|
2d76ba320f | ||
|
|
5495484c9a | ||
|
|
26a6f25428 | ||
|
|
7b67dd0456 | ||
|
|
aa0976ca4f | ||
|
|
f7c0b4fcd5 | ||
|
|
08af5fd185 | ||
|
|
7ef9a87347 | ||
|
|
b21e1e4924 | ||
|
|
56c214c2a8 | ||
|
|
d903e4237b | ||
|
|
6f238af8c1 | ||
|
|
3b490c9c86 | ||
|
|
a0120f8d5d | ||
|
|
e4622f92d7 | ||
|
|
3898e3c3d9 | ||
|
|
a8534dccf5 | ||
|
|
c00c94fdfd | ||
|
|
f6dbd4b8cd | ||
|
|
efb54e1345 | ||
|
|
d220958442 | ||
|
|
d95a88f513 | ||
|
|
36fca1cb0d | ||
|
|
d91468ba66 | ||
|
|
a136b3e3ec | ||
|
|
ea43525e6b | ||
|
|
8fe46adb66 | ||
|
|
35d66d37cf | ||
|
|
55d3cf0bde | ||
|
|
8411febf6d | ||
|
|
227e1f19a7 | ||
|
|
2fadc03782 | ||
|
|
ab60d853bb | ||
|
|
30464e943c | ||
|
|
08e783eb7f | ||
|
|
887122e9d8 | ||
|
|
076b09d315 | ||
|
|
0e071628dd | ||
|
|
6edde1245f | ||
|
|
b2830395c1 | ||
|
|
cf8ab044ee | ||
|
|
b86dbb490b | ||
|
|
ea0fba0033 | ||
|
|
f141a527ef | ||
|
|
bf1ac9f08c | ||
|
|
38aeba975e | ||
|
|
5c6218f89d | ||
|
|
3e93b672ae | ||
|
|
20307af292 | ||
|
|
a9313b93c6 | ||
|
|
1335ff30a2 | ||
|
|
ebc92d686a |
97
.github/workflows/main.yml
vendored
97
.github/workflows/main.yml
vendored
@@ -14,24 +14,64 @@ 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
|
||||
key: ${{ runner.os }}-${{ hashFiles('files/configs/arpl_defconfig') }}
|
||||
|
||||
# Install dependencies
|
||||
# Install dependencies
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libelf-dev qemu-utils
|
||||
sudo cp -f files/board/arpl/overlayfs/usr/bin/yq /usr/bin/yq
|
||||
|
||||
# Prepare buildroot for first make (for cache)
|
||||
- name: Prepare buildroot
|
||||
if: steps.cache.outputs.cache-hit != 'true'
|
||||
# Get latests LKM, addons and modules
|
||||
- name: Get latests LKM, addons and Modules
|
||||
run: |
|
||||
# Get latest LKMs
|
||||
echo "Getting latest LKMs"
|
||||
TAG=`curl -s https://api.github.com/repos/fbelavenuto/redpill-lkm/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'`
|
||||
STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/redpill-lkm/releases/download/${TAG}/rp-lkms.zip" -o /tmp/rp-lkms.zip`
|
||||
echo "Status=${STATUS}"
|
||||
[ ${STATUS} -ne 200 ] && exit 1
|
||||
|
||||
# Get latest addons and install its
|
||||
echo "Getting latest Addons"
|
||||
TAG=`curl -s https://api.github.com/repos/fbelavenuto/arpl-addons/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'`
|
||||
STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/arpl-addons/releases/download/${TAG}/addons.zip" -o /tmp/addons.zip`
|
||||
echo "Status=${STATUS}"
|
||||
[ ${STATUS} -ne 200 ] && exit 1
|
||||
|
||||
# Get latest modules
|
||||
echo "Getting latest modules"
|
||||
MODULES_DIR="files/board/arpl/p3/modules"
|
||||
TAG=`curl -s https://api.github.com/repos/fbelavenuto/arpl-modules/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'`
|
||||
while read PLATFORM KVER; do
|
||||
FILE="${PLATFORM}-${KVER}"
|
||||
STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/arpl-modules/releases/download/${TAG}/${FILE}.tgz" -o "${MODULES_DIR}/${FILE}.tgz"`
|
||||
echo "Status=${STATUS}"
|
||||
[ ${STATUS} -ne 200 ] && exit 1
|
||||
done < PLATFORMS
|
||||
STATUS=`curl -w "%{http_code}" -L "https://github.com/fbelavenuto/arpl-modules/releases/download/${TAG}/firmware.tgz" -o "${MODULES_DIR}/firmware.tgz"`
|
||||
echo "Status=${STATUS}"
|
||||
[ ${STATUS} -ne 200 ] && exit 1
|
||||
echo OK
|
||||
|
||||
# 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
|
||||
@@ -40,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: |
|
||||
@@ -54,16 +107,10 @@ jobs:
|
||||
rm -rf .buildroot/board/arpl/overlayfs
|
||||
rm -rf .buildroot/board/arpl/p1
|
||||
rm -rf .buildroot/board/arpl/p3
|
||||
# Get latest LKMs
|
||||
echo "Getting latest LKMs"
|
||||
TAG=`curl -s https://api.github.com/repos/fbelavenuto/redpill-lkm/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'`
|
||||
curl -L "https://github.com/fbelavenuto/redpill-lkm/releases/download/${TAG}/rp-lkms.zip" -o /tmp/rp-lkms.zip
|
||||
# Unzip LKMs
|
||||
rm -rf files/board/arpl/p3/lkms/*
|
||||
unzip /tmp/rp-lkms.zip -d files/board/arpl/p3/lkms
|
||||
# Get latest addons and install its
|
||||
echo "Getting latest Addons"
|
||||
TAG=`curl -s https://api.github.com/repos/fbelavenuto/arpl-addons/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'`
|
||||
curl -L "https://github.com/fbelavenuto/arpl-addons/releases/download/${TAG}/addons.zip" -o /tmp/addons.zip
|
||||
# Install Addons
|
||||
mkdir -p /tmp/addons
|
||||
unzip /tmp/addons.zip -d /tmp/addons
|
||||
DEST_PATH="files/board/arpl/p3/addons"
|
||||
@@ -77,6 +124,7 @@ jobs:
|
||||
# Copy files
|
||||
echo "Copying files"
|
||||
sed 's/^ARPL_VERSION=.*/ARPL_VERSION="'${VERSION}'"/' -i files/board/arpl/overlayfs/opt/arpl/include/consts.sh
|
||||
echo "${VERSION}" > files/board/arpl/p1/ARPL-VERSION
|
||||
cp -Ru files/* .buildroot/
|
||||
cd .buildroot
|
||||
echo "Generating default config"
|
||||
@@ -96,11 +144,20 @@ jobs:
|
||||
zip -9 "arpl-${{ steps.build.outputs.VERSION }}.vmdk-dyn.zip" arpl-dyn.vmdk
|
||||
zip -9 "arpl-${{ steps.build.outputs.VERSION }}.vmdk-flat.zip" arpl.vmdk arpl-flat.vmdk
|
||||
sha256sum update-list.yml > sha256sum
|
||||
yq '.replace | explode(.) | to_entries | map([.key])[] | .[]' update-list.yml | while read F; do
|
||||
(cd `dirname ${F}` && sha256sum `basename ${F}`) >> sha256sum
|
||||
done
|
||||
yq '.replace | explode(.) | to_entries | map([.key])[] | .[]' update-list.yml | xargs zip -9j "update.zip" sha256sum update-list.yml
|
||||
|
||||
zip -9j update.zip update-list.yml
|
||||
while read F; do
|
||||
if [ -d "${F}" ]; then
|
||||
FTGZ="`basename "${F}"`.tgz"
|
||||
tar czf "${FTGZ}" -C "${F}" .
|
||||
sha256sum "${FTGZ}" >> sha256sum
|
||||
zip -9j update.zip "${FTGZ}"
|
||||
rm "${FTGZ}"
|
||||
else
|
||||
(cd `dirname ${F}` && sha256sum `basename ${F}`) >> sha256sum
|
||||
zip -9j update.zip "${F}"
|
||||
fi
|
||||
done < <(yq '.replace | explode(.) | to_entries | map([.key])[] | .[]' update-list.yml)
|
||||
zip -9j update.zip sha256sum
|
||||
# Upload artifact
|
||||
- name: Upload
|
||||
uses: actions/upload-artifact@v3
|
||||
|
||||
8
.gitignore
vendored
8
.gitignore
vendored
@@ -5,7 +5,11 @@ arpl*.vmdk
|
||||
*.zip
|
||||
.buildroot
|
||||
test*.sh
|
||||
docker/Dockerfile
|
||||
docker/cache
|
||||
docker/syno-compiler/Dockerfile
|
||||
cache
|
||||
*.bak
|
||||
*.o
|
||||
/files/board/arpl/p3/addons
|
||||
/files/board/arpl/p3/lkms
|
||||
/files/board/arpl/p3/modules
|
||||
/tests
|
||||
|
||||
@@ -5,3 +5,4 @@ broadwellnk 4.4.180
|
||||
denverton 4.4.180
|
||||
geminilake 4.4.180
|
||||
v1000 4.4.180
|
||||
r1000 4.4.180
|
||||
|
||||
97
README-Zh.md
Normal file
97
README-Zh.md
Normal file
@@ -0,0 +1,97 @@
|
||||
# 自动Redpill装载程序
|
||||
|
||||
这个特别的项目是为了方便我用Redpill进行测试而创建的,我决定与其他用户分享它。
|
||||
|
||||
我是巴西人,我的英语不好,所以我为我的翻译道歉。
|
||||
|
||||
我试着让这个系统尽可能的人性化,让生活更简单。加载器自动检测哪个设备正在使用,SATADoM或USB,检测其VID和PID正确。redpilll -lkm已经被编辑,允许在不设置与网络接口相关的变量的情况下引导内核,这样加载程序(和用户)就不必担心了。制作zImage和Ramdisk补丁的Jun代码是嵌入的,如果smallupdate在“zImage”或“rd.gz”中有变化,加载器会重新应用补丁。最重要的内核模块被内置到DSM ramdisk映像中,用于自动外围设备检测。
|
||||
|
||||
# 重要注意事项
|
||||
|
||||
- 一部分用户启动时间过长。在这种情况下,强烈建议在DoM选项或快速USB闪存驱动器的情况下使用SSD作为加载器;
|
||||
|
||||
- 你必须有至少4GB的内存,无论是在裸机和虚拟机;
|
||||
|
||||
- DSM内核兼容SATA端口,不兼容SAS/SCSI等。对于设备树型号,只有SATA端口工作。对于其他型号,可以使用其他类型的磁盘;
|
||||
|
||||
- 可以使用HBA卡,但SMART和序列号仅适用于DS3615xs, DS3617xs和DS3622xs+型号。
|
||||
|
||||
# 使用
|
||||
|
||||
## 一般
|
||||
|
||||
要使用这个项目,请下载可用的最新映像,并将其刻录到USB闪存或SATA硬盘模块上。将电脑设置为从刻录媒体启动,并遵循屏幕上的信息。
|
||||
|
||||
如果最后一个分区的大小大于2GiB,加载器将自动增加该分区的大小,并将该空间用作缓存。
|
||||
|
||||
## 访问加载器
|
||||
|
||||
### 通过终端
|
||||
|
||||
从计算机本身调用“menu.sh”命令。
|
||||
|
||||
### 通过网络
|
||||
|
||||
从另一台机器进入同一网络,在浏览器中输入屏幕上提供的地址`http://<ip>:7681`。
|
||||
|
||||
### 通过ssh
|
||||
|
||||
从另一台机器进入同一网络,使用ssh客户端,用户名: `root` 和密码: `Redp1lL-1s-4weSomE`
|
||||
|
||||
## 使用加载器
|
||||
|
||||
菜单系统是动态的,我希望它足够直观,用户可以没有任何问题的使用它
|
||||
|
||||
不需要配置VID/PID(如果使用u盘)或定义网络接口的MAC地址。如果用户想修改任何接口的MAC地址,使用“Change MAC”到“cmdline”菜单。
|
||||
|
||||
如果选择使用Device-tree系统定义hd的模型,则不需要配置任何内容。在不使用device-tree的情况下,配置必须手动完成,在“cmdline”菜单中有一个选项可以显示SATA控制器、虚拟端口和正在使用的端口,如果需要,可以帮助创建“satapportmap”、“DiskIdxMap”和“sata_remap”。
|
||||
|
||||
另一个重要的一点是,加载器检测CPU是否有MOVBE指令,并且不显示需要它的型号。因此,如果DS918+和DVA3221型号没有显示,这是因为CPU缺乏对MOVBE指令的支持。您可以禁用此限制并自行承担测试风险。
|
||||
|
||||
我开发了一个简单的补丁,在没有device-tree的模型上不再显示虚拟端口错误,用户将能够安装而不必担心它。
|
||||
|
||||
## 快速入门指南
|
||||
|
||||
启动加载程序后,应该出现以下屏幕。输入 menu.sh 并按 `<ENTER>`:
|
||||
|
||||

|
||||
|
||||
如果你愿意,你可以通过网络访问:
|
||||
|
||||

|
||||
|
||||
选择“型号”选项,并选择您喜欢的型号:
|
||||
|
||||

|
||||
|
||||
选择“Buildnumber”选项并选择第一个选项:
|
||||
|
||||

|
||||
|
||||
进入“Serial”菜单,选择“Generate a random Serial number”。
|
||||
|
||||
选择“Build”选项,等待加载器生成:
|
||||
|
||||

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

|
||||
|
||||
由于DSM内核不会在屏幕上显示消息,因此需要通过浏览器访问地址`http://<ip>`来继续配置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项目的人的工作。
|
||||
|
||||
更多信息将在未来添加。
|
||||
82
README.md
82
README.md
@@ -1,35 +1,97 @@
|
||||
# Automated Redpill Loader
|
||||
|
||||
[中文说明](./README-Zh.md)
|
||||
|
||||
This particular project was created to facilitate my testing with Redpill and I decided to share it with other users.
|
||||
|
||||
It is still in alpha stage, with little documentation, but it is functional. 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.
|
||||
|
||||
I tried to make the system as user-friendly as possible, to make life easier. The loader automatically detects which device is being used, SATADom or USB, detecting its VID and PID correctly. redpill-lkm has been edited to allow booting the kernel without setting the variables related to network interfaces so the loader (and user) doesn't have to worry about that. The Jun's code that makes the zImage and Ramdisk patch is embedded, if there is a change in "zImage" or "rd.gz" by some smallupdate, the loader re-applies the patches. The most important kernel modules are built into the DSM ramdisk image for automatic peripheral detection.
|
||||
I tried to make the system as user-friendly as possible, to make life easier. The loader automatically detects which device is being used, SATADoM or USB, detecting its VID and PID correctly. redpill-lkm has been edited to allow booting the kernel without setting the variables related to network interfaces so the loader (and user) doesn't have to worry about that. The Jun's code that makes the zImage and Ramdisk patch is embedded, if there is a change in "zImage" or "rd.gz" by some smallupdate, the loader re-applies the patches. The most important kernel modules are built into the DSM ramdisk image for automatic peripheral detection.
|
||||
|
||||
# Important
|
||||
# Important considerations
|
||||
|
||||
## It is highly recommended to use an SSD for the loader in the case of the option via DoM or a fast USB flash drive
|
||||
- Some users have experienced an excessively long time to boot. In this case is highly recommended to use an SSD for the loader in the case of the option via DoM or a fast USB flash drive;
|
||||
|
||||
## You must have at least 4GB of RAM, both in baremetal and VMs
|
||||
- You must have at least 4GB of RAM, both in baremetal and VMs;
|
||||
|
||||
## The DSM kernel is compatible with SATA ports, not SAS/SCSI/etc. For device-tree models only SATA ports work. For the other models, another type of disks may work.
|
||||
- The DSM kernel is compatible with SATA ports, not SAS/SCSI/etc. For device-tree models only SATA ports work. For the other models, another type of disks may work;
|
||||
|
||||
- It is possible to use HBA cards, however SMART and serial numbers are only functional on DS3615xs, DS3617xs and DS3622xs+ models.
|
||||
|
||||
# Use
|
||||
|
||||
To use this project, download the latest image available and burn it to a USB stick or SATA disk-on-module. Set the PC to boot from the burned media and follow the informations on the screen. When booting, the user can call the "menu.sh" command from the computer itself, access via SSH or use the virtual terminal (ttyd) by typing the address provided on the screen (http://(ip):7681). The loader will automatically increase the size of the last partition and use this space as cache if it is larger than 2GiB.
|
||||
## General
|
||||
|
||||
The menu system is dynamic and I hope it is intuitive enough that the user can use it without any problems. Its allows you to choose a model, the existing buildnumber for the chosen model, type or randomly create a serial number, add/remove addons, add/remove/view "cmdline" and "synoinfo" entries, choose the LKM version, create the loader, boot, manually edit the configuration file, choose a keymap, update and exit.
|
||||
To use this project, download the latest image available and burn it to a USB stick or SATA disk-on-module. Set the PC to boot from the burned media and follow the informations on the screen.
|
||||
|
||||
Changing addons and synoinfo entries require re-creating the loader, cmdline entries do not.
|
||||
The loader will automatically increase the size of the last partition and use this space as cache if it is larger than 2GiB.
|
||||
|
||||
## Acessing loader
|
||||
|
||||
### Via terminal
|
||||
|
||||
Call the "menu.sh" command from the computer itself.
|
||||
|
||||
### Via web
|
||||
|
||||
From another machine into same network, type the address provided on the screen `http://<ip>:7681` in browser.
|
||||
|
||||
### Via ssh
|
||||
|
||||
From another machine into same network, use a ssh client, username `root` and password `Redp1lL-1s-4weSomE`
|
||||
|
||||
## Using loader
|
||||
|
||||
The menu system is dynamic and I hope it is intuitive enough that the user can use it without any problems.
|
||||
|
||||
There is no need to configure the VID/PID (if using a USB stick) or define the MAC Addresses of the network interfaces. If the user wants to modify the MAC Address of any interface, uses the "Change MAC" into "cmdline" menu.
|
||||
|
||||
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.
|
||||
|
||||
## Quickstart guide
|
||||
|
||||
After booting the loader, the following screen should appear. Type menu.sh and press `<ENTER>`:
|
||||
|
||||

|
||||
|
||||
If you prefer, you can access it via the web:
|
||||
|
||||

|
||||
|
||||
Select the "model" option and choose the model you prefer:
|
||||
|
||||

|
||||
|
||||
Select the "Buildnumber" option and choose the first option:
|
||||
|
||||

|
||||
|
||||
Go to "Serial" menu and choose "Generate a random serial number".
|
||||
|
||||
Select the "Build" option and wait for the loader to be generated:
|
||||
|
||||

|
||||
|
||||
Select the "Boot" option and wait for the DSM to boot:
|
||||
|
||||

|
||||
|
||||
The DSM kernel does not display messages on the screen, so it is necessary to continue the process of configuring DSM through the browser by accessing the address `http://<ip>`.
|
||||
There are several tutorials on how to configure DSM over the internet, which will not be covered here.
|
||||
|
||||
# Tutorials
|
||||
|
||||
An ARPL user (Rikkie) created a tutorial to install ARPL on a proxmox server:
|
||||
https://hotstuff.asia/2023/01/03/xpenology-with-arpl-on-proxmox-the-easy-way/
|
||||
|
||||
# Troubles/questions/etc
|
||||
|
||||
Please search the forums at https://xpenology.com/forum if your question/problem has been discussed and resolved. If you can't find a solution, use github issues.
|
||||
|
||||
# Thanks
|
||||
|
||||
All code was based on the work of TTG, pocopico, jumkey and others involved in continuing TTG's original redpill-load project.
|
||||
|
||||
4
TODO
4
TODO
@@ -1,6 +1,10 @@
|
||||
A fazer
|
||||
- Checar NVME no modelo DS920+, DS918+
|
||||
- Checar módulo tg3 no próprio loader (BCM57780 [14e4:1692]) (#31)
|
||||
- "Sensitive data" (#312)
|
||||
- Checar drivers para MMC/SD/eMMC
|
||||
- Checar drivers para chelsio T420, T520 e T580
|
||||
- Melhorar função getAllModules()
|
||||
|
||||
Concluidos:
|
||||
- Generalizar código dos addons
|
||||
|
||||
BIN
doc/DSM boot.png
Normal file
BIN
doc/DSM boot.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
BIN
doc/buildnumber.png
Normal file
BIN
doc/buildnumber.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
BIN
doc/first-screen.png
Normal file
BIN
doc/first-screen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 38 KiB |
BIN
doc/making.png
Normal file
BIN
doc/making.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.9 KiB |
BIN
doc/model.png
Normal file
BIN
doc/model.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 7.5 KiB |
BIN
doc/ttyd.png
Normal file
BIN
doc/ttyd.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 11 KiB |
@@ -1,80 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
###############################################################################
|
||||
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`
|
||||
|
||||
###############################################################################
|
||||
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"
|
||||
|
||||
# Read platforms/kerver version
|
||||
echo "Reading platforms"
|
||||
declare -A PLATFORMS
|
||||
while read PLATFORM KVER; do
|
||||
PLATFORMS[${PLATFORM}]="${KVER}"
|
||||
done <../PLATFORMS
|
||||
|
||||
# Download toolkits
|
||||
mkdir -p cache
|
||||
|
||||
for PLATFORM in ${!PLATFORMS[@]}; do
|
||||
KVER="${PLATFORMS[${PLATFORM}]}"
|
||||
echo -n "Checking cache/${TOOLKIT_VER}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz... "
|
||||
if [ ! -f "cache/${TOOLKIT_VER}/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/${TOOLKIT_VER}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
|
||||
else
|
||||
echo "OK"
|
||||
fi
|
||||
echo -n "Checking cache/${TOOLKIT_VER}/${PLATFORM}-toolchain.txz... "
|
||||
if [ ! -f "cache/${TOOLKIT_VER}/${PLATFORM}-toolchain.txz" ]; then
|
||||
URL=${URLS["${PLATFORM}"]}
|
||||
echo "Downloading ${URL}"
|
||||
curl -L "${URL}" -o "cache/${TOOLKIT_VER}/${PLATFORM}-toolchain.txz"
|
||||
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|@@@TOOLKIT_VER@@@|${TOOLKIT_VER}|g" Dockerfile
|
||||
}
|
||||
|
||||
# 7.0
|
||||
TOOLKIT_VER="7.0"
|
||||
TOOLCHAIN_VER="7.0-41890"
|
||||
GCCLIB_VER="gcc750_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.1
|
||||
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} --tag fbelavenuto/syno-compiler:latest
|
||||
@@ -1,9 +1,10 @@
|
||||
FROM alpine:3.14 AS stage
|
||||
ARG PLATFORMS="@@@PLATFORMS@@@"
|
||||
ARG TOOLKIT_VER="@@@TOOLKIT_VER@@@"
|
||||
ARG GCCLIB_VER="@@@GCCLIB_VER@@@"
|
||||
|
||||
# Copy downloaded toolkits
|
||||
ADD cache/$TOOLKIT_VER /cache
|
||||
ADD cache /cache
|
||||
# Extract toolkits
|
||||
RUN for V in ${PLATFORMS}; do \
|
||||
echo "${V}" | while IFS=':' read PLATFORM KVER; do \
|
||||
@@ -12,30 +13,38 @@ 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" && \
|
||||
tar -xaf "/cache/linux-${KVER_MAJOR}.x.txz" -C "/opt"; \
|
||||
rm -rf /opt/${PLATFORM}/source && \
|
||||
ln -s /opt/linux-${KVER_MAJOR}.x /opt/${PLATFORM}/source; \
|
||||
fi; \
|
||||
done; \
|
||||
done
|
||||
|
||||
# Final image
|
||||
FROM debian:8-slim
|
||||
FROM debian:9-slim
|
||||
ENV SHELL=/bin/bash \
|
||||
ARCH=x86_64
|
||||
|
||||
RUN apt update --yes && \
|
||||
apt install --yes --no-install-recommends --no-install-suggests \
|
||||
apt install --yes --no-install-recommends --no-install-suggests --allow-unauthenticated \
|
||||
ca-certificates nano curl bc kmod git gettext texinfo autopoint gawk sudo \
|
||||
build-essential make ncurses-dev libssl-dev autogen automake pkg-config libtool xsltproc gperf && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
useradd --home-dir /input --no-create-home --shell /bin/bash --uid 1000 arpl && \
|
||||
echo "arpl ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/arpl
|
||||
useradd --create-home --shell /bin/bash --uid 1000 --user-group arpl && \
|
||||
echo "arpl ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/arpl && \
|
||||
mkdir /output && chown 1000:1000 /output
|
||||
|
||||
COPY --from=stage /opt /opt
|
||||
COPY --from=stage --chown=1000:1000 /opt /opt
|
||||
COPY files/ /
|
||||
|
||||
USER arpl
|
||||
WORKDIR /input
|
||||
VOLUME /input /output
|
||||
USER arpl
|
||||
|
||||
ENTRYPOINT ["/opt/do.sh"]
|
||||
118
docker/syno-compiler/build.sh
Executable file
118
docker/syno-compiler/build.sh
Executable file
@@ -0,0 +1,118 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
CACHE_DIR="cache"
|
||||
#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() {
|
||||
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`
|
||||
|
||||
###############################################################################
|
||||
function prepare() {
|
||||
# Download toolkits
|
||||
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="${SERVER}/download/ToolChain/toolkit/${TOOLKIT_VER}/${PLATFORM}/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
|
||||
echo -e "No\nDownloading ${URL}"
|
||||
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
|
||||
# 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}"
|
||||
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}"
|
||||
# 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
|
||||
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
|
||||
#TOOLKIT_VER="7.0"
|
||||
#TOOLCHAIN_VER="7.0-41890"
|
||||
#GCCLIB_VER="gcc750_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.1
|
||||
# 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
|
||||
docker buildx build . --load --tag fbelavenuto/syno-compiler:${TOOLKIT_VER} --tag fbelavenuto/syno-compiler:latest
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
set -eo pipefail
|
||||
|
||||
###############################################################################
|
||||
function export-vars() {
|
||||
@@ -9,20 +9,25 @@ function export-vars() {
|
||||
echo "Use: export-vars <platform>"
|
||||
exit 1
|
||||
fi
|
||||
export PLATFORM="${1}"
|
||||
export KSRC="/opt/${1}/build"
|
||||
export CROSS_COMPILE="/opt/${1}/bin/x86_64-pc-linux-gnu-"
|
||||
export CFLAGS="-I/opt/${1}/include"
|
||||
export LDFLAGS="-I/opt/${1}/lib"
|
||||
export LD_LIBRARY_PATH="/opt/${1}/lib"
|
||||
export ARCH=x86_64
|
||||
export PATH="/opt/${1}/bin:${PATH}"
|
||||
export CC="x86_64-pc-linux-gnu-gcc"
|
||||
export LD="x86_64-pc-linux-gnu-ld"
|
||||
echo "export PATH=\"/opt/${1}/bin:${PATH}\"" | \
|
||||
sudo tee /etc/profile.d/path.sh >/dev/null
|
||||
sudo chmod +x /etc/profile.d/path.sh
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
function shell() {
|
||||
cp /opt/${2}/build/System.map /input
|
||||
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 $@
|
||||
@@ -46,11 +51,15 @@ function compile-module {
|
||||
echo "Platform ${1} not found."
|
||||
exit 1
|
||||
fi
|
||||
unset VALID
|
||||
echo -e "Compiling module for \033[7m${PLATFORM}-${KVER}\033[0m..."
|
||||
cp -R /input /tmp
|
||||
export-vars ${PLATFORM}
|
||||
make -C "/opt/${PLATFORM}/build" M="/tmp/input" \
|
||||
${PLATFORM^^}-Y=y ${PLATFORM^^}-M=m modules
|
||||
PARMS="${PLATFORM^^}-Y=y ${PLATFORM^^}-M=m"
|
||||
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
|
||||
while read F; do
|
||||
strip -g "${F}"
|
||||
echo "Copying `basename ${F}`"
|
||||
Binary file not shown.
@@ -17,8 +17,18 @@ CONFIG_CGROUP_SCHED=y
|
||||
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
|
||||
# CONFIG_RD_LZMA is not set
|
||||
# CONFIG_RD_LZO is not set
|
||||
# CONFIG_RD_LZ4 is not set
|
||||
# CONFIG_RD_ZSTD is not set
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
CONFIG_KCMP=y
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_SMP=y
|
||||
@@ -31,8 +41,6 @@ CONFIG_NUMA=y
|
||||
CONFIG_X86_CHECK_BIOS_CORRUPTION=y
|
||||
# CONFIG_MTRR_SANITIZER is not set
|
||||
CONFIG_EFI=y
|
||||
CONFIG_EFI_STUB=y
|
||||
CONFIG_EFI_MIXED=y
|
||||
CONFIG_HZ_1000=y
|
||||
CONFIG_KEXEC=y
|
||||
CONFIG_CRASH_DUMP=y
|
||||
@@ -42,17 +50,19 @@ CONFIG_PM_TRACE_RTC=y
|
||||
CONFIG_ACPI_VIDEO=y
|
||||
CONFIG_ACPI_DOCK=y
|
||||
CONFIG_ACPI_BGRT=y
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE=y
|
||||
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
|
||||
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
|
||||
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
|
||||
CONFIG_X86_ACPI_CPUFREQ=y
|
||||
CONFIG_X86_POWERNOW_K8=y
|
||||
CONFIG_INTEL_IDLE=y
|
||||
CONFIG_IA32_EMULATION=y
|
||||
# CONFIG_VIRTUALIZATION is not set
|
||||
CONFIG_KPROBES=y
|
||||
CONFIG_JUMP_LABEL=y
|
||||
# CONFIG_GCC_PLUGINS is not set
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
# CONFIG_BLK_DEBUG_FS is not set
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_NET=y
|
||||
@@ -79,7 +89,8 @@ CONFIG_TCP_CONG_ADVANCED=y
|
||||
# CONFIG_TCP_CONG_WESTWOOD is not set
|
||||
# CONFIG_TCP_CONG_HTCP is not set
|
||||
CONFIG_TCP_MD5SIG=y
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_IPV6=m
|
||||
# CONFIG_IPV6_SIT is not set
|
||||
CONFIG_NETLABEL=y
|
||||
CONFIG_NETFILTER=y
|
||||
# CONFIG_NETFILTER_ADVANCED is not set
|
||||
@@ -92,7 +103,6 @@ CONFIG_NF_NAT=y
|
||||
CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=y
|
||||
CONFIG_NETFILTER_XT_TARGET_NFLOG=y
|
||||
CONFIG_NETFILTER_XT_TARGET_SECMARK=y
|
||||
CONFIG_NETFILTER_XT_TARGET_TCPMSS=y
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
|
||||
CONFIG_NETFILTER_XT_MATCH_POLICY=y
|
||||
CONFIG_NETFILTER_XT_MATCH_STATE=y
|
||||
@@ -101,6 +111,8 @@ CONFIG_IP_NF_FILTER=y
|
||||
CONFIG_IP_NF_TARGET_REJECT=y
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP_NF_MANGLE=y
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_VLAN_8021Q=m
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_EMATCH=y
|
||||
CONFIG_NET_CLS_ACT=y
|
||||
@@ -115,6 +127,7 @@ CONFIG_FW_LOADER_COMPRESS=y
|
||||
CONFIG_DEBUG_DEVRES=y
|
||||
CONFIG_CONNECTOR=y
|
||||
CONFIG_EFI_VARS=y
|
||||
# CONFIG_EFI_CUSTOM_SSDT_OVERLAYS is not set
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
CONFIG_VIRTIO_BLK=m
|
||||
CONFIG_BLK_DEV_NVME=y
|
||||
@@ -179,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
|
||||
@@ -218,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
|
||||
@@ -229,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
|
||||
@@ -250,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
|
||||
@@ -261,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
|
||||
@@ -276,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
|
||||
@@ -286,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
|
||||
@@ -353,24 +349,36 @@ CONFIG_HW_RANDOM=y
|
||||
CONFIG_NVRAM=y
|
||||
CONFIG_HPET=y
|
||||
# CONFIG_HPET_MMAP is not set
|
||||
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
|
||||
CONFIG_DRM=y
|
||||
CONFIG_FB=y
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
CONFIG_FB_TILEBLITTING=y
|
||||
CONFIG_FB_VGA16=m
|
||||
CONFIG_FB_UVESA=m
|
||||
CONFIG_FB_MODE_HELPERS=y
|
||||
CONFIG_FB_VESA=y
|
||||
CONFIG_FB_EFI=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_HIDRAW=y
|
||||
CONFIG_HID_A4TECH=y
|
||||
CONFIG_HID_APPLE=y
|
||||
CONFIG_HID_BELKIN=y
|
||||
CONFIG_HID_CHERRY=y
|
||||
CONFIG_HID_CHICONY=y
|
||||
CONFIG_HID_CYPRESS=y
|
||||
CONFIG_HID_EZKEY=y
|
||||
CONFIG_HID_GYRATION=y
|
||||
CONFIG_HID_ITE=y
|
||||
CONFIG_HID_KENSINGTON=y
|
||||
CONFIG_HID_LOGITECH=y
|
||||
CONFIG_LOGITECH_FF=y
|
||||
CONFIG_HID_REDRAGON=y
|
||||
CONFIG_HID_MICROSOFT=y
|
||||
CONFIG_HID_MONTEREY=y
|
||||
CONFIG_HID_NTRIG=y
|
||||
CONFIG_HID_PANTHERLORD=y
|
||||
CONFIG_PANTHERLORD_FF=y
|
||||
@@ -406,10 +414,17 @@ 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
|
||||
CONFIG_DMADEVICES=y
|
||||
CONFIG_SYNC_FILE=y
|
||||
CONFIG_VIRT_DRIVERS=y
|
||||
CONFIG_VBOXGUEST=m
|
||||
CONFIG_VIRTIO_PCI=m
|
||||
@@ -427,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
|
||||
@@ -440,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
|
||||
@@ -473,7 +491,6 @@ CONFIG_SYSTEM_TRUSTED_KEYRING=y
|
||||
CONFIG_CRC_CCITT=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_DEBUG_STACK_USAGE=y
|
||||
# CONFIG_SCHED_DEBUG is not set
|
||||
CONFIG_SCHEDSTATS=y
|
||||
|
||||
@@ -15,7 +15,7 @@ BOARD_PATH="${CONFIG_DIR}/board/arpl"
|
||||
|
||||
echo "Creating image file"
|
||||
# Create image zeroed
|
||||
dd if="/dev/zero" of="${IMAGE_FILE}" bs=1M count=500 conv=sync 2>/dev/null
|
||||
dd if="/dev/zero" of="${IMAGE_FILE}" bs=1M count=1024 conv=sync 2>/dev/null
|
||||
# Copy grub stage1 to image
|
||||
dd if="${BOARD_PATH}/grub.bin" of="${IMAGE_FILE}" conv=notrunc,sync 2>/dev/null
|
||||
# Create partitions on image
|
||||
|
||||
@@ -25,11 +25,14 @@ null::sysinit:/bin/ln -sf /proc/self/fd/0 /dev/stdin
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd/1 /dev/stdout
|
||||
null::sysinit:/bin/ln -sf /proc/self/fd/2 /dev/stderr
|
||||
::sysinit:/bin/hostname -F /etc/hostname
|
||||
# Reduce kernel logs
|
||||
::sysinit:/usr/bin/dmesg -n 1
|
||||
# now run any rc scripts
|
||||
::sysinit:/etc/init.d/rcS
|
||||
|
||||
# Login in terminals
|
||||
::respawn:/sbin/agetty -a root --noclear tty1
|
||||
tty1::respawn:/sbin/agetty -a root --noclear tty1
|
||||
tty2::askfirst:/sbin/agetty --noclear tty2
|
||||
ttyS0::askfirst:/sbin/agetty -a root ttyS0 115200 linux
|
||||
::respawn:/usr/bin/ttyd login -f root
|
||||
|
||||
@@ -40,3 +43,4 @@ ttyS0::askfirst:/sbin/agetty -a root ttyS0 115200 linux
|
||||
::shutdown:/etc/init.d/rcK
|
||||
::shutdown:/sbin/swapoff -a
|
||||
::shutdown:/bin/umount -a -r
|
||||
::shutdown:/usr/sbin/kexec -e -a
|
||||
|
||||
@@ -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,17 +65,17 @@ 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}")
|
||||
|
||||
# Check if machine has EFI
|
||||
[ -d /sys/firmware/efi ] && EFI=1 || EFI=0
|
||||
# Read EFI bug value
|
||||
EFI_BUG="`readModelKey "${MODEL}" "builds.${BUILD}.efi-bug"`"
|
||||
[ "${MODEL}" = "DS3615" ] && EFI_BUG=1 || EFI_BUG=0
|
||||
|
||||
LOADER_DISK="`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1`"
|
||||
BUS=`udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2`
|
||||
@@ -103,17 +100,20 @@ 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_LINE+="console=ttyS0,115200n8 earlyprintk log_buf_len=32M earlycon=uart8250,io,0x3f8,115200n8 elevator=elevator root=/dev/md0 loglevel=15"
|
||||
CMDLINE_DIRECT="${CMDLINE_LINE}"
|
||||
CMDLINE_LINE+="console=ttyS0,115200n8 earlyprintk earlycon=uart8250,io,0x3f8,115200n8 root=/dev/md0 loglevel=15 log_buf_len=32M"
|
||||
for KEY in ${!CMDLINE[@]}; do
|
||||
VALUE="${CMDLINE[${KEY}]}"
|
||||
CMDLINE_LINE+=" ${KEY}"
|
||||
CMDLINE_DIRECT+=" ${KEY}"
|
||||
[ -n "${VALUE}" ] && CMDLINE_LINE+="=${VALUE}"
|
||||
[ -n "${VALUE}" ] && CMDLINE_DIRECT+="=${VALUE}"
|
||||
done
|
||||
# Escape special chars
|
||||
CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'`
|
||||
grub-editenv ${GRUB_PATH}/grubenv set dsm_cmdline="${CMDLINE_LINE}"
|
||||
#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"
|
||||
|
||||
# Wait for an IP
|
||||
@@ -124,7 +124,7 @@ while true; do
|
||||
if [ -n "${IP}" ]; then
|
||||
echo -e ": \033[1;32m${IP}\033[0m"
|
||||
break
|
||||
elif [ ${COUNT} -eq 15 ]; then
|
||||
elif [ ${COUNT} -eq 30 ]; then
|
||||
echo -e ": \033[1;31mERROR\033[0m"
|
||||
break
|
||||
fi
|
||||
@@ -135,11 +135,11 @@ done
|
||||
|
||||
DIRECT="`readConfigKey "directboot" "${USER_CONFIG_FILE}"`"
|
||||
if [ "${DIRECT}" = "true" ]; then
|
||||
grub-editenv ${GRUB_PATH}/grubenv set dsm_cmdline="${CMDLINE_DIRECT}"
|
||||
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"
|
||||
|
||||
@@ -150,7 +150,6 @@ if [ "${EFI_BUG}" = "yes" -a ${EFI} -eq 1 ]; then
|
||||
else
|
||||
kexec -l "${MOD_ZIMAGE_FILE}" --initrd "${MOD_RDGZ_FILE}" --command-line="${CMDLINE_LINE}" >"${LOG_FILE}" 2>&1 || dieLog
|
||||
fi
|
||||
/sbin/swapoff -a >/dev/null 2>&1 || true
|
||||
/bin/umount -a -r >/dev/null 2>&1 || true
|
||||
echo -e "\033[1;37mBooting...\033[0m"
|
||||
kexec -e -a >"${LOG_FILE}" 2>&1 || dieLog
|
||||
poweroff
|
||||
exit 0
|
||||
|
||||
BIN
files/board/arpl/overlayfs/opt/arpl/bzImage-template-v5.gz
Normal file
BIN
files/board/arpl/overlayfs/opt/arpl/bzImage-template-v5.gz
Normal file
Binary file not shown.
@@ -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-beta"
|
||||
ARPL_VERSION="1.1-beta2a"
|
||||
|
||||
# Define paths
|
||||
TMP_PATH="/tmp"
|
||||
|
||||
@@ -147,6 +147,14 @@ function arrayExistItem() {
|
||||
return ${EXISTS}
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Get values in .conf K=V file
|
||||
# 1 - key
|
||||
# 2 - file
|
||||
function _get_conf_kv() {
|
||||
grep "${1}" "${2}" | sed "s|^${1}=\"\(.*\)\"$|\1|g"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Replace/remove/add values in .conf K=V file
|
||||
# 1 - name
|
||||
@@ -168,3 +176,18 @@ function _set_conf_kv() {
|
||||
# Add if doesn't exist
|
||||
echo "$1=\"$2\"" >> $3
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Find and mount the DSM root filesystem
|
||||
# (based on pocopico's TCRP code)
|
||||
function findAndMountDSMRoot() {
|
||||
[ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -gt 0 ] && return 0
|
||||
dsmrootdisk="$(blkid /dev/sd* | grep -i raid | awk '{print $1 " " $4}' | grep UUID | grep sd[a-z]1 | head -1 | awk -F ":" '{print $1}')"
|
||||
[ -z "${dsmrootdisk}" ] && return -1
|
||||
[ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -eq 0 ] && mount -t ext4 $dsmrootdisk "${DSMROOT_PATH}"
|
||||
if [ $(mount | grep -i "${DSMROOT_PATH}" | wc -l) -eq 0 ]; then
|
||||
echo "Failed to mount"
|
||||
return -1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ function getAllModules() {
|
||||
for F in `ls ${TMP_PATH}/modules/*.ko`; do
|
||||
X=`basename ${F}`
|
||||
M=${X:0:-3}
|
||||
DESC=`modinfo ${F} | awk -F':' '/description/{ print $2}' | awk '{sub(/^[ ]+/,""); print}'`
|
||||
DESC=`modinfo ${F} | awk -F':' '/description:/{ print $2}' | awk '{sub(/^[ ]+/,""); print}'`
|
||||
[ -z "${DESC}" ] && DESC="${X}"
|
||||
echo "${M} \"${DESC}\""
|
||||
done
|
||||
|
||||
@@ -37,6 +37,7 @@ fsck.ext2 -p ${LOADER_DISK}3 >/dev/null 2>&1 || true
|
||||
mkdir -p ${BOOTLOADER_PATH}
|
||||
mkdir -p ${SLPART_PATH}
|
||||
mkdir -p ${CACHE_PATH}
|
||||
mkdir -p ${DSMROOT_PATH}
|
||||
# Mount the partitions
|
||||
mount ${LOADER_DISK}1 ${BOOTLOADER_PATH} || die "Can't mount ${BOOTLOADER_PATH}"
|
||||
mount ${LOADER_DISK}2 ${SLPART_PATH} || die "Can't mount ${SLPART_PATH}"
|
||||
@@ -49,7 +50,10 @@ ln -s "${CACHE_PATH}/ssh" "/etc/ssh"
|
||||
# Link bash history to cache volume
|
||||
rm -rf ~/.bash_history
|
||||
ln -s ${CACHE_PATH}/.bash_history ~/.bash_history
|
||||
|
||||
touch ~/.bash_history
|
||||
if ! grep -q "menu.sh" ~/.bash_history; then
|
||||
echo "menu.sh " >> ~/.bash_history
|
||||
fi
|
||||
# Check if exists directories into P3 partition, if yes remove and link it
|
||||
if [ -d "${CACHE_PATH}/model-configs" ]; then
|
||||
rm -rf "${MODEL_CONFIG_PATH}"
|
||||
@@ -68,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}"
|
||||
@@ -143,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
|
||||
@@ -154,13 +161,15 @@ 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
|
||||
echo -n "Waiting IP."
|
||||
while true; do
|
||||
if [ ${COUNT} -eq 15 ]; then
|
||||
if [ ${COUNT} -eq 30 ]; then
|
||||
echo "ERROR"
|
||||
break
|
||||
fi
|
||||
|
||||
Binary file not shown.
@@ -4,12 +4,12 @@
|
||||
. /opt/arpl/include/addons.sh
|
||||
. /opt/arpl/include/modules.sh
|
||||
|
||||
# Check partition 3 space, if < 2GiB uses ramdisk
|
||||
RAMCACHE=0
|
||||
# Check partition 3 space, if < 2GiB is necessary clean cache folder
|
||||
CLEARCACHE=0
|
||||
LOADER_DISK="`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1`"
|
||||
LOADER_DEVICE_NAME=`echo ${LOADER_DISK} | sed 's|/dev/||'`
|
||||
if [ `cat /sys/block/${LOADER_DEVICE_NAME}/${LOADER_DEVICE_NAME}3/size` -lt 4194304 ]; then
|
||||
RAMCACHE=1
|
||||
CLEARCACHE=1
|
||||
fi
|
||||
|
||||
# Get actual IP
|
||||
@@ -61,74 +61,83 @@ function backtitle() {
|
||||
###############################################################################
|
||||
# Shows available models to user choose one
|
||||
function modelMenu() {
|
||||
RESTRICT=1
|
||||
FLGBETA=0
|
||||
dialog --backtitle "`backtitle`" --title "Model" --aspect 18 \
|
||||
--infobox "Reading models" 0 0
|
||||
while true; do
|
||||
echo "" > "${TMP_PATH}/menu"
|
||||
FLGNEX=0
|
||||
while read M; do
|
||||
M="`basename ${M}`"
|
||||
M="${M::-4}"
|
||||
PLATFORM=`readModelKey "${M}" "platform"`
|
||||
DT="`readModelKey "${M}" "dt"`"
|
||||
BETA="`readModelKey "${M}" "beta"`"
|
||||
[ "${BETA}" = "true" -a ${FLGBETA} -eq 0 ] && continue
|
||||
# Check id model is compatible with CPU
|
||||
COMPATIBLE=1
|
||||
if [ ${RESTRICT} -eq 1 ]; then
|
||||
for F in `readModelArray "${M}" "flags"`; do
|
||||
if ! grep -q "^flags.*${F}.*" /proc/cpuinfo; then
|
||||
COMPATIBLE=0
|
||||
FLGNEX=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ -z "${1}" ]; then
|
||||
RESTRICT=1
|
||||
FLGBETA=0
|
||||
dialog --backtitle "`backtitle`" --title "Model" --aspect 18 \
|
||||
--infobox "Reading models" 0 0
|
||||
while true; do
|
||||
echo "" > "${TMP_PATH}/menu"
|
||||
FLGNEX=0
|
||||
while read M; do
|
||||
M="`basename ${M}`"
|
||||
M="${M::-4}"
|
||||
PLATFORM=`readModelKey "${M}" "platform"`
|
||||
DT="`readModelKey "${M}" "dt"`"
|
||||
BETA="`readModelKey "${M}" "beta"`"
|
||||
[ "${BETA}" = "true" -a ${FLGBETA} -eq 0 ] && continue
|
||||
# Check id model is compatible with CPU
|
||||
COMPATIBLE=1
|
||||
if [ ${RESTRICT} -eq 1 ]; then
|
||||
for F in `readModelArray "${M}" "flags"`; do
|
||||
if ! grep -q "^flags.*${F}.*" /proc/cpuinfo; then
|
||||
COMPATIBLE=0
|
||||
FLGNEX=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
fi
|
||||
[ "${DT}" = "true" ] && DT="-DT" || DT=""
|
||||
[ ${COMPATIBLE} -eq 1 ] && echo "${M} \"\Zb${PLATFORM}${DT}\Zn\" " >> "${TMP_PATH}/menu"
|
||||
done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort)
|
||||
[ ${FLGNEX} -eq 1 ] && echo "f \"\Z1Disable flags restriction\Zn\"" >> "${TMP_PATH}/menu"
|
||||
[ ${FLGBETA} -eq 0 ] && echo "b \"\Z1Show beta models\Zn\"" >> "${TMP_PATH}/menu"
|
||||
dialog --backtitle "`backtitle`" --colors --menu "Choose the model" 0 0 0 \
|
||||
--file "${TMP_PATH}/menu" 2>${TMP_PATH}/resp
|
||||
[ $? -ne 0 ] && return
|
||||
resp=$(<${TMP_PATH}/resp)
|
||||
[ -z "${resp}" ] && return
|
||||
if [ "${resp}" = "f" ]; then
|
||||
RESTRICT=0
|
||||
continue
|
||||
fi
|
||||
[ "${DT}" = "true" ] && DT="-DT" || DT=""
|
||||
[ ${COMPATIBLE} -eq 1 ] && echo "${M} \"\Zb${PLATFORM}${DT}\Zn\" " >> "${TMP_PATH}/menu"
|
||||
done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort)
|
||||
[ ${FLGNEX} -eq 1 ] && echo "f \"\Z1Disable flags restriction\Zn\"" >> "${TMP_PATH}/menu"
|
||||
[ ${FLGBETA} -eq 0 ] && echo "b \"\Z1Show beta models\Zn\"" >> "${TMP_PATH}/menu"
|
||||
dialog --backtitle "`backtitle`" --colors --menu "Choose the model" 0 0 0 \
|
||||
--file "${TMP_PATH}/menu" 2>${TMP_PATH}/resp
|
||||
[ $? -ne 0 ] && return
|
||||
resp=$(<${TMP_PATH}/resp)
|
||||
[ -z "${resp}" ] && return
|
||||
if [ "${resp}" = "f" ]; then
|
||||
RESTRICT=0
|
||||
continue
|
||||
fi
|
||||
if [ "${resp}" = "b" ]; then
|
||||
FLGBETA=1
|
||||
continue
|
||||
fi
|
||||
# If user change model, clean buildnumber and S/N
|
||||
if [ "${MODEL}" != "${resp}" ]; then
|
||||
MODEL=${resp}
|
||||
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
||||
BUILD=""
|
||||
writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}"
|
||||
SN=""
|
||||
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
|
||||
# Delete old files
|
||||
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}"
|
||||
DIRTY=1
|
||||
fi
|
||||
break
|
||||
done
|
||||
if [ "${resp}" = "b" ]; then
|
||||
FLGBETA=1
|
||||
continue
|
||||
fi
|
||||
break
|
||||
done
|
||||
else
|
||||
resp="${1}"
|
||||
fi
|
||||
# If user change model, clean buildnumber and S/N
|
||||
if [ "${MODEL}" != "${resp}" ]; then
|
||||
MODEL=${resp}
|
||||
writeConfigKey "model" "${MODEL}" "${USER_CONFIG_FILE}"
|
||||
BUILD=""
|
||||
writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}"
|
||||
SN=""
|
||||
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
|
||||
# Delete old files
|
||||
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}"
|
||||
DIRTY=1
|
||||
fi
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Shows available buildnumbers from a model to user choose one
|
||||
function buildMenu() {
|
||||
ITEMS="`readConfigEntriesArray "builds" "${MODEL_CONFIG_PATH}/${MODEL}.yml" | sort -r`"
|
||||
dialog --clear --no-items --backtitle "`backtitle`" \
|
||||
--menu "Choose a build number" 0 0 0 ${ITEMS} 2>${TMP_PATH}/resp
|
||||
[ $? -ne 0 ] && return
|
||||
resp=$(<${TMP_PATH}/resp)
|
||||
[ -z "${resp}" ] && return
|
||||
if [ -z "${1}" ]; then
|
||||
dialog --clear --no-items --backtitle "`backtitle`" \
|
||||
--menu "Choose a build number" 0 0 0 ${ITEMS} 2>${TMP_PATH}/resp
|
||||
[ $? -ne 0 ] && return
|
||||
resp=$(<${TMP_PATH}/resp)
|
||||
[ -z "${resp}" ] && return
|
||||
else
|
||||
if ! arrayExistItem "${1}" ${ITEMS}; then return; fi
|
||||
resp="${1}"
|
||||
fi
|
||||
if [ "${BUILD}" != "${resp}" ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Build Number" \
|
||||
--infobox "Reconfiguring Synoinfo, Addons and Modules" 0 0
|
||||
@@ -136,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}"
|
||||
@@ -206,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"
|
||||
@@ -322,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
|
||||
@@ -406,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
|
||||
@@ -447,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"
|
||||
|
||||
@@ -507,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
|
||||
@@ -529,6 +495,327 @@ function synoinfoMenu() {
|
||||
done
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Extract linux and ramdisk files from the DSM .pat
|
||||
function extractDsmFiles() {
|
||||
PAT_URL="`readModelKey "${MODEL}" "builds.${BUILD}.pat.url"`"
|
||||
PAT_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.hash"`"
|
||||
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"
|
||||
PAT_PATH="${CACHE_PATH}/dl/${PAT_FILE}"
|
||||
EXTRACTOR_PATH="${CACHE_PATH}/extractor"
|
||||
EXTRACTOR_BIN="syno_extract_system_patch"
|
||||
OLDPAT_URL="https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat"
|
||||
|
||||
if [ -f "${PAT_PATH}" ]; then
|
||||
echo "${PAT_FILE} cached."
|
||||
else
|
||||
echo "Downloading ${PAT_FILE}"
|
||||
# Discover remote file size
|
||||
FILESIZE=`curl --insecure -sLI "${PAT_URL}" | grep -i Content-Length | awk '{print$2}'`
|
||||
if [ 0${FILESIZE} -ge ${SPACELEFT} ]; then
|
||||
# No disk space to download, change it to RAMDISK
|
||||
PAT_PATH="${TMP_PATH}/${PAT_FILE}"
|
||||
fi
|
||||
STATUS=`curl --insecure -w "%{http_code}" -L "${PAT_URL}" -o "${PAT_PATH}" --progress-bar`
|
||||
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
|
||||
rm "${PAT_PATH}"
|
||||
dialog --backtitle "`backtitle`" --title "Error downloading" --aspect 18 \
|
||||
--msgbox "Check internet or cache disk space" 0 0
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -n "Checking hash of ${PAT_FILE}: "
|
||||
if [ "`sha256sum ${PAT_PATH} | awk '{print$1}'`" != "${PAT_HASH}" ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Hash of pat not match, try again!" 0 0
|
||||
rm -f ${PAT_PATH}
|
||||
return 1
|
||||
fi
|
||||
echo "OK"
|
||||
|
||||
rm -rf "${UNTAR_PAT_PATH}"
|
||||
mkdir "${UNTAR_PAT_PATH}"
|
||||
echo -n "Disassembling ${PAT_FILE}: "
|
||||
|
||||
header="$(od -bcN2 ${PAT_PATH} | head -1 | awk '{print $3}')"
|
||||
case ${header} in
|
||||
105)
|
||||
echo "Uncompressed tar"
|
||||
isencrypted="no"
|
||||
;;
|
||||
213)
|
||||
echo "Compressed tar"
|
||||
isencrypted="no"
|
||||
;;
|
||||
255)
|
||||
echo "Encrypted"
|
||||
isencrypted="yes"
|
||||
;;
|
||||
*)
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Could not determine if pat file is encrypted or not, maybe corrupted, try again!" \
|
||||
0 0
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
SPACELEFT=`df --block-size=1 | awk '/'${LOADER_DEVICE_NAME}'3/{print$4}'` # Check disk space left
|
||||
|
||||
if [ "${isencrypted}" = "yes" ]; then
|
||||
# Check existance of extractor
|
||||
if [ -f "${EXTRACTOR_PATH}/${EXTRACTOR_BIN}" ]; then
|
||||
echo "Extractor cached."
|
||||
else
|
||||
# Extractor not exists, get it.
|
||||
mkdir -p "${EXTRACTOR_PATH}"
|
||||
# Check if old pat already downloaded
|
||||
OLDPAT_PATH="${CACHE_PATH}/dl/DS3622xs+-42218.pat"
|
||||
if [ ! -f "${OLDPAT_PATH}" ]; then
|
||||
echo "Downloading old pat to extract synology .pat extractor..."
|
||||
# Discover remote file size
|
||||
FILESIZE=`curl --insecure -sLI "${OLDPAT_URL}" | grep -i Content-Length | awk '{print$2}'`
|
||||
if [ 0${FILESIZE} -ge ${SPACELEFT} ]; then
|
||||
# No disk space to download, change it to RAMDISK
|
||||
OLDPAT_PATH="${TMP_PATH}/DS3622xs+-42218.pat"
|
||||
fi
|
||||
STATUS=`curl --insecure -w "%{http_code}" -L "${OLDPAT_URL}" -o "${OLDPAT_PATH}" --progress-bar`
|
||||
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
|
||||
rm "${OLDPAT_PATH}"
|
||||
dialog --backtitle "`backtitle`" --title "Error downloading" --aspect 18 \
|
||||
--msgbox "Check internet or cache disk space" 0 0
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# Extract DSM ramdisk file from PAT
|
||||
rm -rf "${RAMDISK_PATH}"
|
||||
mkdir -p "${RAMDISK_PATH}"
|
||||
tar -xf "${OLDPAT_PATH}" -C "${RAMDISK_PATH}" rd.gz >"${LOG_FILE}" 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
rm -f "${OLDPAT_PATH}"
|
||||
rm -rf "${RAMDISK_PATH}"
|
||||
dialog --backtitle "`backtitle`" --title "Error extracting" --textbox "${LOG_FILE}" 0 0
|
||||
return 1
|
||||
fi
|
||||
[ ${CLEARCACHE} -eq 1 ] && rm -f "${OLDPAT_PATH}"
|
||||
# Extract all files from rd.gz
|
||||
(cd "${RAMDISK_PATH}"; xz -dc < rd.gz | cpio -idm) >/dev/null 2>&1 || true
|
||||
# Copy only necessary files
|
||||
for f in libcurl.so.4 libmbedcrypto.so.5 libmbedtls.so.13 libmbedx509.so.1 libmsgpackc.so.2 libsodium.so libsynocodesign-ng-virtual-junior-wins.so.7; do
|
||||
cp "${RAMDISK_PATH}/usr/lib/${f}" "${EXTRACTOR_PATH}"
|
||||
done
|
||||
cp "${RAMDISK_PATH}/usr/syno/bin/scemd" "${EXTRACTOR_PATH}/${EXTRACTOR_BIN}"
|
||||
rm -rf "${RAMDISK_PATH}"
|
||||
fi
|
||||
# Uses the extractor to untar pat file
|
||||
echo "Extracting..."
|
||||
LD_LIBRARY_PATH=${EXTRACTOR_PATH} "${EXTRACTOR_PATH}/${EXTRACTOR_BIN}" "${PAT_PATH}" "${UNTAR_PAT_PATH}" || true
|
||||
else
|
||||
echo "Extracting..."
|
||||
tar -xf "${PAT_PATH}" -C "${UNTAR_PAT_PATH}" >"${LOG_FILE}" 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error extracting" --textbox "${LOG_FILE}" 0 0
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -n "Checking hash of zImage: "
|
||||
HASH="`sha256sum ${UNTAR_PAT_PATH}/zImage | awk '{print$1}'`"
|
||||
if [ "${HASH}" != "${ZIMAGE_HASH}" ]; then
|
||||
sleep 1
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Hash of zImage not match, try again!" 0 0
|
||||
return 1
|
||||
fi
|
||||
echo "OK"
|
||||
writeConfigKey "zimage-hash" "${ZIMAGE_HASH}" "${USER_CONFIG_FILE}"
|
||||
|
||||
echo -n "Checking hash of ramdisk: "
|
||||
HASH="`sha256sum ${UNTAR_PAT_PATH}/rd.gz | awk '{print$1}'`"
|
||||
if [ "${HASH}" != "${RAMDISK_HASH}" ]; then
|
||||
sleep 1
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Hash of ramdisk not match, try again!" 0 0
|
||||
return 1
|
||||
fi
|
||||
echo "OK"
|
||||
writeConfigKey "ramdisk-hash" "${RAMDISK_HASH}" "${USER_CONFIG_FILE}"
|
||||
|
||||
echo -n "Copying files: "
|
||||
cp "${UNTAR_PAT_PATH}/grub_cksum.syno" "${BOOTLOADER_PATH}"
|
||||
cp "${UNTAR_PAT_PATH}/GRUB_VER" "${BOOTLOADER_PATH}"
|
||||
cp "${UNTAR_PAT_PATH}/grub_cksum.syno" "${SLPART_PATH}"
|
||||
cp "${UNTAR_PAT_PATH}/GRUB_VER" "${SLPART_PATH}"
|
||||
cp "${UNTAR_PAT_PATH}/zImage" "${ORI_ZIMAGE_FILE}"
|
||||
cp "${UNTAR_PAT_PATH}/rd.gz" "${ORI_RDGZ_FILE}"
|
||||
rm -rf "${UNTAR_PAT_PATH}"
|
||||
echo "OK"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Where the magic happens!
|
||||
function make() {
|
||||
clear
|
||||
PLATFORM="`readModelKey "${MODEL}" "platform"`"
|
||||
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
|
||||
|
||||
# Check if all addon exists
|
||||
while IFS=': ' read ADDON PARAM; do
|
||||
[ -z "${ADDON}" ] && continue
|
||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Addon ${ADDON} not found!" 0 0
|
||||
return 1
|
||||
fi
|
||||
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
|
||||
[ ! -f "${ORI_ZIMAGE_FILE}" -o ! -f "${ORI_RDGZ_FILE}" ] && extractDsmFiles
|
||||
|
||||
/opt/arpl/zimage-patch.sh
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "zImage not patched:\n`<"${LOG_FILE}"`" 0 0
|
||||
return 1
|
||||
fi
|
||||
|
||||
/opt/arpl/ramdisk-patch.sh
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Ramdisk not patched:\n`<"${LOG_FILE}"`" 0 0
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Cleaning"
|
||||
rm -rf "${UNTAR_PAT_PATH}"
|
||||
|
||||
echo "Ready!"
|
||||
sleep 3
|
||||
DIRTY=0
|
||||
return 0
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Advanced menu
|
||||
function advancedMenu() {
|
||||
NEXT="l"
|
||||
while true; do
|
||||
rm "${TMP_PATH}/menu"
|
||||
if [ -n "${BUILD}" ]; then
|
||||
echo "l \"Switch LKM version: \Z4${LKM}\Zn\"" >> "${TMP_PATH}/menu"
|
||||
echo "o \"Modules\"" >> "${TMP_PATH}/menu"
|
||||
fi
|
||||
if loaderIsConfigured; then
|
||||
echo "r \"Switch direct boot: \Z4${DIRECTBOOT}\Zn\"" >> "${TMP_PATH}/menu"
|
||||
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" \
|
||||
--colors --menu "Choose the option" 0 0 0 --file "${TMP_PATH}/menu" \
|
||||
2>${TMP_PATH}/resp
|
||||
[ $? -ne 0 ] && break
|
||||
case `<"${TMP_PATH}/resp"` in
|
||||
l) [ "${LKM}" = "dev" ] && LKM='prod' || LKM='dev'
|
||||
writeConfigKey "lkm" "${LKM}" "${USER_CONFIG_FILE}"
|
||||
DIRTY=1
|
||||
NEXT="o"
|
||||
;;
|
||||
o) selectModules; NEXT="r" ;;
|
||||
r) [ "${DIRECTBOOT}" = "false" ] && DIRECTBOOT='true' || DIRECTBOOT='false'
|
||||
writeConfigKey "directboot" "${DIRECTBOOT}" "${USER_CONFIG_FILE}"
|
||||
NEXT="u"
|
||||
;;
|
||||
u) editUserConfig; NEXT="e" ;;
|
||||
t) tryRecoveryDSM ;;
|
||||
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
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Try to recovery a DSM already installed
|
||||
function tryRecoveryDSM() {
|
||||
dialog --backtitle "`backtitle`" --title "Try recovery DSM" --aspect 18 \
|
||||
--infobox "Trying to recovery a DSM installed system" 0 0
|
||||
if findAndMountDSMRoot; then
|
||||
MODEL=""
|
||||
BUILD=""
|
||||
if [ -f "${DSMROOT_PATH}/.syno/patch/VERSION" ]; then
|
||||
eval `cat ${DSMROOT_PATH}/.syno/patch/VERSION | grep unique`
|
||||
eval `cat ${DSMROOT_PATH}/.syno/patch/VERSION | grep base`
|
||||
if [ -n "${unique}" ] ; then
|
||||
while read F; do
|
||||
M="`basename ${F}`"
|
||||
M="${M::-4}"
|
||||
UNIQUE=`readModelKey "${M}" "unique"`
|
||||
[ "${unique}" = "${UNIQUE}" ] || continue
|
||||
# Found
|
||||
modelMenu "${M}"
|
||||
done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort)
|
||||
if [ -n "${MODEL}" ]; then
|
||||
buildMenu ${base}
|
||||
if [ -n "${BUILD}" ]; then
|
||||
cp "${DSMROOT_PATH}/.syno/patch/zImage" "${SLPART_PATH}"
|
||||
cp "${DSMROOT_PATH}/.syno/patch/rd.gz" "${SLPART_PATH}"
|
||||
MSG="Found a installation:\nModel: ${MODEL}\nBuildnumber: ${BUILD}"
|
||||
SN=`_get_conf_kv SN "${DSMROOT_PATH}/etc/synoinfo.conf"`
|
||||
if [ -n "${SN}" ]; then
|
||||
writeConfigKey "sn" "${SN}" "${USER_CONFIG_FILE}"
|
||||
MSG+="\nSerial: ${SN}"
|
||||
fi
|
||||
dialog --backtitle "`backtitle`" --title "Try recovery DSM" \
|
||||
--aspect 18 --msgbox "${MSG}" 0 0
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
else
|
||||
dialog --backtitle "`backtitle`" --title "Try recovery DSM" --aspect 18 \
|
||||
--msgbox "Unfortunately I couldn't mount the DSM partition!" 0 0
|
||||
fi
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Permit user select the modules to include
|
||||
function selectModules() {
|
||||
@@ -539,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
|
||||
@@ -608,207 +895,6 @@ function selectModules() {
|
||||
done
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Extract linux and ramdisk files from the DSM .pat
|
||||
function extractDsmFiles() {
|
||||
PAT_URL="`readModelKey "${MODEL}" "builds.${BUILD}.pat.url"`"
|
||||
PAT_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.hash"`"
|
||||
RAMDISK_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.ramdisk-hash"`"
|
||||
ZIMAGE_HASH="`readModelKey "${MODEL}" "builds.${BUILD}.pat.zimage-hash"`"
|
||||
|
||||
if [ ${RAMCACHE} -eq 0 ]; then
|
||||
OUT_PATH="${CACHE_PATH}/dl"
|
||||
echo "Cache in disk"
|
||||
else
|
||||
OUT_PATH="${TMP_PATH}/dl"
|
||||
echo "Cache in ram"
|
||||
fi
|
||||
mkdir -p "${OUT_PATH}"
|
||||
|
||||
PAT_FILE="${MODEL}-${BUILD}.pat"
|
||||
PAT_PATH="${OUT_PATH}/${PAT_FILE}"
|
||||
EXTRACTOR_PATH="${CACHE_PATH}/extractor"
|
||||
EXTRACTOR_BIN="syno_extract_system_patch"
|
||||
OLDPAT_URL="https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat"
|
||||
OLDPAT_PATH="${OUT_PATH}/DS3622xs+-42218.pat"
|
||||
|
||||
if [ -f "${PAT_PATH}" ]; then
|
||||
echo "${PAT_FILE} cached."
|
||||
else
|
||||
echo "Downloading ${PAT_FILE}"
|
||||
STATUS=`curl --insecure -w "%{http_code}" -L "${PAT_URL}" -o "${PAT_PATH}" --progress-bar`
|
||||
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error downloading" --aspect 18 \
|
||||
--msgbox "Check internet or cache disk space" 0 0
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -n "Checking hash of ${PAT_FILE}: "
|
||||
if [ "`sha256sum ${PAT_PATH} | awk '{print$1}'`" != "${PAT_HASH}" ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Hash of pat not match, try again!" 0 0
|
||||
rm -f ${PAT_PATH}
|
||||
return 1
|
||||
fi
|
||||
echo "OK"
|
||||
|
||||
rm -rf "${UNTAR_PAT_PATH}"
|
||||
mkdir "${UNTAR_PAT_PATH}"
|
||||
echo -n "Disassembling ${PAT_FILE}: "
|
||||
|
||||
header="$(od -bcN2 ${PAT_PATH} | head -1 | awk '{print $3}')"
|
||||
case ${header} in
|
||||
105)
|
||||
echo "Uncompressed tar"
|
||||
isencrypted="no"
|
||||
;;
|
||||
213)
|
||||
echo "Compressed tar"
|
||||
isencrypted="no"
|
||||
;;
|
||||
255)
|
||||
echo "Encrypted"
|
||||
isencrypted="yes"
|
||||
;;
|
||||
*)
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Could not determine if pat file is encrypted or not, maybe corrupted, try again!" \
|
||||
0 0
|
||||
return 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "${isencrypted}" = "yes" ]; then
|
||||
# Check existance of extractor
|
||||
if [ -f "${EXTRACTOR_PATH}/${EXTRACTOR_BIN}" ]; then
|
||||
echo "Extractor cached."
|
||||
else
|
||||
# Extractor not exists, get it.
|
||||
mkdir -p "${EXTRACTOR_PATH}"
|
||||
# Check if old pat already downloaded
|
||||
if [ ! -f "${OLDPAT_PATH}" ]; then
|
||||
echo "Downloading old pat to extract synology .pat extractor..."
|
||||
STATUS=`curl --insecure -w "%{http_code}" -L "${OLDPAT_URL}" -o "${OLDPAT_PATH}" --progress-bar`
|
||||
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error downloading" --aspect 18 \
|
||||
--msgbox "Check internet or cache disk space" 0 0
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# Extract ramdisk from PAT
|
||||
rm -rf "${RAMDISK_PATH}"
|
||||
mkdir -p "${RAMDISK_PATH}"
|
||||
tar -xf "${OLDPAT_PATH}" -C "${RAMDISK_PATH}" rd.gz >"${LOG_FILE}" 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error extracting" --textbox "${LOG_FILE}" 0 0
|
||||
fi
|
||||
|
||||
# Extract all files from rd.gz
|
||||
(cd "${RAMDISK_PATH}"; xz -dc < rd.gz | cpio -idm) >/dev/null 2>&1 || true
|
||||
# Copy only necessary files
|
||||
for f in libcurl.so.4 libmbedcrypto.so.5 libmbedtls.so.13 libmbedx509.so.1 libmsgpackc.so.2 libsodium.so libsynocodesign-ng-virtual-junior-wins.so.7; do
|
||||
cp "${RAMDISK_PATH}/usr/lib/${f}" "${EXTRACTOR_PATH}"
|
||||
done
|
||||
cp "${RAMDISK_PATH}/usr/syno/bin/scemd" "${EXTRACTOR_PATH}/${EXTRACTOR_BIN}"
|
||||
rm -rf "${RAMDISK_PATH}"
|
||||
fi
|
||||
# Uses the extractor to untar pat file
|
||||
echo "Extracting..."
|
||||
LD_LIBRARY_PATH=${EXTRACTOR_PATH} "${EXTRACTOR_PATH}/${EXTRACTOR_BIN}" "${PAT_PATH}" "${UNTAR_PAT_PATH}" || true
|
||||
else
|
||||
echo "Extracting..."
|
||||
tar -xf "${PAT_PATH}" -C "${UNTAR_PAT_PATH}" >"${LOG_FILE}" 2>&1
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error extracting" --textbox "${LOG_FILE}" 0 0
|
||||
fi
|
||||
fi
|
||||
|
||||
echo -n "Checking hash of zImage: "
|
||||
HASH="`sha256sum ${UNTAR_PAT_PATH}/zImage | awk '{print$1}'`"
|
||||
if [ "${HASH}" != "${ZIMAGE_HASH}" ]; then
|
||||
sleep 1
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Hash of zImage not match, try again!" 0 0
|
||||
return 1
|
||||
fi
|
||||
echo "OK"
|
||||
writeConfigKey "zimage-hash" "${ZIMAGE_HASH}" "${USER_CONFIG_FILE}"
|
||||
|
||||
echo -n "Checking hash of ramdisk: "
|
||||
HASH="`sha256sum ${UNTAR_PAT_PATH}/rd.gz | awk '{print$1}'`"
|
||||
if [ "${HASH}" != "${RAMDISK_HASH}" ]; then
|
||||
sleep 1
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Hash of ramdisk not match, try again!" 0 0
|
||||
return 1
|
||||
fi
|
||||
echo "OK"
|
||||
writeConfigKey "ramdisk-hash" "${RAMDISK_HASH}" "${USER_CONFIG_FILE}"
|
||||
|
||||
echo -n "Copying files: "
|
||||
cp "${UNTAR_PAT_PATH}/grub_cksum.syno" "${BOOTLOADER_PATH}"
|
||||
cp "${UNTAR_PAT_PATH}/GRUB_VER" "${BOOTLOADER_PATH}"
|
||||
cp "${UNTAR_PAT_PATH}/grub_cksum.syno" "${SLPART_PATH}"
|
||||
cp "${UNTAR_PAT_PATH}/GRUB_VER" "${SLPART_PATH}"
|
||||
cp "${UNTAR_PAT_PATH}/zImage" "${ORI_ZIMAGE_FILE}"
|
||||
cp "${UNTAR_PAT_PATH}/rd.gz" "${ORI_RDGZ_FILE}"
|
||||
echo "OK"
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Where the magic happens!
|
||||
function make() {
|
||||
clear
|
||||
PLATFORM="`readModelKey "${MODEL}" "platform"`"
|
||||
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
|
||||
|
||||
# Check if all addon exists
|
||||
while IFS="=" read ADDON PARAM; do
|
||||
[ -z "${ADDON}" ] && continue
|
||||
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Addon ${ADDON} not found!" 0 0
|
||||
return 1
|
||||
fi
|
||||
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
|
||||
|
||||
[ ! -f "${ORI_ZIMAGE_FILE}" -o ! -f "${ORI_RDGZ_FILE}" ] && extractDsmFiles
|
||||
|
||||
/opt/arpl/zimage-patch.sh
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "zImage not patched:\n`<"${LOG_FILE}"`" 0 0
|
||||
return 1
|
||||
fi
|
||||
|
||||
/opt/arpl/ramdisk-patch.sh
|
||||
if [ $? -ne 0 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
|
||||
--msgbox "Ramdisk not patched:\n`<"${LOG_FILE}"`" 0 0
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "Cleaning"
|
||||
rm -rf "${UNTAR_PAT_PATH}"
|
||||
|
||||
echo "Ready!"
|
||||
sleep 3
|
||||
DIRTY=0
|
||||
return 0
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Calls boot.sh to boot into DSM kernel/ramdisk
|
||||
function boot() {
|
||||
[ ${DIRTY} -eq 1 ] && dialog --backtitle "`backtitle`" --title "Alert" \
|
||||
--yesno "Config changed, would you like to rebuild the loader?" 0 0
|
||||
if [ $? -eq 0 ]; then
|
||||
make || return
|
||||
fi
|
||||
boot.sh
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Permits user edit the user config
|
||||
function editUserConfig() {
|
||||
@@ -835,6 +921,17 @@ function editUserConfig() {
|
||||
DIRTY=1
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Calls boot.sh to boot into DSM kernel/ramdisk
|
||||
function boot() {
|
||||
[ ${DIRTY} -eq 1 ] && dialog --backtitle "`backtitle`" --title "Alert" \
|
||||
--yesno "Config changed, would you like to rebuild the loader?" 0 0
|
||||
if [ $? -eq 0 ]; then
|
||||
make || return
|
||||
fi
|
||||
boot.sh
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
# Shows available keymaps to user choose one
|
||||
function keymapMenu() {
|
||||
@@ -857,11 +954,13 @@ function keymapMenu() {
|
||||
KEYMAP=${resp}
|
||||
writeConfigKey "layout" "${LAYOUT}" "${USER_CONFIG_FILE}"
|
||||
writeConfigKey "keymap" "${KEYMAP}" "${USER_CONFIG_FILE}"
|
||||
zcat /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz | loadkeys
|
||||
loadkeys /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz
|
||||
}
|
||||
|
||||
###############################################################################
|
||||
function updateMenu() {
|
||||
PLATFORM="`readModelKey "${MODEL}" "platform"`"
|
||||
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
|
||||
while true; do
|
||||
dialog --backtitle "`backtitle`" --menu "Choose a option" 0 0 0 \
|
||||
a "Update arpl" \
|
||||
@@ -890,7 +989,7 @@ function updateMenu() {
|
||||
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
|
||||
--infobox "Downloading last version ${TAG}" 0 0
|
||||
# Download update file
|
||||
STATUS=`curl --insecure -s -w "%{http_code}" -L \
|
||||
STATUS=`curl --insecure -w "%{http_code}" -L \
|
||||
"https://github.com/fbelavenuto/arpl/releases/download/${TAG}/update.zip" -o /tmp/update.zip`
|
||||
if [ $? -ne 0 -o ${STATUS} -ne 200 ]; then
|
||||
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
|
||||
@@ -913,17 +1012,24 @@ function updateMenu() {
|
||||
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
|
||||
--infobox "Installing new files" 0 0
|
||||
# Process update-list.yml
|
||||
while IFS="=" read KEY VALUE; do
|
||||
mv /tmp/`basename "${KEY}"` "${VALUE}"
|
||||
done < <(readConfigMap "replace" "/tmp/update-list.yml")
|
||||
while read F; do
|
||||
[ -f "${F}" ] && rm -f "${F}"
|
||||
[ -d "${F}" ] && rm -Rf "${F}"
|
||||
done < <(readConfigArray "remove" "/tmp/update-list.yml")
|
||||
while IFS=': ' read KEY VALUE; do
|
||||
if [ "${KEY: -1}" = "/" ]; then
|
||||
rm -Rf "${VALUE}"
|
||||
mkdir -p "${VALUE}"
|
||||
gzip -dc "/tmp/`basename "${KEY}"`.tgz" | tar xf - -C "${VALUE}"
|
||||
else
|
||||
mkdir -p "`dirname "${VALUE}"`"
|
||||
mv "/tmp/`basename "${KEY}"`" "${VALUE}"
|
||||
fi
|
||||
done < <(readConfigMap "replace" "/tmp/update-list.yml")
|
||||
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
|
||||
--yesno "Arpl updated with success to ${TAG}!\nReboot?" 0 0
|
||||
[ $? -ne 0 ] && continue
|
||||
reboot
|
||||
arpl-reboot.sh config
|
||||
exit
|
||||
;;
|
||||
|
||||
@@ -951,6 +1057,7 @@ function updateMenu() {
|
||||
unzip /tmp/addons.zip -d /tmp/addons >/dev/null 2>&1
|
||||
dialog --backtitle "`backtitle`" --title "Update addons" --aspect 18 \
|
||||
--infobox "Installing new addons" 0 0
|
||||
rm -Rf "${ADDONS_PATH}/"*
|
||||
for PKG in `ls /tmp/addons/*.addon`; do
|
||||
ADDON=`basename ${PKG} | sed 's|.addon||'`
|
||||
rm -rf "${ADDONS_PATH}/${ADDON}"
|
||||
@@ -1020,6 +1127,13 @@ function updateMenu() {
|
||||
rm "${MODULES_PATH}/${P}.tgz"
|
||||
mv "/tmp/${P}.tgz" "${MODULES_PATH}/${P}.tgz"
|
||||
done
|
||||
# Rebuild modules if model/buildnumber is selected
|
||||
if [ -n "${PLATFORM}" -a -n "${KVER}" ]; then
|
||||
writeConfigKey "modules" "{}" "${USER_CONFIG_FILE}"
|
||||
while read ID DESC; do
|
||||
writeConfigKey "modules.${ID}" "" "${USER_CONFIG_FILE}"
|
||||
done < <(getAllModules "${PLATFORM}" "${KVER}")
|
||||
fi
|
||||
DIRTY=1
|
||||
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
|
||||
--msgbox "Modules updated with success!" 0 0
|
||||
@@ -1033,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"
|
||||
@@ -1047,21 +1162,25 @@ while true; do
|
||||
echo "a \"Addons\"" >> "${TMP_PATH}/menu"
|
||||
echo "x \"Cmdline menu\"" >> "${TMP_PATH}/menu"
|
||||
echo "i \"Synoinfo menu\"" >> "${TMP_PATH}/menu"
|
||||
echo "l \"Switch LKM version: \Z4${LKM}\Zn\"" >> "${TMP_PATH}/menu"
|
||||
echo "o \"Modules\"" >> "${TMP_PATH}/menu"
|
||||
fi
|
||||
fi
|
||||
echo "v \"Advanced menu\"" >> "${TMP_PATH}/menu"
|
||||
if [ -n "${MODEL}" ]; then
|
||||
if [ -n "${BUILD}" ]; then
|
||||
echo "d \"Build the loader\"" >> "${TMP_PATH}/menu"
|
||||
fi
|
||||
fi
|
||||
if loaderIsConfigured; then
|
||||
echo "r \"Switch direct boot: \Z4${DIRECTBOOT}\Zn\"">> "${TMP_PATH}/menu"
|
||||
echo "b \"Boot the loader\" " >> "${TMP_PATH}/menu"
|
||||
fi
|
||||
echo "u \"Edit user config file manually\"" >> "${TMP_PATH}/menu"
|
||||
echo "k \"Choose a keymap\" " >> "${TMP_PATH}/menu"
|
||||
[ ${RAMCACHE} -eq 0 -a -d "${CACHE_PATH}/dl" ] && echo "c \"Clean disk cache\"" >> "${TMP_PATH}/menu"
|
||||
if [ ${CLEARCACHE} -eq 1 -a -d "${CACHE_PATH}/dl" ]; then
|
||||
echo "c \"Clean disk cache\"" >> "${TMP_PATH}/menu"
|
||||
fi
|
||||
echo "p \"Update menu\"" >> "${TMP_PATH}/menu"
|
||||
echo "e \"Exit\"" >> "${TMP_PATH}/menu"
|
||||
dialog --clear --default-item ${NEXT} --backtitle "`backtitle`" --colors \
|
||||
echo "e \"Exit\"" >> "${TMP_PATH}/menu"
|
||||
|
||||
dialog --default-item ${NEXT} --backtitle "`backtitle`" --colors \
|
||||
--menu "Choose the option" 0 0 0 --file "${TMP_PATH}/menu" \
|
||||
2>${TMP_PATH}/resp
|
||||
[ $? -ne 0 ] && break
|
||||
@@ -1071,19 +1190,10 @@ while true; do
|
||||
s) serialMenu; NEXT="a" ;;
|
||||
a) addonMenu; NEXT="x" ;;
|
||||
x) cmdlineMenu; NEXT="i" ;;
|
||||
i) synoinfoMenu; NEXT="l" ;;
|
||||
l) [ "${LKM}" = "dev" ] && LKM='prod' || LKM='dev'
|
||||
writeConfigKey "lkm" "${LKM}" "${USER_CONFIG_FILE}"
|
||||
NEXT="o"
|
||||
;;
|
||||
o) selectModules; NEXT="d" ;;
|
||||
d) make; NEXT="r" ;;
|
||||
r) [ "${DIRECTBOOT}" = "false" ] && DIRECTBOOT='true' || DIRECTBOOT='false'
|
||||
writeConfigKey "directboot" "${DIRECTBOOT}" "${USER_CONFIG_FILE}"
|
||||
NEXT="b"
|
||||
;;
|
||||
b) boot ;;
|
||||
u) editUserConfig; NEXT="u" ;;
|
||||
i) synoinfoMenu; NEXT="v" ;;
|
||||
v) advancedMenu; NEXT="d" ;;
|
||||
d) make; NEXT="b" ;;
|
||||
b) boot && exit 0 || sleep 5 ;;
|
||||
k) keymapMenu ;;
|
||||
c) dialog --backtitle "`backtitle`" --title "Cleaning" --aspect 18 \
|
||||
--prgbox "rm -rfv \"${CACHE_PATH}/dl\"" 0 0 ;;
|
||||
@@ -1093,4 +1203,3 @@ while true; do
|
||||
done
|
||||
clear
|
||||
echo -e "Call \033[1;32mmenu.sh\033[0m to return to menu"
|
||||
|
||||
|
||||
@@ -2,9 +2,12 @@ id: "DS1520+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "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
|
||||
intel_iommu: igfx_off
|
||||
HddEnableDynamicPower: 1
|
||||
@@ -12,14 +15,15 @@ cmdline: &cmdline
|
||||
synoboot2:
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_1520+"
|
||||
beta: true
|
||||
dom: 2
|
||||
serial:
|
||||
prefix:
|
||||
- "0000"
|
||||
middle: "XXX"
|
||||
- "2060"
|
||||
middle: "RYR"
|
||||
suffix: "alpha"
|
||||
disks: 6
|
||||
dt: true
|
||||
@@ -28,17 +32,16 @@ builds:
|
||||
ver: "7.0.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -49,7 +52,6 @@ builds:
|
||||
ver: "7.1.0"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -66,33 +68,10 @@ builds:
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS1520%2B_42951.pat"
|
||||
hash: "32063eb34a0e29402c7774d60bb3b7247f894c60e676a437de00cd21b9b68cdb"
|
||||
ramdisk-hash: "1afd618cd6799087320343a48a3992594730e2e807110f2770a4cf3f708f8ccd"
|
||||
zimage-hash: "bbfa903358576e5545c3c3c021c292637360f0925de5e59cb3e785f92db71fd3"
|
||||
md5-hash: "5fd40dc13c83ff14bc10fd43a7d19606"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -2,19 +2,22 @@ id: "DS1621+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "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
|
||||
syno_hdd_powerup_seq: 0
|
||||
HddHotplug: 0
|
||||
vender_format_version: 2
|
||||
syno_port_thaw: 1
|
||||
syno_hdd_detect: 0
|
||||
synoboot2:
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_1621+"
|
||||
dom: 2
|
||||
@@ -30,17 +33,16 @@ builds:
|
||||
ver: "7.0.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -51,7 +53,6 @@ builds:
|
||||
ver: "7.1.0"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -68,33 +69,10 @@ builds:
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS1621%2B_42951.pat"
|
||||
hash: "127bc3a5405761915f8a4669c925defd39b31b9740064af357ff2db928314ac9"
|
||||
ramdisk-hash: "12553531c3e8820241babc6b5176ea6f417368e80740c086b6897a67c8783f6e"
|
||||
zimage-hash: "d28951da0eb41286fbe37ffdfc880271787573d68226e5d26321819cf2d2e6e2"
|
||||
md5-hash: "4e52301c56ae5e7b03ff9ea1f8392d43"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -2,19 +2,21 @@ 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"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_2422+"
|
||||
dom: 2
|
||||
@@ -31,17 +33,16 @@ builds:
|
||||
ver: "7.0.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -51,7 +52,6 @@ builds:
|
||||
ver: "7.1.0"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -68,33 +68,10 @@ builds:
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS2422%2B_42951.pat"
|
||||
hash: "ff2e444040f8105079260396649466d791fc8c6613c52ed78d993a784547476d"
|
||||
ramdisk-hash: "a3a7571bf0220dfe53f750a554c1b570ce4a66792b0dc1c9f2d093f5d7d212b5"
|
||||
zimage-hash: "d28951da0eb41286fbe37ffdfc880271787573d68226e5d26321819cf2d2e6e2"
|
||||
md5-hash: "40da0cb929793e3d165f5958d4a5533b"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -2,18 +2,20 @@ 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"
|
||||
unique: "synology_bromolow_3615xs"
|
||||
serial:
|
||||
@@ -31,17 +33,16 @@ builds:
|
||||
ver: "7.0.1"
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
efi-bug: yes
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -53,7 +54,6 @@ builds:
|
||||
ver: "7.1.0"
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
efi-bug: yes
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -71,34 +71,10 @@ builds:
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS3615xs_42951.pat"
|
||||
hash: "f1de39322babe5664a30e0d16b9ce3d73aeb30742cb7b8def09f40d1577fc5a2"
|
||||
ramdisk-hash: "0e353b4a8b1f8efa40e6f853a8d16553dfdf1ebc10bcabbe8dfa7803343c26ef"
|
||||
zimage-hash: "6c535aa513dedc6c2a2b43158e1298c9ea67bf5f909cc19a904e24b51028820b"
|
||||
md5-hash: "1f6831d8706d8337f06a6028037fe120"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "3.10.108"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -2,18 +2,20 @@ 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"
|
||||
unique: "synology_broadwell_3617xs"
|
||||
dom: 1
|
||||
@@ -31,17 +33,16 @@ builds:
|
||||
ver: "7.0.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -53,7 +54,6 @@ builds:
|
||||
ver: "7.1.0"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -71,34 +71,10 @@ builds:
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS3617xs_42951.pat"
|
||||
hash: "d879a5be878c59492e4059a833f17d826ed33fb46552b54759e9c37c6ed17a21"
|
||||
ramdisk-hash: "82148561e561e5a3cb5d88cac47515db6d8426771d8965b1b91b7eab6d1e4a10"
|
||||
zimage-hash: "7f354665843d73779ba28a1c610c7fb31526b717ce354d459d7e28b2d05257ab"
|
||||
md5-hash: "d6c61c7c84320ccc684b76ae6219e650"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -2,19 +2,21 @@ id: "DS3622xs+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
supportraidgroup: "no"
|
||||
esataportcfg: "0x00"
|
||||
support_bde_internal_10g: "no"
|
||||
support_oob_ctl: "no"
|
||||
support_led_brightness_adjustment: "no"
|
||||
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"
|
||||
unique: "synology_broadwellnk_3622xs+"
|
||||
dom: 1
|
||||
@@ -32,17 +34,16 @@ builds:
|
||||
ver: "7.0.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -54,7 +55,6 @@ builds:
|
||||
ver: "7.1.0"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -72,34 +72,10 @@ builds:
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS3622xs%2B_42951.pat"
|
||||
hash: "11f34ae65b13f7feace40e6a7c2399150ef2b4f4eb3a6dcec0be52fca265f151"
|
||||
ramdisk-hash: "469d76399eb94fee0cb135c6e178cdea797290671f6bf0ae896d7387f66dc952"
|
||||
zimage-hash: "9134fc61aea7f687d62728470b8847e640693c444e0afd130882b728ab553fea"
|
||||
md5-hash: "b34b7b7d21af459ae0ba6ea1f9974de6"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -3,18 +3,21 @@ synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
esataportcfg: "0x00"
|
||||
support_led_brightness_adjustment: ""
|
||||
support_led_brightness_adjustment: "no"
|
||||
support_leds_lp3943: ""
|
||||
buzzeroffen: "0xffff"
|
||||
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_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"
|
||||
unique: "synology_apollolake_918+"
|
||||
dom: 2
|
||||
@@ -28,23 +31,22 @@ serial:
|
||||
suffix: "numeric"
|
||||
disks: 4
|
||||
flags:
|
||||
- "fma"
|
||||
- "movbe"
|
||||
builds:
|
||||
42218:
|
||||
ver: "7.0.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -56,7 +58,6 @@ builds:
|
||||
ver: "7.1.0"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -74,34 +75,10 @@ builds:
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS918%2B_42951.pat"
|
||||
hash: "4035aeea248be9c952298a875050625a2485caf46bcd2f9f1c3b21cc8194304b"
|
||||
ramdisk-hash: "0eb6433108d8ca1ac1c9b7bf5c35c54c1c0b400f4fcca2c5e95194494fc26686"
|
||||
zimage-hash: "bb0657c7111a31eaf27e51957ce6f83c6ed48b863666d1ea0a25ed52df3a4020"
|
||||
md5-hash: "fbdd1584dfcb1898df5f66a886a6e9b7"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -2,9 +2,12 @@ id: "DS920+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "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
|
||||
intel_iommu: "igfx_off"
|
||||
HddEnableDynamicPower: 1
|
||||
@@ -12,6 +15,7 @@ cmdline: &cmdline
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_920+"
|
||||
dom: 2
|
||||
@@ -30,17 +34,16 @@ builds:
|
||||
ver: "7.0.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -51,7 +54,6 @@ builds:
|
||||
ver: "7.1.0"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -68,33 +70,10 @@ builds:
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS920%2B_42951.pat"
|
||||
hash: "412b94e64fb46bc7732de55bec0892e6ee51529364ae2aa2473d04aa48b9a3bd"
|
||||
ramdisk-hash: "1026791ed6b9387fc0fcaec68c4606be35d29582ed7501a2fdf02d62c017e368"
|
||||
zimage-hash: "bbfa903358576e5545c3c3c021c292637360f0925de5e59cb3e785f92db71fd3"
|
||||
md5-hash: "9fcb2a54b13f4e6acc3947c2165a464b"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
48
files/board/arpl/overlayfs/opt/arpl/model-configs/DS923+.yml
Normal file
48
files/board/arpl/overlayfs/opt/arpl/model-configs/DS923+.yml
Normal file
@@ -0,0 +1,48 @@
|
||||
id: "DS923+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "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
|
||||
synoboot2:
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
vender_format_version: 2
|
||||
elevator: elevator
|
||||
platform: "r1000"
|
||||
unique: "synology_r1000_923+"
|
||||
beta: true
|
||||
dom: 2
|
||||
dt: true
|
||||
serial:
|
||||
prefix:
|
||||
- "2270"
|
||||
middle: "TQR"
|
||||
suffix: "alpha"
|
||||
disks: 4
|
||||
builds:
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS923%2B_42962.pat"
|
||||
hash: "e33b47df446ce0bd99c5613767c9dba977915e25acfb5ccb9f5650b14459458f"
|
||||
ramdisk-hash: "0aa3f1b2d00f887aaf0d0e2c8b51ec97bb545bf5f99c40f33d3eaabc32a5ac03"
|
||||
zimage-hash: "1e54804c84e0b4e7f71eff5b5ec8aad9c6ba8fb4fc200ad92251d7d29155a651"
|
||||
md5-hash: "fdff6232dacf9bd3b189506f51577128"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
@@ -3,17 +3,20 @@ synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
buzzeroffen: "0xffff"
|
||||
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
|
||||
intel_iommu: "igfx_off"
|
||||
HddEnableDynamicPower: 1
|
||||
vender_format_version: 2
|
||||
syno_port_thaw: 1
|
||||
synoboot2:
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "geminilake"
|
||||
unique: "synology_geminilake_dva1622"
|
||||
dom: 2
|
||||
@@ -32,7 +35,6 @@ builds:
|
||||
ver: "7.1.0"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -49,33 +51,10 @@ builds:
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DVA1622_42951.pat"
|
||||
hash: "2771636333fe1f1f08ad7e80100c0c1224edf1290cea2df848e8d019992b1271"
|
||||
ramdisk-hash: "920336ce890b099b4192cc41e1773e501392b9611cc09c8f96a4e8ed8ddfdfad"
|
||||
zimage-hash: "bbfa903358576e5545c3c3c021c292637360f0925de5e59cb3e785f92db71fd3"
|
||||
md5-hash: "6e119d8eb2c0a175a56b0bbba1f43372"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -4,18 +4,19 @@ synoinfo: &synoinfo
|
||||
support_memory_compatibility: "no"
|
||||
esataportcfg: "0x00"
|
||||
support_bde_internal_10g: "no"
|
||||
supportraidgroup: "no"
|
||||
support_syno_hybrid_raid: "yes"
|
||||
internalportcfg: "0xfffff"
|
||||
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"
|
||||
unique: "synology_denverton_dva3219"
|
||||
beta: true
|
||||
@@ -27,24 +28,23 @@ serial:
|
||||
middle: "RFR"
|
||||
suffix: "alpha"
|
||||
flags:
|
||||
- "fma"
|
||||
- "movbe"
|
||||
disks: 4
|
||||
builds:
|
||||
42218:
|
||||
ver: "7.0.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -56,7 +56,6 @@ builds:
|
||||
ver: "7.1.0"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -74,34 +73,10 @@ builds:
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DVA3219_42951.pat"
|
||||
hash: "74fc31feb6788ace9ae2ea162e77fb273ae503acecf58abcaa8d60380be2d4ab"
|
||||
ramdisk-hash: "cbaee3c024e6c4752aca2a8e37d8e0bbaae6740c19c633a5fb2d1ecf2e8fb253"
|
||||
zimage-hash: "fb4f70d6f67f77b99973113208590363efcdc6c5856c3a5efb85abd75d750260"
|
||||
md5-hash: "309b02195fb52239ee6fdfafdf157cd1"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -1,18 +1,22 @@
|
||||
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"
|
||||
unique: "synology_denverton_dva3221"
|
||||
dom: 2
|
||||
@@ -25,24 +29,23 @@ serial:
|
||||
middle: "SJR"
|
||||
suffix: "alpha"
|
||||
flags:
|
||||
- "fma"
|
||||
- "movbe"
|
||||
disks: 4
|
||||
builds:
|
||||
42218:
|
||||
ver: "7.0.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -54,7 +57,6 @@ builds:
|
||||
ver: "7.1.0"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -72,34 +74,10 @@ builds:
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DVA3221_42951.pat"
|
||||
hash: "c16020a308e71eab73a5acfce5290d13e1a1a0960fa7887acad3f9b4a71e56eb"
|
||||
ramdisk-hash: "491f8863b8a1ee36837dcb7e145f793ca840793d3da2c1e67ce8c5f4df096e80"
|
||||
zimage-hash: "fb4f70d6f67f77b99973113208590363efcdc6c5856c3a5efb85abd75d750260"
|
||||
md5-hash: "59c68430cb9cd20322cb287334a4017b"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -2,9 +2,12 @@ id: "FS2500"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "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
|
||||
intel_iommu: igfx_off
|
||||
SMBusHddDynamicPower: 1
|
||||
@@ -12,6 +15,7 @@ cmdline: &cmdline
|
||||
synoboot2:
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
elevator: elevator
|
||||
platform: "v1000"
|
||||
unique: "synology_v1000_fs2500"
|
||||
beta: true
|
||||
@@ -28,17 +32,16 @@ builds:
|
||||
ver: "7.0.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -49,7 +52,6 @@ builds:
|
||||
ver: "7.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -66,33 +68,10 @@ builds:
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_FS2500_42951.pat"
|
||||
hash: "a878c928d7133c3bf3e10e8d3fb43ca7449a57f01d240a3c80de51cdd43af5c3"
|
||||
ramdisk-hash: "a248103b1b47f800753b627394af8768698b74944d156cb6e40c80cd6ba8556f"
|
||||
zimage-hash: "d28951da0eb41286fbe37ffdfc880271787573d68226e5d26321819cf2d2e6e2"
|
||||
md5-hash: "7b48e21c1f2090bb01d5f14a8e16a435"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -2,25 +2,28 @@ id: "RS4021xs+"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "no"
|
||||
support_bde_internal_10g: "no"
|
||||
esataportcfg: "0x0"
|
||||
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_bde_internal_10g: "no"
|
||||
esataportcfg: "0x0"
|
||||
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"
|
||||
unique: "synology_broadwellnk_rs4021xs+"
|
||||
beta: true
|
||||
dom: 2
|
||||
serial:
|
||||
prefix:
|
||||
- "0000"
|
||||
middle: "XXX"
|
||||
- "2250"
|
||||
middle: "T2R"
|
||||
suffix: "alpha"
|
||||
disks: 16
|
||||
dt: false
|
||||
@@ -29,14 +32,13 @@ builds:
|
||||
ver: "7.0.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *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"
|
||||
@@ -51,7 +53,6 @@ builds:
|
||||
ver: "7.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
@@ -59,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"
|
||||
@@ -69,34 +70,10 @@ builds:
|
||||
- "ramdisk-42661-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42951:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
rc: true
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_RS4021xs%2B_42951.pat"
|
||||
hash: "7c9e076f3007662f63e34fd478fc48f32dee766f1ddc712f25ae91a2e56e078c"
|
||||
ramdisk-hash: "c4d23a068a66499c50c9772fc5c90cc38dfcba5c45dcab085eda5d07d720046b"
|
||||
zimage-hash: "9134fc61aea7f687d62728470b8847e640693c444e0afd130882b728ab553fea"
|
||||
md5-hash: "e2d11981bba84b2eb6ba62b8bf2d2d28"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
- "ramdisk-42661-disable-disabled-ports.patch"
|
||||
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "4.4.180"
|
||||
rd-compressed: false
|
||||
efi-bug: no
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
id: "SA6400"
|
||||
synoinfo: &synoinfo
|
||||
support_disk_compatibility: "no"
|
||||
support_memory_compatibility: "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
|
||||
synoboot2:
|
||||
syno_ttyS0: "serial,0x3f8"
|
||||
syno_ttyS1: "serial,0x2f8"
|
||||
vender_format_version: 2
|
||||
scsi_mod.use_blk_mq: 1
|
||||
platform: "epyc7002"
|
||||
unique: "synology_epyc7002_sa6400"
|
||||
beta: true
|
||||
dom: 2
|
||||
serial:
|
||||
prefix:
|
||||
- "0000"
|
||||
middle: "XXX"
|
||||
suffix: "alpha"
|
||||
disks: 16
|
||||
dt: true
|
||||
builds:
|
||||
42962:
|
||||
ver: "7.1.1"
|
||||
kver: "5.10.55"
|
||||
rd-compressed: false
|
||||
cmdline:
|
||||
<<: *cmdline
|
||||
synoinfo:
|
||||
<<: *synoinfo
|
||||
pat:
|
||||
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_SA6400_42962.pat"
|
||||
hash: "83fc408380ebb1381224261de6220b873d7b62a99e715557509ae9553f618a71"
|
||||
ramdisk-hash: "d4efe45fc4dd71758fe365f7eb39d24982d1440b00986259cab9a03577982f68"
|
||||
zimage-hash: "d5b8af848fc585695e35bd1c4f4c953fd8e54435b2799face4f8f350bac6df93"
|
||||
md5-hash: "fdbbea86e280a8f754339a064f9ad2df"
|
||||
patch:
|
||||
- "ramdisk-common-disable-root-pwd.patch"
|
||||
- "ramdisk-common-init-script.patch"
|
||||
- "ramdisk-common-etc-rc.patch"
|
||||
- "ramdisk-42951-post-init-script.patch"
|
||||
@@ -13,6 +13,12 @@ echo -n "Patching Ramdisk"
|
||||
# Remove old rd.gz patched
|
||||
rm -f "${MOD_RDGZ_FILE}"
|
||||
|
||||
# Check disk space left
|
||||
LOADER_DISK="`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1`"
|
||||
LOADER_DEVICE_NAME=`echo ${LOADER_DISK} | sed 's|/dev/||'`
|
||||
SPACELEFT=`df --block-size=1 | awk '/'${LOADER_DEVICE_NAME}'3/{print$4}'`
|
||||
[ ${SPACELEFT} -le 268435456 ] && rm -rf "${CACHE_PATH}/dl"
|
||||
|
||||
# Unzipping ramdisk
|
||||
echo -n "."
|
||||
rm -rf "${RAMDISK_PATH}" # Force clean
|
||||
@@ -25,6 +31,10 @@ mkdir -p "${RAMDISK_PATH}"
|
||||
MODEL="`readConfigKey "model" "${USER_CONFIG_FILE}"`"
|
||||
BUILD="`readConfigKey "build" "${USER_CONFIG_FILE}"`"
|
||||
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"
|
||||
@@ -48,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}")
|
||||
|
||||
@@ -72,6 +82,8 @@ echo -n "."
|
||||
for KEY in ${!SYNOINFO[@]}; do
|
||||
_set_conf_kv "${KEY}" "${SYNOINFO[${KEY}]}" "${RAMDISK_PATH}/etc/synoinfo.conf" >"${LOG_FILE}" 2>&1 || dieLog
|
||||
done
|
||||
# Add serial number to synoinfo.conf, to help to recovery a installed DSM
|
||||
_set_conf_kv "SN" "${SN}" "${RAMDISK_PATH}/etc/synoinfo.conf" >"${LOG_FILE}" 2>&1 || dieLog
|
||||
|
||||
# Patch /sbin/init.post
|
||||
echo -n "."
|
||||
@@ -80,9 +92,11 @@ sed -e "/@@@CONFIG-MANIPULATORS-TOOLS@@@/ {" -e "r ${TMP_PATH}/rp.txt" -e 'd' -e
|
||||
rm "${TMP_PATH}/rp.txt"
|
||||
touch "${TMP_PATH}/rp.txt"
|
||||
for KEY in ${!SYNOINFO[@]}; do
|
||||
echo "_set_conf_kv '${KEY}' '${SYNOINFO[${KEY}]}' '/tmpRoot/etc/synoinfo.conf'" >> "${TMP_PATH}/rp.txt"
|
||||
echo "_set_conf_kv '${KEY}' '${SYNOINFO[${KEY}]}' '/tmpRoot/etc/synoinfo.conf'" >> "${TMP_PATH}/rp.txt"
|
||||
echo "_set_conf_kv '${KEY}' '${SYNOINFO[${KEY}]}' '/tmpRoot/etc.defaults/synoinfo.conf'" >> "${TMP_PATH}/rp.txt"
|
||||
done
|
||||
echo "_set_conf_kv 'SN' '${SN}' '/tmpRoot/etc/synoinfo.conf'" >> "${TMP_PATH}/rp.txt"
|
||||
echo "_set_conf_kv 'SN' '${SN}' '/tmpRoot/etc.defaults/synoinfo.conf'" >> "${TMP_PATH}/rp.txt"
|
||||
sed -e "/@@@CONFIG-GENERATED@@@/ {" -e "r ${TMP_PATH}/rp.txt" -e 'd' -e '}' -i "${RAMDISK_PATH}/sbin/init.post"
|
||||
rm "${TMP_PATH}/rp.txt"
|
||||
|
||||
@@ -111,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"`"
|
||||
|
||||
@@ -119,20 +133,20 @@ echo -n "."
|
||||
mkdir -p "${RAMDISK_PATH}/addons"
|
||||
echo "#!/bin/sh" > "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo 'echo "addons.sh called with params ${@}"' >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export PLATFORM=${PLATFORM}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export MODEL=${MODEL}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export BUILD=${BUILD}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
echo "export LAYOUT=${LAYOUT}" >> "${RAMDISK_PATH}/addons/addons.sh"
|
||||
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,21 +1,11 @@
|
||||
#!/bin/sh
|
||||
# Based on code and ideas from @jumkey
|
||||
|
||||
. /opt/arpl/include/functions.sh
|
||||
|
||||
#zImage_head 16494
|
||||
#payload(
|
||||
# vmlinux.bin x
|
||||
# padding 0xf00000-x
|
||||
# vmlinux.bin size 4
|
||||
#) 0xf00004
|
||||
#zImage_tail(
|
||||
# unknown 72
|
||||
# run_size 4
|
||||
# unknown 30
|
||||
# vmlinux.bin size 4
|
||||
# unknown 114460
|
||||
#) 114570
|
||||
#crc32 4
|
||||
MODEL="`readConfigKey "model" "${USER_CONFIG_FILE}"`"
|
||||
BUILD="`readConfigKey "build" "${USER_CONFIG_FILE}"`"
|
||||
KVER="`readModelKey "${MODEL}" "builds.${BUILD}.kver"`"
|
||||
|
||||
# Adapted from: scripts/Makefile.lib
|
||||
# Usage: size_append FILE [FILE2] [FILEn]...
|
||||
@@ -51,12 +41,40 @@ size_le () {
|
||||
SCRIPT_DIR=`dirname $0`
|
||||
VMLINUX_MOD=${1}
|
||||
ZIMAGE_MOD=${2}
|
||||
gzip -cd "${SCRIPT_DIR}/zImage_template.gz" > "${ZIMAGE_MOD}"
|
||||
KVER_MAJOR=${KVER:0:1}
|
||||
if [ $KVER_MAJOR -eq 4 ] || [ $KVER_MAJOR -eq 3 ]; then
|
||||
# Kernel version 4.x or 3.x (bromolow)
|
||||
#zImage_head 16494
|
||||
#payload(
|
||||
# vmlinux.bin x
|
||||
# padding 0xf00000-x
|
||||
# vmlinux.bin size 4
|
||||
#) 0xf00004
|
||||
#zImage_tail(
|
||||
# unknown 72
|
||||
# run_size 4
|
||||
# unknown 30
|
||||
# vmlinux.bin size 4
|
||||
# unknown 114460
|
||||
#) 114570
|
||||
#crc32 4
|
||||
gzip -cd "${SCRIPT_DIR}/bzImage-template-v4.gz" > "${ZIMAGE_MOD}"
|
||||
|
||||
dd if="${VMLINUX_MOD}" of="${ZIMAGE_MOD}" bs=16494 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745134 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
dd if="${VMLINUX_MOD}" of="${ZIMAGE_MOD}" bs=16494 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745134 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745244 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
|
||||
RUN_SIZE=`objdump -h ${VMLINUX_MOD} | sh "${SCRIPT_DIR}/calc_run_size.sh"`
|
||||
size_le $RUN_SIZE | dd of=$ZIMAGE_MOD bs=15745210 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=15745244 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
size_le $(($((16#`crc32 "${ZIMAGE_MOD}" | awk '{print$1}'`)) ^ 0xFFFFFFFF)) | dd of="${ZIMAGE_MOD}" conv=notrunc oflag=append >"${LOG_FILE}" 2>&1 || dieLog
|
||||
RUN_SIZE=`objdump -h ${VMLINUX_MOD} | sh "${SCRIPT_DIR}/calc_run_size.sh"`
|
||||
size_le ${RUN_SIZE} | dd of=${ZIMAGE_MOD} bs=15745210 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
size_le $(($((16#`crc32 "${ZIMAGE_MOD}" | awk '{print$1}'`)) ^ 0xFFFFFFFF)) | dd of="${ZIMAGE_MOD}" conv=notrunc oflag=append >"${LOG_FILE}" 2>&1 || dieLog
|
||||
else
|
||||
# Kernel version 5.x
|
||||
gzip -cd "${SCRIPT_DIR}/bzImage-template-v5.gz" > "${ZIMAGE_MOD}"
|
||||
|
||||
dd if="${VMLINUX_MOD}" of="${ZIMAGE_MOD}" bs=14561 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=34463421 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
file_size_le "${VMLINUX_MOD}" | dd of="${ZIMAGE_MOD}" bs=34479132 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
# RUN_SIZE=`objdump -h ${VMLINUX_MOD} | sh "${SCRIPT_DIR}/calc_run_size.sh"`
|
||||
# size_le ${RUN_SIZE} | dd of=${ZIMAGE_MOD} bs=34626904 seek=1 conv=notrunc >"${LOG_FILE}" 2>&1 || dieLog
|
||||
size_le $(($((16#`crc32 "${ZIMAGE_MOD}" | awk '{print$1}'`)) ^ 0xFFFFFFFF)) | dd of="${ZIMAGE_MOD}" conv=notrunc oflag=append >"${LOG_FILE}" 2>&1 || dieLog
|
||||
fi
|
||||
|
||||
@@ -18,6 +18,7 @@ export EDITOR="/bin/nano"
|
||||
export BOOTLOADER_PATH="/mnt/p1"
|
||||
export SLPART_PATH="/mnt/p2" # Synologic partition
|
||||
export CACHE_PATH="/mnt/p3"
|
||||
export DSMROOT_PATH="/mnt/dsmroot"
|
||||
export PATH="${PATH}:/opt/arpl"
|
||||
|
||||
if [ ! -f ${HOME}/.initialized ]; then
|
||||
|
||||
1
files/board/arpl/p1/ARPL-VERSION
Normal file
1
files/board/arpl/p1/ARPL-VERSION
Normal file
@@ -0,0 +1 @@
|
||||
1.1-beta2a
|
||||
BIN
files/board/arpl/p1/EFI/BOOT/BOOTIA32.EFI
Normal file
BIN
files/board/arpl/p1/EFI/BOOT/BOOTIA32.EFI
Normal file
Binary file not shown.
Binary file not shown.
@@ -1,3 +0,0 @@
|
||||
search --set=root --label "ARPL1"
|
||||
set prefix=($root)'/grub'
|
||||
configfile $prefix/grub.cfg
|
||||
BIN
files/board/arpl/p1/grub/fonts/unicode.pf2
Normal file
BIN
files/board/arpl/p1/grub/fonts/unicode.pf2
Normal file
Binary file not shown.
@@ -1,84 +1,123 @@
|
||||
insmod search
|
||||
insmod echo
|
||||
insmod terminal
|
||||
insmod test
|
||||
|
||||
terminal_input console
|
||||
terminal_output console
|
||||
insmod font
|
||||
insmod loadenv
|
||||
insmod serial
|
||||
insmod usb_keyboard
|
||||
insmod linux
|
||||
insmod gzio
|
||||
insmod fat
|
||||
insmod ext2
|
||||
|
||||
set default="boot"
|
||||
set timeout="5"
|
||||
set timeout_style="menu"
|
||||
set vesa_mode=1
|
||||
|
||||
insmod loadenv
|
||||
if [ -s $prefix/grubenv ]; then
|
||||
load_env
|
||||
fi
|
||||
if [ "${default}" ]; then
|
||||
set default="${default}"
|
||||
fi
|
||||
if [ "${next_entry}" ]; then
|
||||
set default="${next_entry}"
|
||||
set next_entry=
|
||||
save_env next_entry
|
||||
set default="${next_entry}"
|
||||
unset next_entry
|
||||
save_env next_entry
|
||||
fi
|
||||
if [ "${vesa_mode}" ]; then
|
||||
set vesa_mode=${vesa_mode}
|
||||
fi
|
||||
|
||||
insmod usb_keyboard
|
||||
insmod part_msdos
|
||||
insmod ext2
|
||||
insmod fat
|
||||
insmod linux
|
||||
insmod gzio
|
||||
function load_video {
|
||||
if [ x$feature_all_video_module = xy ]; then
|
||||
insmod all_video
|
||||
else
|
||||
insmod efi_gop
|
||||
insmod efi_uga
|
||||
insmod ieee1275_fb
|
||||
insmod vbe
|
||||
insmod vga
|
||||
insmod video_bochs
|
||||
insmod video_cirrus
|
||||
fi
|
||||
}
|
||||
|
||||
set gfxmode=auto
|
||||
if [ "${grub_platform}" = "efi" ]; then
|
||||
insmod efi_gop
|
||||
insmod efi_uga
|
||||
else
|
||||
insmod vbe
|
||||
insmod vga
|
||||
load_video
|
||||
if loadfont unicode; then
|
||||
set gfxmode=auto
|
||||
insmod gfxterm
|
||||
terminal_output gfxterm
|
||||
fi
|
||||
|
||||
insmod serial
|
||||
set menu_color_normal=light-green/blue
|
||||
set menu_color_highlight=black/green
|
||||
|
||||
if serial --unit=0 --speed=115200; then
|
||||
terminal_input --append serial_com0
|
||||
terminal_output --append serial_com0
|
||||
fi
|
||||
|
||||
insmod search
|
||||
function set_gfxpayload {
|
||||
if [ ${vesa_mode} -eq 1 ]; then
|
||||
set gfxpayload=keep
|
||||
else
|
||||
set gfxpayload=text
|
||||
fi
|
||||
}
|
||||
|
||||
set TERM=tty2
|
||||
|
||||
search --set=root --label "ARPL3"
|
||||
if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
|
||||
if [ "${default}" = "direct" ]; then
|
||||
set timeout="1"
|
||||
menuentry 'Boot DSM kernel directly' --id direct {
|
||||
set_gfxpayload
|
||||
echo "Loading DSM kernel..."
|
||||
linux /zImage-dsm ${dsm_cmdline}
|
||||
linux /zImage-dsm console=ttyS0,115200n8 earlyprintk log_buf_len=32M earlycon=uart8250,io,0x3f8,115200n8 root=/dev/md0 loglevel=15 ${dsm_cmdline}
|
||||
echo "Loading DSM initramfs..."
|
||||
initrd /initrd-dsm
|
||||
echo "Booting..."
|
||||
}
|
||||
fi
|
||||
menuentry 'Boot DSM' --id boot {
|
||||
set_gfxpayload
|
||||
echo "Loading kernel..."
|
||||
linux /bzImage-arpl console=ttyS0,115200n8 quiet net.ifnames=0 biosdevname=0
|
||||
linux /bzImage-arpl console=${TERM} net.ifnames=0
|
||||
echo "Loading initramfs..."
|
||||
initrd /initrd-arpl
|
||||
echo "Booting..."
|
||||
}
|
||||
menuentry 'Force re-install DSM' --id junior {
|
||||
set_gfxpayload
|
||||
echo "Loading kernel..."
|
||||
linux /bzImage-arpl console=ttyS0,115200n8 quiet net.ifnames=0 biosdevname=0 force_junior
|
||||
linux /bzImage-arpl console=${TERM} net.ifnames=0 force_junior
|
||||
echo "Loading initramfs..."
|
||||
initrd /initrd-arpl
|
||||
echo "Booting..."
|
||||
}
|
||||
else
|
||||
set timeout="1"
|
||||
fi
|
||||
|
||||
menuentry 'Configure loader' --id config {
|
||||
set_gfxpayload
|
||||
echo "Loading kernel..."
|
||||
linux /bzImage-arpl console=ttyS0,115200n8 quiet net.ifnames=0 biosdevname=0 IWANTTOCHANGETHECONFIG
|
||||
linux /bzImage-arpl console=${TERM} net.ifnames=0 IWANTTOCHANGETHECONFIG
|
||||
echo "Loading initramfs..."
|
||||
initrd /initrd-arpl
|
||||
echo "Booting..."
|
||||
}
|
||||
|
||||
if [ ${vesa_mode} = 1 ]; then
|
||||
menuentry 'Change vesa to text video mode' --id videomode {
|
||||
set vesa_mode=0
|
||||
save_env vesa_mode
|
||||
configfile ${prefix}/grub.cfg
|
||||
}
|
||||
else
|
||||
menuentry 'Change text to vesa video mode' --id videomode {
|
||||
set vesa_mode=1
|
||||
save_env vesa_mode
|
||||
reboot
|
||||
configfile ${prefix}/grub.cfg
|
||||
}
|
||||
fi
|
||||
|
||||
BIN
files/board/arpl/p1/grub/i386-efi/acpi.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/acpi.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/adler32.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/adler32.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/affs.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/affs.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/afs.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/afs.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/afsplitter.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/afsplitter.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/ahci.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/ahci.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/all_video.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/all_video.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/aout.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/aout.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/appleldr.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/appleldr.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/archelp.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/archelp.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/at_keyboard.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/at_keyboard.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/ata.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/ata.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/backtrace.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/backtrace.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/bfs.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/bfs.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/bitmap.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/bitmap.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/bitmap_scale.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/bitmap_scale.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/blocklist.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/blocklist.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/boot.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/boot.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/bsd.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/bsd.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/bswap_test.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/bswap_test.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/btrfs.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/btrfs.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/bufio.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/bufio.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cat.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cat.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cbfs.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cbfs.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cbls.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cbls.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cbmemc.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cbmemc.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cbtable.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cbtable.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cbtime.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cbtime.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/chain.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/chain.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cmdline_cat_test.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cmdline_cat_test.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cmp.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cmp.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cmp_test.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cmp_test.mod
Normal file
Binary file not shown.
194
files/board/arpl/p1/grub/i386-efi/command.lst
Normal file
194
files/board/arpl/p1/grub/i386-efi/command.lst
Normal file
@@ -0,0 +1,194 @@
|
||||
*acpi: acpi
|
||||
*all_functional_test: functional_test
|
||||
*background_image: gfxterm_background
|
||||
*cat: cat
|
||||
*cpuid: cpuid
|
||||
*crc: hashsum
|
||||
*cryptomount: cryptodisk
|
||||
*echo: echo
|
||||
*extract_syslinux_entries_configfile: syslinuxcfg
|
||||
*extract_syslinux_entries_source: syslinuxcfg
|
||||
*file: file
|
||||
*functional_test: functional_test
|
||||
*gettext: gettext
|
||||
*hashsum: hashsum
|
||||
*hdparm: hdparm
|
||||
*hello: hello
|
||||
*help: help
|
||||
*hexdump: hexdump
|
||||
*inb: iorw
|
||||
*inl: iorw
|
||||
*inw: iorw
|
||||
*keystatus: keystatus
|
||||
*kfreebsd: bsd
|
||||
*knetbsd: bsd
|
||||
*kopenbsd: bsd
|
||||
*list_env: loadenv
|
||||
*load_env: loadenv
|
||||
*loopback: loopback
|
||||
*ls: ls
|
||||
*lsacpi: lsacpi
|
||||
*lspci: lspci
|
||||
*md5sum: hashsum
|
||||
*menuentry: normal
|
||||
*pcidump: pcidump
|
||||
*probe: probe
|
||||
*rdmsr: rdmsr
|
||||
*read_byte: memrw
|
||||
*read_dword: memrw
|
||||
*read_word: memrw
|
||||
*regexp: regexp
|
||||
*save_env: loadenv
|
||||
*search: search
|
||||
*serial: serial
|
||||
*setpci: setpci
|
||||
*sha1sum: hashsum
|
||||
*sha256sum: hashsum
|
||||
*sha512sum: hashsum
|
||||
*sleep: sleep
|
||||
*smbios: smbios
|
||||
*submenu: normal
|
||||
*syslinux_configfile: syslinuxcfg
|
||||
*syslinux_source: syslinuxcfg
|
||||
*terminfo: terminfo
|
||||
*test_blockarg: test_blockarg
|
||||
*testspeed: testspeed
|
||||
*tr: tr
|
||||
*trust: pgp
|
||||
*verify_detached: pgp
|
||||
*xnu_splash: xnu
|
||||
*zfskey: zfscrypt
|
||||
.: configfile
|
||||
[: test
|
||||
appleloader: appleldr
|
||||
authenticate: normal
|
||||
background_color: gfxterm_background
|
||||
backtrace: backtrace
|
||||
badram: mmap
|
||||
blocklist: blocklist
|
||||
boot: boot
|
||||
break: normal
|
||||
cat: minicmd
|
||||
cbmemc: cbmemc
|
||||
chainloader: chain
|
||||
clear: normal
|
||||
cmp: cmp
|
||||
configfile: configfile
|
||||
continue: normal
|
||||
coreboot_boottime: cbtime
|
||||
cutmem: mmap
|
||||
date: date
|
||||
distrust: pgp
|
||||
dump: minicmd
|
||||
eval: eval
|
||||
exit: minicmd
|
||||
export: normal
|
||||
extract_entries_configfile: configfile
|
||||
extract_entries_source: configfile
|
||||
extract_legacy_entries_configfile: legacycfg
|
||||
extract_legacy_entries_source: legacycfg
|
||||
fakebios: loadbios
|
||||
false: true
|
||||
fix_video: fixvideo
|
||||
fwsetup: efifwsetup
|
||||
gdbstub: gdb
|
||||
gdbstub_break: gdb
|
||||
gdbstub_stop: gdb
|
||||
gptsync: gptsync
|
||||
halt: halt
|
||||
help: minicmd
|
||||
hexdump_random: random
|
||||
initrd16: linux16
|
||||
initrd: linux
|
||||
keymap: keylayouts
|
||||
kfreebsd_loadenv: bsd
|
||||
kfreebsd_module: bsd
|
||||
kfreebsd_module_elf: bsd
|
||||
knetbsd_module: bsd
|
||||
knetbsd_module_elf: bsd
|
||||
kopenbsd_ramdisk: bsd
|
||||
legacy_check_password: legacycfg
|
||||
legacy_configfile: legacycfg
|
||||
legacy_initrd: legacycfg
|
||||
legacy_initrd_nounzip: legacycfg
|
||||
legacy_kernel: legacycfg
|
||||
legacy_password: legacycfg
|
||||
legacy_source: legacycfg
|
||||
linux16: linux16
|
||||
linux: linux
|
||||
list_trusted: pgp
|
||||
loadbios: loadbios
|
||||
loadfont: font
|
||||
lscoreboot: cbls
|
||||
lsefi: lsefi
|
||||
lsefimmap: lsefimmap
|
||||
lsefisystab: lsefisystab
|
||||
lsfonts: font
|
||||
lsmmap: lsmmap
|
||||
lsmod: minicmd
|
||||
lssal: lssal
|
||||
macppcbless: macbless
|
||||
mactelbless: macbless
|
||||
module2: multiboot2
|
||||
module: multiboot
|
||||
multiboot2: multiboot2
|
||||
multiboot: multiboot
|
||||
nativedisk: nativedisk
|
||||
net_add_addr: net
|
||||
net_add_dns: net
|
||||
net_add_route: net
|
||||
net_bootp: net
|
||||
net_del_addr: net
|
||||
net_del_dns: net
|
||||
net_del_route: net
|
||||
net_dhcp: net
|
||||
net_get_dhcp_option: net
|
||||
net_ipv6_autoconf: net
|
||||
net_ls_addr: net
|
||||
net_ls_cards: net
|
||||
net_ls_dns: net
|
||||
net_ls_routes: net
|
||||
net_nslookup: net
|
||||
normal: normal
|
||||
normal_exit: normal
|
||||
outb: iorw
|
||||
outl: iorw
|
||||
outw: iorw
|
||||
parttool: parttool
|
||||
password: password
|
||||
password_pbkdf2: password_pbkdf2
|
||||
play: play
|
||||
read: read
|
||||
reboot: reboot
|
||||
return: normal
|
||||
rmmod: minicmd
|
||||
search.file: search_fs_file
|
||||
search.fs_label: search_label
|
||||
search.fs_uuid: search_fs_uuid
|
||||
setparams: normal
|
||||
shift: normal
|
||||
source: configfile
|
||||
terminal_input: terminal
|
||||
terminal_output: terminal
|
||||
test: test
|
||||
testload: testload
|
||||
time: time
|
||||
true: true
|
||||
usb: usbtest
|
||||
videoinfo: videoinfo
|
||||
videotest: videotest
|
||||
write_byte: memrw
|
||||
write_dword: memrw
|
||||
write_word: memrw
|
||||
wrmsr: wrmsr
|
||||
xnu_devprop_load: xnu
|
||||
xnu_kernel64: xnu
|
||||
xnu_kernel: xnu
|
||||
xnu_kext: xnu
|
||||
xnu_kextdir: xnu
|
||||
xnu_mkext: xnu
|
||||
xnu_ramdisk: xnu
|
||||
xnu_resume: xnu
|
||||
xnu_uuid: xnu_uuid
|
||||
zfs-bootfs: zfsinfo
|
||||
zfsinfo: zfsinfo
|
||||
BIN
files/board/arpl/p1/grub/i386-efi/configfile.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/configfile.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/core.efi
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/core.efi
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cpio.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cpio.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cpio_be.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cpio_be.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cpuid.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cpuid.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/crc64.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/crc64.mod
Normal file
Binary file not shown.
45
files/board/arpl/p1/grub/i386-efi/crypto.lst
Normal file
45
files/board/arpl/p1/grub/i386-efi/crypto.lst
Normal file
@@ -0,0 +1,45 @@
|
||||
RIJNDAEL: gcry_rijndael
|
||||
RIJNDAEL192: gcry_rijndael
|
||||
RIJNDAEL256: gcry_rijndael
|
||||
AES128: gcry_rijndael
|
||||
AES-128: gcry_rijndael
|
||||
AES-192: gcry_rijndael
|
||||
AES-256: gcry_rijndael
|
||||
ADLER32: adler32
|
||||
CRC64: crc64
|
||||
ARCFOUR: gcry_arcfour
|
||||
BLOWFISH: gcry_blowfish
|
||||
CAMELLIA128: gcry_camellia
|
||||
CAMELLIA192: gcry_camellia
|
||||
CAMELLIA256: gcry_camellia
|
||||
CAST5: gcry_cast5
|
||||
CRC32: gcry_crc
|
||||
CRC32RFC1510: gcry_crc
|
||||
CRC24RFC2440: gcry_crc
|
||||
DES: gcry_des
|
||||
3DES: gcry_des
|
||||
DSA: gcry_dsa
|
||||
IDEA: gcry_idea
|
||||
MD4: gcry_md4
|
||||
MD5: gcry_md5
|
||||
RFC2268_40: gcry_rfc2268
|
||||
AES: gcry_rijndael
|
||||
AES192: gcry_rijndael
|
||||
AES256: gcry_rijndael
|
||||
RIPEMD160: gcry_rmd160
|
||||
RSA: gcry_rsa
|
||||
SEED: gcry_seed
|
||||
SERPENT128: gcry_serpent
|
||||
SERPENT192: gcry_serpent
|
||||
SERPENT256: gcry_serpent
|
||||
SHA1: gcry_sha1
|
||||
SHA224: gcry_sha256
|
||||
SHA256: gcry_sha256
|
||||
SHA512: gcry_sha512
|
||||
SHA384: gcry_sha512
|
||||
TIGER192: gcry_tiger
|
||||
TIGER: gcry_tiger
|
||||
TIGER2: gcry_tiger
|
||||
TWOFISH: gcry_twofish
|
||||
TWOFISH128: gcry_twofish
|
||||
WHIRLPOOL: gcry_whirlpool
|
||||
BIN
files/board/arpl/p1/grub/i386-efi/crypto.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/crypto.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cryptodisk.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cryptodisk.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/cs5536.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/cs5536.mod
Normal file
Binary file not shown.
BIN
files/board/arpl/p1/grub/i386-efi/ctz_test.mod
Normal file
BIN
files/board/arpl/p1/grub/i386-efi/ctz_test.mod
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user