Compare commits

..

116 Commits

Author SHA1 Message Date
Fabio Belavenuto
5433835e6c Merge pull request #130 from fbelavenuto/dev
eudev fixed
2022-08-22 23:22:39 -03:00
Fabio Belavenuto
1f6e32b72a eudev fixed 2022-08-22 23:22:06 -03:00
Fabio Belavenuto
16145061de Merge pull request #129 from fbelavenuto/dev
wip
2022-08-22 23:10:09 -03:00
Fabio Belavenuto
4b580607cb wip 2022-08-22 23:09:40 -03:00
Fabio Belavenuto
0da9003ae7 Merge pull request #128 from fbelavenuto/dev2
new dbgutils(nano,smartctl)
2022-08-22 23:00:39 -03:00
Fabio Belavenuto
fbee3249b4 new dbgutils(nano,smartctl)
wip
2022-08-22 23:00:18 -03:00
Fabio Belavenuto
3aed6125cb Merge pull request #127 from fbelavenuto/root-passwd
reverting remove root password
2022-08-22 21:45:41 -03:00
Fabio Belavenuto
6e1af3af75 reverting remove root password 2022-08-22 21:43:18 -03:00
Fabio Belavenuto
eecd98193c Testing DVA3219 synoinfo entries 2022-08-22 15:53:38 -03:00
Fabio Belavenuto
be0ff18843 Merge pull request #126 from fbelavenuto/new-addon-lsiutil
New addon lsiutil
2022-08-22 15:53:01 -03:00
Fabio Belavenuto
67c8467966 New addon lsiutil 2022-08-22 15:52:32 -03:00
Fabio Belavenuto
666b223dc6 Merge pull request #125 from fbelavenuto/root-password
Removing root password
2022-08-22 08:33:26 -03:00
Fabio Belavenuto
4d2c544ac7 Removing root password 2022-08-22 08:33:04 -03:00
Fabio Belavenuto
47b3188ee7 Merge pull request #124 from fbelavenuto/vmdk
Changing VMDK generation with the subformat=monolithicFlat
2022-08-22 08:28:18 -03:00
Fabio Belavenuto
1e614c6673 Changing VMDK generation with the subformat=monolithicFlat 2022-08-22 08:27:51 -03:00
Fabio Belavenuto
be256177b5 Merge pull request #122 from fbelavenuto/ramdisk-not-patched
Fixing missing information (bug ramdisk not patched)
2022-08-19 16:57:23 -03:00
Fabio Belavenuto
b5e7e82a67 Fixing missing information (bug ramdisk not patched) 2022-08-19 16:57:08 -03:00
Fabio Belavenuto
156444f29e Merge pull request #121 from fbelavenuto/ixgbevf
Added ixgbevf module
2022-08-19 11:40:58 -03:00
Fabio Belavenuto
4a73f8ae78 Added ixgbevf module 2022-08-19 11:40:33 -03:00
Fabio Belavenuto
193c95e1fc Merge pull request #120 from fbelavenuto/new-ixgbe
new ixgbe version
2022-08-19 11:33:27 -03:00
Fabio Belavenuto
6a6b223972 new ixgbe version 2022-08-19 11:33:05 -03:00
Fabio Belavenuto
90c39bc9f5 Merge pull request #119 from fbelavenuto/ice
Ice
2022-08-19 11:13:54 -03:00
Fabio Belavenuto
10ca9420d5 Added ice modules 2022-08-19 11:13:14 -03:00
Fabio Belavenuto
aba8878500 Added ice module 2022-08-19 11:12:39 -03:00
Fabio Belavenuto
98c92c03d9 Merge pull request #118 from fbelavenuto/dev
Added iavf module
2022-08-19 10:51:52 -03:00
Fabio Belavenuto
ffd09dfa75 Added iavf module 2022-08-19 10:51:14 -03:00
Fabio Belavenuto
34362117da Merge pull request #117 from fbelavenuto/dev
Testing more github actions
2022-08-19 10:20:13 -03:00
Fabio Belavenuto
1cf68bce40 Testing more github actions 2022-08-19 10:20:00 -03:00
Fabio Belavenuto
d6ebcd1fbc Merge pull request #116 from fbelavenuto/install-addons-on-live
Separated script to install addons on boot
2022-08-19 10:18:27 -03:00
Fabio Belavenuto
d3f720092f Separated script to install addons on boot 2022-08-18 16:29:55 -03:00
Fabio Belavenuto
0303c3b28f Merge pull request #114 from fbelavenuto/img-gen
fix img-gen.sh little bug
2022-08-18 16:27:24 -03:00
Fabio Belavenuto
f421824af3 fix img-gen.sh little bug 2022-08-18 16:27:03 -03:00
Fabio Belavenuto
93ac809711 Merge pull request #113 from fbelavenuto/build-ordering
Build ordering
2022-08-18 14:38:20 -03:00
Fabio Belavenuto
69af175bea Build ordering 2022-08-18 14:38:04 -03:00
Fabio Belavenuto
2e960e564b Merge pull request #112 from fbelavenuto/dev
New version of igb module
2022-08-18 14:37:08 -03:00
Fabio Belavenuto
aa43b3669a New version of igb module 2022-08-18 14:35:39 -03:00
Fabio Belavenuto
f4e380831a Adding KSRC variable into docker 2022-08-18 10:06:32 -03:00
Fabio Belavenuto
aa85152cc2 new modules and fw 2022-08-18 08:33:00 -03:00
Fabio Belavenuto
376f1080f9 Merge pull request #109 from fbelavenuto/new-bn-updates
Adding MD5 hash to make the rss update files
2022-08-17 16:41:40 -03:00
Fabio Belavenuto
2cde38923c Adding MD5 hash to make the rss update files 2022-08-17 16:41:21 -03:00
Fabio Belavenuto
9c680d59f0 Merge pull request #108 from fbelavenuto/dev
Fix bugs into MAC-related stuff, organizing modules
2022-08-17 15:50:56 -03:00
Fabio Belavenuto
a9d4085587 Fix bugs into MAC-related stuff, organizing modules 2022-08-17 15:34:43 -03:00
Fabio Belavenuto
178956c781 Merge pull request #99 from fbelavenuto/keymap
Fixing keymap selection with layout
2022-08-15 17:17:13 -03:00
Fabio Belavenuto
4dde9e8b0b Fixing keymap selection with layout 2022-08-15 17:16:49 -03:00
Fabio Belavenuto
26c2d52565 Merge pull request #94 from fbelavenuto/93-grub-not-using-predictable-ifnames-for-network-interfaces
Testing cmdline net.ifnames=0 biosdevname=0
2022-08-12 11:15:02 -03:00
Fabio Belavenuto
1ad8f4ee62 Testing cmdline net.ifnames=0 biosdevname=0 2022-08-12 11:14:21 -03:00
Fabio Belavenuto
f76ad57835 Merge pull request #92 from fbelavenuto/88-dva3219-loader
Added as beta: DVA3219, DS1520+, FS2500, RS4021xs+
2022-08-11 17:34:40 -03:00
Fabio Belavenuto
2fd551ac60 Added as beta: DVA3219, DS1520+, FS2500, RS4021xs+
Added option to model menu to enable beta models
2022-08-11 17:34:07 -03:00
Fabio Belavenuto
6dcd73e940 Merge pull request #91 from fbelavenuto/89-no-space-left-on-device
Growing image size
2022-08-11 13:17:29 -03:00
Fabio Belavenuto
f245ccb104 Growing image size 2022-08-11 13:17:03 -03:00
Fabio Belavenuto
7ab80a64f7 Merge pull request #90 from fbelavenuto/tests-fs2500
Tests fs2500
2022-08-11 13:14:52 -03:00
Fabio Belavenuto
6d2925492d Added FS2500 and RS4021+ for tests. Fixed bug in new_bn.sh 2022-08-11 12:06:48 -03:00
Fabio Belavenuto
21a76c1155 testing fs2500 and dtbpatch 2022-08-11 09:29:21 -03:00
Fabio Belavenuto
260f61f01a Merge pull request #87 from fbelavenuto/vitioblk
Added virtio blk
2022-08-10 14:14:53 -03:00
Fabio Belavenuto
d0ca839d2c Added virtio blk 2022-08-10 14:13:59 -03:00
Fabio Belavenuto
bddddb89fc Merge pull request #86 from fbelavenuto/51-virtual-machine-manager-cluster-is-not-initialized
Loader init configfile with real MAC. Fixes many bugs with MAC
2022-08-10 13:19:45 -03:00
Fabio Belavenuto
14eeae6816 Loader init configfile with real MAC. Fixes many bugs with MAC 2022-08-10 13:19:01 -03:00
Fabio Belavenuto
3dc34b9fb9 Merge pull request #85 from fbelavenuto/42951
0.4-alpha1: new buildnumber 42951
2022-08-10 10:30:12 -03:00
Fabio Belavenuto
1243320769 0.4-alpha1: new buildnumber 42951 2022-08-10 10:08:24 -03:00
Fabio Belavenuto
4eb0732eaa Merge pull request #81 from fbelavenuto/dev
Dev
2022-08-09 12:39:38 -03:00
Fabio Belavenuto
b78e3735e2 Little fixes 2022-08-09 12:38:27 -03:00
Fabio Belavenuto
9fa97f9730 wip docker 2022-08-08 16:01:10 -03:00
Fabio Belavenuto
f654b72a19 Merge pull request #76 from fbelavenuto/dev
wip
2022-08-05 17:25:10 -03:00
Fabio Belavenuto
6ac2dea20a wip 2022-08-05 17:24:12 -03:00
Fabio Belavenuto
f19de0b526 Merge pull request #75 from fbelavenuto/dev
testing rss
2022-08-05 17:02:22 -03:00
Fabio Belavenuto
8b735d438d testing rss 2022-08-05 17:01:42 -03:00
Fabio Belavenuto
b444432de7 Merge pull request #74 from fbelavenuto/dev
Dev
2022-08-05 15:31:31 -03:00
Fabio Belavenuto
e75c252e1d Testing rss 2022-08-05 15:31:00 -03:00
Fabio Belavenuto
700f25fbbc wip 2022-08-05 13:24:59 -03:00
Fabio Belavenuto
18cc6326b8 Fixing custom MACs for DS3622 2022-08-05 11:25:57 -03:00
Fabio Belavenuto
96cd58db64 Merge pull request #72 from fbelavenuto/dev
Dev merge
2022-08-03 15:41:32 -03:00
Fabio Belavenuto
412f2fb1c5 Adding DS2422+ serial format 2022-08-03 15:20:38 -03:00
Fabio Belavenuto
8f85596b57 Little fixes 2022-08-03 09:50:39 -03:00
Fabio Belavenuto
d6f8467334 Merge pull request #68 from fbelavenuto/dev
Adding local install addons
2022-08-02 17:08:07 -03:00
Fabio Belavenuto
d99aa39809 Merge branch 'dev' of github.com:fbelavenuto/arpl into dev 2022-08-02 17:06:44 -03:00
Fabio Belavenuto
fe7d707d7f Adding local install addons 2022-08-02 17:06:38 -03:00
Fabio Belavenuto
bb14a64b42 Merge pull request #67 from fbelavenuto/dev
Adding local install addons
2022-08-02 16:59:06 -03:00
Fabio Belavenuto
dcb2037465 Adding local install addons 2022-08-02 16:57:25 -03:00
Fabio Belavenuto
41612dc08a More retention days 2022-08-01 14:20:43 -03:00
Fabio Belavenuto
3af65ffe91 Merge pull request #66 from fbelavenuto/dev
Addons misc and acpid installed by default
2022-08-01 14:20:09 -03:00
Fabio Belavenuto
12984cec6a Addons misc and acpid installed by default
Add remove flags restriction
2022-08-01 14:15:25 -03:00
Fabio Belavenuto
486ec72229 Merge pull request #65 from fbelavenuto/dev
Added samba
2022-07-29 16:26:44 -03:00
Fabio Belavenuto
b3fb638d69 Added samba
Validating netif_num
Gzip lkms
2022-07-29 16:21:02 -03:00
Fabio Belavenuto
71e44bc7a3 Merge pull request #64 from fbelavenuto/dev
wip
2022-07-29 13:24:13 -03:00
Fabio Belavenuto
09dba3251b wip 2022-07-29 13:23:34 -03:00
Fabio Belavenuto
1682713fed Merge pull request #61 from fbelavenuto/dev
Modules
2022-07-27 11:41:59 -03:00
Fabio Belavenuto
e678c2aa53 Cosmetics 2022-07-26 17:28:01 -03:00
Fabio Belavenuto
2bceaea550 Modules 2022-07-26 13:12:12 -03:00
Fabio Belavenuto
ae78abc404 Merge pull request #59 from fbelavenuto/dev
Changing addon/modules instalation (for addons with modules)
2022-07-25 17:26:04 -03:00
Fabio Belavenuto
71df9e5a92 Changing addon/modules instalation (for addons with modules)
On build change, check invalid addons
2022-07-25 17:24:15 -03:00
Fabio Belavenuto
a74537aa02 Merge pull request #58 from fbelavenuto/dev
Fixing synoinfo entries for SHR
2022-07-25 14:27:51 -03:00
Fabio Belavenuto
16716b2172 Fixing synoinfo entries for SHR
Little bug into add synoinfo entry
2022-07-25 13:08:31 -03:00
Fabio Belavenuto
027a412b65 Merge pull request #57 from fbelavenuto/dev
Dev
2022-07-25 12:35:25 -03:00
Fabio Belavenuto
4ea6b9ad5c Force action cache remake 2022-07-25 12:34:58 -03:00
Fabio Belavenuto
c0209e0aae Missing synoinfo entries 2022-07-25 11:41:31 -03:00
Fabio Belavenuto
2c3ad3e7fb Merge pull request #56 from fbelavenuto/dev
PATA modules, unified p1 and p2 size
2022-07-25 11:26:59 -03:00
Fabio Belavenuto
74f09ffcd9 Now kernel/ramdisk of DSM and ARPL are located in partition 3 2022-07-25 09:59:35 -03:00
Fabio Belavenuto
acd413ab61 Adding PATA drivers 2022-07-25 08:22:48 -03:00
Fabio Belavenuto
415ee7e75d Merge pull request #53 from fbelavenuto/dev
Various commits
2022-07-22 16:58:46 -03:00
Fabio Belavenuto
2fe9b3237e Modules compiled with DSM toolchain 2022-07-22 16:58:08 -03:00
Fabio Belavenuto
81c0e00b76 Little fixes 2022-07-22 15:59:00 -03:00
Fabio Belavenuto
1b766e4974 Docker: using DSM toolchain 2022-07-22 15:50:43 -03:00
Fabio Belavenuto
690af5115d Re-added Addon external download 2022-07-22 08:11:37 -03:00
Fabio Belavenuto
a6ec7c0c46 Merge pull request #50 from fbelavenuto/dev
Adding module firmwares
2022-07-21 17:24:21 -03:00
Fabio Belavenuto
37fe50a1c5 Adding module firmwares 2022-07-21 17:22:38 -03:00
Fabio Belavenuto
ce5f427837 Merge pull request #49 from fbelavenuto/dev
Synoinfo entries unified
2022-07-21 16:50:16 -03:00
Fabio Belavenuto
5dc0b6e705 Synoinfo entries unified:
Synoinfo entries from model config file are copyed to user config file when the user choose a build.
2022-07-21 16:49:04 -03:00
Fabio Belavenuto
ea67f64d31 Merge pull request #48 from fbelavenuto/dev
Fixing custom MAC address
2022-07-21 14:26:12 -03:00
Fabio Belavenuto
722c03a506 Fixing custom MAC address 2022-07-21 14:21:25 -03:00
Fabio Belavenuto
678c7b6591 Merge pull request #47 from fbelavenuto/dev
Update modules set DIRTY flag
2022-07-21 11:22:12 -03:00
Fabio Belavenuto
8f7318f90f Cosmetics
Update module sets DIRTY flag
2022-07-21 11:21:24 -03:00
Fabio Belavenuto
7b2a7b210a Added DS2422+ 42661 build 2022-07-19 14:22:40 -03:00
Fabio Belavenuto
14362aae17 Added option to boot into junior mode 2022-07-19 13:54:51 -03:00
Fabio Belavenuto
0e16f96fad Added option to boot into junior mode 2022-07-19 13:53:03 -03:00
Fabio Belavenuto
159b7172b0 Merge pull request #43 from fbelavenuto/dev
Removing no more necessary php
2022-07-19 12:44:47 -03:00
Fabio Belavenuto
75c637a6e4 Removing no more necessary php 2022-07-19 12:44:03 -03:00
95 changed files with 1831 additions and 297 deletions

View File

@@ -2,8 +2,8 @@ name: Build image
on:
push:
branches:
- main
# branches:
# - main
tags:
- v*
workflow_dispatch:
@@ -84,14 +84,15 @@ jobs:
echo "Building..."
make BR2_EXTERNAL=../external
cd -
qemu-img convert -O vmdk arpl.img arpl.vmdk
#qemu-img convert -O vmdk arpl.img arpl.vmdk
qemu-img convert -O vmdk -o adapter_type=lsilogic arpl.img -o subformat=monolithicFlat arpl.vmdk
# Zip image
- name: Pack
shell: bash
run: |
zip -9 "arpl-${{ steps.build.outputs.VERSION }}.img.zip" arpl.img
zip -9 "arpl-${{ steps.build.outputs.VERSION }}.vmdk.zip" arpl.vmdk
zip -9 "arpl-${{ steps.build.outputs.VERSION }}.vmdk.zip" arpl*.vmdk
# Upload artifact
- name: Upload
@@ -100,8 +101,8 @@ jobs:
name: Images
path: |
arpl.img
arpl.vmdk
retention-days: 1
arpl*.vmdk
retention-days: 5
# Publish a release if is a tag
- name: Release

View File

@@ -6,11 +6,15 @@ It is still in alpha stage, with little documentation, but it is functional. I'm
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 update, the loader re-applies the patches. Builds 42218 and 42661 up to update5 are working. Automatic updates should still be disabled as we are not sure if this technique will work forever. The most important kernel modules are built into the DSM ramdisk image for automatic peripheral detection.
# 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.
### 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
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.
Changing addons and synoinfo entries require re-creating the loader, cmdline entries do not. You can view the "cmdline" and "synoinfo" entries defined for the chosen model, with user-defined entries having higher priority.
Changing addons and synoinfo entries require re-creating the loader, cmdline entries do not.
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, he must manually add "cmdline" entries in the corresponding menu (set "netif_num" according to "mac1..4" entries).
@@ -20,7 +24,8 @@ Another important point is that the loader detects whether or not the CPU has th
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.
# Thanks
All code was based on the work of TTG, pocopico, jumkey and others involved in continuing TTG's original redpill-load project.
More information will be added in the future.

11
TODO
View File

@@ -1,5 +1,5 @@
A fazer
- Descobrir como é o serial do DS2422+
- Checar se tem como atualizar microcode via addon/modules/whatever...
- Estudar acrescentar modo simples e avançado do menu
Concluidos:
@@ -24,5 +24,10 @@ Concluidos:
- Melhorar opções de HD, talvez criar um menu a parte
- Implementar update do bzimage e ramdisk online
- Mudar addons para colocar pacote completo na partição 3 e detectar dinâmicamente durante o boot do júnior
https://kb.synology.com/en-me/DSM/tutorial/What_kind_of_CPU_does_my_NAS_have
- Acertar flag DIRTY ao atualizar módulos, etc
- Consertar MAC custom
- Mudar synoinfo para ler do modelo e preencher no user_config, para usuário poder deletar entradas do modelo
- Validar netif_num e macX
- Descobrir como é o serial do DS2422+
- Retirar o ttyd da memória quando o root do dsm dar boot
- Adicionar mais binários para o addon dbgutils (nano, strace, etc)

View File

@@ -12,15 +12,6 @@ tasks:
cmds:
- ./build.sh
compile-lkms:
cmds:
- ./compile-lkm.sh
compile-addons:
dir: addons
cmds:
- ./compile-addons.sh {{.CLI_ARGS}}
compile-kpatch:
dir: kpatch
cmds:

View File

@@ -1 +1 @@
0.3-alpha3
0.4-alpha4

View File

@@ -3,20 +3,17 @@ ARG PLATFORMS="@@@PLATFORMS@@@"
ARG TOOLKIT_VER="@@@TOOLKIT_VER@@@"
# Copy downloaded toolkits
ADD cache /cache
ADD cache/$TOOLKIT_VER /cache
# Extract toolkits
RUN for V in ${PLATFORMS}; do \
echo "${V}" | while IFS=':' read PLATFORM KVER; do \
echo -e "${PLATFORM}\t${KVER}" >> /opt/platforms && \
echo "Extracting ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" && \
mkdir "/opt/${PLATFORM}" && \
tar -xaf "/cache/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz" -C "/opt/${PLATFORM}" --strip-components=10 \
"usr/local/x86_64-pc-linux-gnu/x86_64-pc-linux-gnu/sys-root/usr/lib/modules/DSM-${TOOLKIT_VER}/build" && \
echo -e "${PLATFORM}\t${KVER}" >> /opt/platforms && \
if [ ! -d "/opt/linux-${KVER}" ]; then \
mkdir "/opt/linux-${KVER}" && \
echo "Extracting linux-${KVER}.tar.xz" && \
tar -xaf "/cache/linux-${KVER}.tar.xz" -C "/opt/linux-${KVER}" --strip-components=1; \
fi; \
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; \
done; \
done
@@ -27,15 +24,18 @@ ENV SHELL=/bin/bash \
RUN apt update --yes && \
apt install --yes --no-install-recommends --no-install-suggests \
ca-certificates nano curl bc kmod git \
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/*
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
COPY --from=stage /opt /opt
COPY files/ /
WORKDIR /input
VOLUME /input /output
USER arpl
ENTRYPOINT ["/opt/do.sh"]

View File

@@ -6,50 +6,75 @@ function trap_cancel() {
sleep 2 || exit 1
}
trap trap_cancel SIGINT SIGTERM
cd `dirname $0`
# Read platforms/kerver version
echo "Reading platforms"
declare -A PLATFORMS
while read PLATFORM KVER; do
PLATFORMS[${PLATFORM}]="${KVER}"
done <../PLATFORMS
###############################################################################
function prepare() {
declare -A URLS
# Download toolkits
mkdir -p cache
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"
for PLATFORM in ${!PLATFORMS[@]}; do
KVER="${PLATFORMS[${PLATFORM}]}"
echo -n "Checking cache/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz... "
if [ ! -f "cache/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/ds.${PLATFORM}-${TOOLKIT_VER}.dev.txz"
else
echo "OK"
fi
# echo -n "Checking cache/linux-${KVER}.tar.xz... "
# if [ ! -f "cache/linux-${KVER}.tar.xz" ]; then
# URL="https://cdn.kernel.org/pub/linux/kernel/v${KVER:0:1}.x/linux-${KVER}.tar.xz"
# echo "Downloading ${URL}"
# curl -L "${URL}" -o "cache/linux-${KVER}.tar.xz"
# else
# echo "OK"
# fi
done
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}
# 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
# Build
echo "Building... Drink a coffee and wait!"
docker image rm fbelavenuto/syno-compiler >/dev/null 2>&1
docker buildx build . --load --tag fbelavenuto/syno-compiler
# 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

View File

@@ -1,5 +1,34 @@
#!/usr/bin/env bash
set -e
###############################################################################
function export-vars() {
# Validate
if [ -z "${1}" ]; then
echo "Use: export-vars <platform>"
exit 1
fi
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"
}
###############################################################################
function shell() {
cp /opt/${2}/build/System.map /input
export-vars $2
shift 2
bash -l $@
}
###############################################################################
function compile-module {
# Validate
if [ -z "${1}" ]; then
@@ -17,9 +46,11 @@ function compile-module {
echo "Platform ${1} not found."
exit 1
fi
echo "Compiling module for ${PLATFORM}-${KVER}..."
echo -e "Compiling module for \033[7m${PLATFORM}-${KVER}\033[0m..."
cp -R /input /tmp
make -C "/opt/${PLATFORM}" M="/tmp/input" PLATFORM=${PLATFORM^^} modules
export-vars ${PLATFORM}
make -C "/opt/${PLATFORM}/build" M="/tmp/input" \
${PLATFORM^^}-Y=y ${PLATFORM^^}-M=m modules
while read F; do
strip -g "${F}"
echo "Copying `basename ${F}`"
@@ -27,6 +58,7 @@ function compile-module {
done < <(find /tmp/input -name \*.ko)
}
###############################################################################
function compile-lkm {
PLATFORM=${1}
if [ -z "${PLATFORM}" ]; then
@@ -34,15 +66,18 @@ function compile-lkm {
exit 1
fi
cp -R /input /tmp
make -C "/tmp/input" LINUX_SRC="/opt/${PLATFORM}" dev-v7
export-vars ${PLATFORM}
export LINUX_SRC="/opt/${PLATFORM}/build"
make -C "/tmp/input" dev-v7
strip -g "/tmp/input/redpill.ko"
mv "/tmp/input/redpill.ko" "/output/redpill-dev.ko"
make -C "/tmp/input" LINUX_SRC="/opt/${PLATFORM}" clean
make -C "/tmp/input" LINUX_SRC="/opt/${PLATFORM}" prod-v7
make -C "/tmp/input" clean
make -C "/tmp/input" prod-v7
strip -g "/tmp/input/redpill.ko"
mv "/tmp/input/redpill.ko" "/output/redpill-prod.ko"
}
###############################################################################
# function compile-drivers {
# while read platform kver; do
# SRC_PATH="/opt/${platform}"
@@ -66,15 +101,19 @@ function compile-lkm {
# done </opt/platforms
# }
###############################################################################
###############################################################################
if [ $# -lt 1 ]; then
echo "Use: <command> (<params>)"
echo "Commands: bash | shell <platform> | compile-module <platform> | compile-lkm <platform>"
exit 1
fi
case $1 in
bash) shift; bash -l $@ ;;
bash) shift && bash -l $@ ;;
shell) shell $@ ;;
compile-module) compile-module $2 ;;
compile-lkm) compile-lkm $2 ;;
# compile-drivers) compile-drivers ;;
*) echo "Command not recognized: $1" ;;
esac

View File

@@ -121,6 +121,7 @@ CONFIG_BLK_DEV_SD=y
CONFIG_CHR_DEV_SG=y
CONFIG_SCSI_CONSTANTS=y
CONFIG_SCSI_SPI_ATTRS=y
CONFIG_SCSI_SAS_ATA=y
CONFIG_BLK_DEV_3W_XXXX_RAID=m
CONFIG_SCSI_HPSA=m
CONFIG_SCSI_3W_9XXX=m
@@ -184,9 +185,31 @@ CONFIG_SATA_SIL=m
CONFIG_SATA_SIS=m
CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m
CONFIG_PATA_ALI=m
CONFIG_PATA_AMD=y
CONFIG_PATA_ARTOP=m
CONFIG_PATA_ATIIXP=m
CONFIG_PATA_ATP867X=m
CONFIG_PATA_CMD64X=m
CONFIG_PATA_EFAR=m
CONFIG_PATA_HPT366=m
CONFIG_PATA_HPT37X=m
CONFIG_PATA_HPT3X2N=m
CONFIG_PATA_HPT3X3=m
CONFIG_PATA_IT821X=m
CONFIG_PATA_JMICRON=m
CONFIG_PATA_NINJA32=m
CONFIG_PATA_NS87415=m
CONFIG_PATA_OLDPIIX=y
CONFIG_PATA_PDC2027X=m
CONFIG_PATA_PDC_OLD=m
CONFIG_PATA_RDC=m
CONFIG_PATA_SCH=y
CONFIG_PATA_SERVERWORKS=m
CONFIG_PATA_SIL680=m
CONFIG_PATA_TRIFLEX=m
CONFIG_PATA_VIA=m
CONFIG_PATA_WINBOND=m
CONFIG_ATA_GENERIC=y
CONFIG_MD=y
CONFIG_BLK_DEV_MD=y

View File

@@ -15,11 +15,11 @@ BOARD_PATH="${CONFIG_DIR}/board/arpl"
echo "Creating image file"
# Create image zeroed
dd if="/dev/zero" of="${IMAGE_FILE}" bs=1M count=300 conv=sync 2>/dev/null
dd if="/dev/zero" of="${IMAGE_FILE}" bs=1M count=500 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
echo -e "n\np\n\n\n+150M\na\nt\n\n0b\nn\np\n\n\n+50M\nn\np\n\n\n\nw" | fdisk "${IMAGE_FILE}" >/dev/null
echo -e "n\np\n\n\n+50M\na\nt\n\n0b\nn\np\n\n\n+50M\nn\np\n\n\n\nw" | fdisk "${IMAGE_FILE}" >/dev/null
# Force umount, ignore errors
sudo umount "${BINARIES_DIR}/p1" 2>/dev/null || true
@@ -40,11 +40,13 @@ sudo mount /dev/loop8p1 "${BINARIES_DIR}/p1"
sudo mount /dev/loop8p3 "${BINARIES_DIR}/p3"
echo "Copying files"
sudo cp "${BINARIES_DIR}/bzImage" "${BINARIES_DIR}/p1/bzImage-arpl"
sudo cp "${BINARIES_DIR}/rootfs.cpio.xz" "${BINARIES_DIR}/p1/initrd-arpl"
sudo cp "${BINARIES_DIR}/bzImage" "${BINARIES_DIR}/p3/bzImage-arpl"
sudo cp "${BINARIES_DIR}/rootfs.cpio.xz" "${BINARIES_DIR}/p3/initrd-arpl"
sudo cp -R "${BOARD_PATH}/p1/"* "${BINARIES_DIR}/p1"
sudo cp -R "${BOARD_PATH}/p3/"* "${BINARIES_DIR}/p3"
sync
cp "${BINARIES_DIR}/bzImage" ~/bzImage-arpl
cp "${BINARIES_DIR}/rootfs.cpio.xz" ~/initrd-arpl
echo "Unmount image file"
sudo umount "${BINARIES_DIR}/p1"

View File

@@ -0,0 +1,33 @@
#!/bin/sh
#
# Start/stop dhcpcd
#
DAEMON=/usr/sbin/dhcpcd
CONFIG=/etc/dhcpcd.conf
PIDFILE=/var/run/dhcpcd/pid
[ -f $CONFIG ] || exit 0
case "$1" in
start)
echo "Starting dhcpcd..."
start-stop-daemon -S -x "$DAEMON" -p "$PIDFILE" -- -f "$CONFIG"
;;
stop)
echo "Stopping dhcpcd..."
start-stop-daemon -K -x "$DAEMON" -p "$PIDFILE" -o
;;
reload|force-reload)
echo "Reloading dhcpcd configuration..."
"$DAEMON" -s reload
;;
restart)
"$0" stop
sleep 1 # Prevent race condition: ensure dhcpcd stops before start.
"$0" start
;;
*)
echo "Usage: $0 {start|stop|restart|reload|force-reload}"
exit 1
esac

View File

@@ -0,0 +1,18 @@
[global]
workgroup = WORKGROUP
server role = standalone server
obey pam restrictions = yes
map to guest = Bad User
usershare allow guests = yes
[arpl]
browseable = yes
public = yes
path = /mnt
guest ok = yes
printable = no
read only = no
writable = yes
create mask = 0600
directory mask = 0700
force user = root
force group = root

View File

@@ -48,6 +48,9 @@ MODEL="`readConfigKey "model" "${USER_CONFIG_FILE}"`"
BUILD="`readConfigKey "build" "${USER_CONFIG_FILE}"`"
SN="`readConfigKey "sn" "${USER_CONFIG_FILE}"`"
echo -e "Model: \033[1;36m${MODEL}\033[0m"
echo -e "Build: \033[1;36m${BUILD}\033[0m"
declare -A CMDLINE
# Fixed values
@@ -76,13 +79,26 @@ EFI_BUG="`readModelKey "${MODEL}" "builds.${BUILD}.efi-bug"`"
LOADER_DISK="`blkid | grep 'LABEL="ARPL3"' | cut -d3 -f1`"
BUS=`udevadm info --query property --name ${LOADER_DISK} | grep ID_BUS | cut -d= -f2`
if [ "${BUS}" = "ata" ]; then
SIZE=$((`df -BM | awk '/\/mnt\/p3/{print$2}' | tr 'M' ' '`+300))
LOADER_DEVICE_NAME=`echo ${LOADER_DISK} | sed 's|/dev/||'`
SIZE=$((`cat /sys/block/${LOADER_DEVICE_NAME}/size`/2048+10))
# Read SATADoM type
DOM="`readModelKey "${MODEL}" "dom"`"
fi
# Validate netif_num
NETIF_NUM=${CMDLINE["netif_num"]}
MACS=0
for N in `seq 1 4`; do
[ -n "${CMDLINE["mac${N}"]}" ] && MACS=$((${MACS}+1))
done
if [ ${NETIF_NUM} -ne ${MACS} ]; then
echo -e "\033[1;33m*** netif_num is not equal to macX amount, set netif_num to ${MACS} ***\033[0m"
CMDLINE["netif_num"]=${MACS}
fi
# Prepare command line
CMDLINE_LINE=""
grep -q "force_junior" /proc/cmdline && CMDLINE_LINE+="force_junior "
[ ${EFI} -eq 1 ] && CMDLINE_LINE+="withefi "
[ "${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"
@@ -94,31 +110,29 @@ done
# Escape special chars
CMDLINE_LINE=`echo ${CMDLINE_LINE} | sed 's/>/\\\\>/g'`
# Inform user
echo -e "Model: \033[1;36m${MODEL}\033[0m"
echo -e "Build: \033[1;36m${BUILD}\033[0m"
echo -e "Cmdline:\n\033[1;36m${CMDLINE_LINE}\033[0m"
# Wait for an IP
COUNT=0
echo -n "IP: "
echo -n "IP"
while true; do
IP=`ip route get 1.1.1.1 2>/dev/null | awk '{print$7}'`
if [ -n "${IP}" ]; then
echo -e "\033[1;32m${IP}\033[0m"
echo -e ": \033[1;32m${IP}\033[0m"
break
elif [ ${COUNT} -eq 15 ]; then
echo -e "\033[1;31mERROR\033[0m"
echo -e ": \033[1;31mERROR\033[0m"
break
fi
COUNT=$((${COUNT}+1))
sleep 1
echo -n "."
done
echo -e "\033[1;37mLoading DSM kernel...\033[0m"
# Executes DSM kernel via KEXEC
history -a
history -w
sync
if [ "${EFI_BUG}" = "yes" -a ${EFI} -eq 1 ]; then
echo -e "\033[1;33mWarning, running kexec with --noefi param, strange things will happen!!\033[0m"

View File

@@ -1,5 +1,5 @@
ARPL_VERSION="0.3-alpha3"
ARPL_VERSION="0.4-alpha4"
# Define paths
TMP_PATH="/tmp"
@@ -8,12 +8,14 @@ RAMDISK_PATH="${TMP_PATH}/ramdisk"
LOG_FILE="${TMP_PATH}/log.txt"
USER_CONFIG_FILE="${BOOTLOADER_PATH}/user-config.yml"
MOD_ZIMAGE_FILE="${BOOTLOADER_PATH}/zImage"
MOD_RDGZ_FILE="${BOOTLOADER_PATH}/rd.gz"
ORI_ZIMAGE_FILE="${SLPART_PATH}/zImage"
ORI_RDGZ_FILE="${SLPART_PATH}/rd.gz"
ARPL_BZIMAGE_FILE="${CACHE_PATH}/bzImage-arpl"
ARPL_RAMDISK_FILE="${CACHE_PATH}/initrd-arpl"
MOD_ZIMAGE_FILE="${CACHE_PATH}/zImage-dsm"
MOD_RDGZ_FILE="${CACHE_PATH}/initrd-dsm"
ADDONS_PATH="${CACHE_PATH}/addons"
LKM_PATH="${CACHE_PATH}/lkms"
MODULES_PATH="${CACHE_PATH}/modules"

View File

@@ -21,6 +21,14 @@ if [ $NUM_PARTITIONS -ne 3 ]; then
die "Loader disk not found!"
fi
# Shows title
clear
TITLE="Welcome to Automated Redpill Loader v${ARPL_VERSION}"
printf "\033[1;44m%*s\n" $COLUMNS ""
printf "\033[1;44m%*s\033[A\n" $COLUMNS ""
printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE}+$COLUMNS)/2)) "${TITLE}"
printf "\033[1;44m%*s\033[0m\n" $COLUMNS ""
# Check partitions and ignore errors
fsck.vfat -aw ${LOADER_DISK}1 >/dev/null 2>&1 || true
fsck.ext2 -p ${LOADER_DISK}2 >/dev/null 2>&1 || true
@@ -34,7 +42,6 @@ mount ${LOADER_DISK}1 ${BOOTLOADER_PATH} || die "Can't mount ${BOOTLOADER_PATH}"
mount ${LOADER_DISK}2 ${SLPART_PATH} || die "Can't mount ${SLPART_PATH}"
mount ${LOADER_DISK}3 ${CACHE_PATH} || die "Can't mount ${CACHE_PATH}"
mkdir -p "${ADDONS_PATH}"
# Move/link SSH machine keys to/from cache volume
[ ! -d "${CACHE_PATH}/ssh" ] && cp -R "/etc/ssh" "${CACHE_PATH}/ssh"
rm -rf "/etc/ssh"
@@ -43,6 +50,10 @@ ln -s "${CACHE_PATH}/ssh" "/etc/ssh"
rm -rf ~/.bash_history
ln -s ${CACHE_PATH}/.bash_history ~/.bash_history
# Get first MAC address
MAC=`ip link show eth0 | awk '/ether/{print$2}'`
MACF=`echo ${MAC} | sed 's/://g'`
# If user config file not exists, initialize it
if [ ! -f "${USER_CONFIG_FILE}" ]; then
touch "${USER_CONFIG_FILE}"
@@ -51,12 +62,28 @@ if [ ! -f "${USER_CONFIG_FILE}" ]; then
writeConfigKey "build" "" "${USER_CONFIG_FILE}"
writeConfigKey "sn" "" "${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}"
writeConfigKey "ramdisk-hash" "" "${USER_CONFIG_FILE}"
writeConfigKey "cmdline" "{}" "${USER_CONFIG_FILE}"
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
writeConfigKey "addons" "{}" "${USER_CONFIG_FILE}"
writeConfigKey "addons.misc" "" "${USER_CONFIG_FILE}"
writeConfigKey "addons.acpid" "" "${USER_CONFIG_FILE}"
# Initialize with real MAC
writeConfigKey "cmdline.netif_num" "1" "${USER_CONFIG_FILE}"
writeConfigKey "cmdline.mac1" "${MACF}" "${USER_CONFIG_FILE}"
fi
writeConfigKey "original-mac" "${MACF}" "${USER_CONFIG_FILE}"
# Set custom MAC if defined
MAC1=`readConfigKey "cmdline.mac1" "${USER_CONFIG_FILE}"`
if [ -n "${MAC1}" -a "${MAC1}" != "${MACF}" ]; then
MAC="${MAC1:0:2}:${MAC1:2:2}:${MAC1:4:2}:${MAC1:6:2}:${MAC1:8:2}:${MAC1:10:2}"
echo "Setting MAC to ${MAC}"
ip link set dev eth0 address ${MAC} >/dev/null 2>&1 && \
(/etc/init.d/S41dhcpcd restart >/dev/null 2>&1 &) || true
fi
# Get the VID/PID if we are in USB
@@ -74,14 +101,6 @@ fi
writeConfigKey "vid" ${VID} "${USER_CONFIG_FILE}"
writeConfigKey "pid" ${PID} "${USER_CONFIG_FILE}"
# Shows title
clear
TITLE="Welcome to Automated Redpill Loader v${ARPL_VERSION}"
printf "\033[1;44m%*s\n" $COLUMNS ""
printf "\033[1;44m%*s\033[A\n" $COLUMNS ""
printf "\033[1;32m%*s\033[0m\n" $(((${#TITLE}+$COLUMNS)/2)) "${TITLE}"
printf "\033[1;44m%*s\033[0m\n" $COLUMNS ""
# Inform user
echo -en "Loader disk: \033[1;32m${LOADER_DISK}\033[0m ("
if [ "${BUS}" = "usb" ]; then
@@ -102,12 +121,13 @@ if [ ${SIZEOFDISK} -ne ${ENDSECTOR} ]; then
fi
# Load keymap name
LAYOUT="`readConfigKey "layout" "${USER_CONFIG_FILE}"`"
KEYMAP="`readConfigKey "keymap" "${USER_CONFIG_FILE}"`"
# Loads a keymap if is valid
if [ -f /usr/share/keymaps/i386/qwerty/${KEYMAP}.map.gz ]; then
echo -e "Loading keymap \033[1;32m${KEYMAP}\033[0m"
zcat /usr/share/keymaps/i386/qwerty/${KEYMAP}.map.gz | loadkeys
if [ -f /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz ]; then
echo -e "Loading keymap \033[1;32m${LAYOUT}/${KEYMAP}\033[0m"
zcat /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz | loadkeys
fi
# Decide if boot automatically
@@ -148,3 +168,9 @@ echo
echo -e "User config is on \033[1;32m${USER_CONFIG_FILE}\033[0m"
echo -e "Default SSH Root password is \033[1;31mRedp1lL-1s-4weSomE\033[0m"
echo
mkdir -p "${ADDONS_PATH}"
mkdir -p "${LKM_PATH}"
mkdir -p "${MODULES_PATH}"
install-addons.sh

View File

@@ -0,0 +1,15 @@
#!/usr/bin/env bash
. /opt/arpl/include/functions.sh
set -e
# Detect if has new local plugins to install/reinstall
for F in `ls ${CACHE_PATH}/*.addon 2>/dev/null`; do
ADDON=`basename "${F}" | sed 's|.addon||'`
rm -rf "${ADDONS_PATH}/${ADDON}"
mkdir -p "${ADDONS_PATH}/${ADDON}"
echo "Installing ${F} to ${ADDONS_PATH}/${ADDON}"
tar xaf "${F}" -C "${ADDONS_PATH}/${ADDON}"
rm -f "${F}"
done

View File

@@ -19,6 +19,7 @@ DIRTY=0
MODEL="`readConfigKey "model" "${USER_CONFIG_FILE}"`"
BUILD="`readConfigKey "build" "${USER_CONFIG_FILE}"`"
LAYOUT="`readConfigKey "layout" "${USER_CONFIG_FILE}"`"
KEYMAP="`readConfigKey "keymap" "${USER_CONFIG_FILE}"`"
LKM="`readConfigKey "lkm" "${USER_CONFIG_FILE}"`"
SN="`readConfigKey "sn" "${USER_CONFIG_FILE}"`"
@@ -48,9 +49,9 @@ function backtitle() {
BACKTITLE+=" (no IP)"
fi
if [ -n "${KEYMAP}" ]; then
BACKTITLE+=" (${KEYMAP})"
BACKTITLE+=" (${LAYOUT}/${KEYMAP})"
else
BACKTITLE+=" (us)"
BACKTITLE+=" (qwerty/us)"
fi
echo ${BACKTITLE}
}
@@ -58,44 +59,67 @@ function backtitle() {
###############################################################################
# Shows available models to user choose one
function modelMenu() {
ITEMS=""
while read M; do
M="`basename ${M}`"
M="${M::-4}"
PLATFORM=`readModelKey "${M}" "platform"`
# Check id model is compatible with CPU
COMPATIBLE=1
for F in `readModelArray "${M}" "flags"`; do
if ! grep -q "^flags.*${F}.*" /proc/cpuinfo; then
COMPATIBLE=0
break
RESTRICT=1
FLGBETA=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
done
[ ${COMPATIBLE} -eq 1 ] && ITEMS+="${M} ${PLATFORM} "
done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort)
dialog --backtitle "`backtitle`" --menu "Choose the model" 0 0 0 \
${ITEMS} 2>${TMP_PATH}/resp
[ $? -ne 0 ] && return
resp=$(<${TMP_PATH}/resp)
[ -z "${resp}" ] && return
# 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
[ "${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
}
###############################################################################
# Shows available buildnumbers from a model to user choose one
function buildMenu() {
ITEMS="`readConfigEntriesArray "builds" "${MODEL_CONFIG_PATH}/${MODEL}.yml"`"
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
@@ -104,9 +128,23 @@ function buildMenu() {
if [ "${BUILD}" != "${resp}" ]; then
BUILD=${resp}
writeConfigKey "build" "${BUILD}" "${USER_CONFIG_FILE}"
DIRTY=1
# Delete synoinfo and reload model/build synoinfo
writeConfigKey "synoinfo" "{}" "${USER_CONFIG_FILE}"
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
[ -z "${ADDON}" ] && continue
if ! checkAddonExist "${ADDON}" "${PLATFORM}" "${KVER}"; then
deleteConfigKey "addons.${ADDON}" "${USER_CONFIG_FILE}"
fi
done < <(readConfigMap "addons" "${USER_CONFIG_FILE}")
# Remove old files
rm -f "${ORI_ZIMAGE_FILE}" "${ORI_RDGZ_FILE}" "${MOD_ZIMAGE_FILE}" "${MOD_RDGZ_FILE}"
DIRTY=1
fi
}
@@ -134,8 +172,9 @@ function serialMenu() {
elif [ `validateSerial ${MODEL} ${SERIAL}` -eq 1 ]; then
break
fi
dialog --backtitle "`backtitle`" \
--msgbox "Invalid serial, please type a right one" 0 0
dialog --backtitle "`backtitle`" --title "Alert" \
--yesno "Invalid serial, continue?" 0 0
[ $? -eq 0 ] && break
done
break
elif [ "${resp}" = "a" ]; then
@@ -168,6 +207,7 @@ function addonMenu() {
d "Delete addon(s)" \
s "Show user addons" \
m "Show all available addons" \
o "Download a external addon" \
e "Exit" \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && return
@@ -238,6 +278,30 @@ function addonMenu() {
dialog --backtitle "`backtitle`" --title "Available addons" \
--colors --msgbox "${MSG}" 0 0
;;
o)
TEXT="please enter the complete URL to download.\n"
dialog --backtitle "`backtitle`" --aspect 18 --colors --inputbox "${TEXT}" 0 0 \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && continue
URL="`<"${TMP_PATH}/resp"`"
[ -z "${URL}" ] && continue
clear
echo "Downloading ${URL}"
curl --insecure -L "${URL}" -o "${TMP_PATH}/addon.tgz" --progress-bar
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "Error downloading" --aspect 18 \
--msgbox "Check internet, URL or cache disk space" 0 0
return 1
fi
ADDON="`untarAddon "${TMP_PATH}/addon.tgz"`"
if [ -n "${ADDON}" ]; then
dialog --backtitle "`backtitle`" --title "Success" --aspect 18 \
--msgbox "Addon '${ADDON}' added to loader" 0 0
else
dialog --backtitle "`backtitle`" --title "Invalid addon" --aspect 18 \
--msgbox "File format not recognized!" 0 0
fi
;;
e) return ;;
esac
done
@@ -285,7 +349,7 @@ function cmdlineMenu() {
fi
ITEMS=""
for I in "${!CMDLINE[@]}"; do
ITEMS+="${I} ${CMDLINE[${I}]} off "
[ -z "${CMDLINE[${I}]}" ] && ITEMS+="${I} \"\" off " || ITEMS+="${I} ${CMDLINE[${I}]} off "
done
dialog --backtitle "`backtitle`" \
--checklist "Select cmdline to remove" 0 0 0 ${ITEMS} \
@@ -299,22 +363,27 @@ function cmdlineMenu() {
done
;;
c)
dialog --backtitle "`backtitle`" --title "User cmdline" \
--inputbox "Type a custom MAC address" 0 0 "${CMDLINE['mac1']}"\
2>${TMP_PATH}/resp
[ $? -ne 0 ] && continue
MAC1="`sed 's/://g' <"${TMP_PATH}/resp"`"
if [ -z "${MAC1}" ]; then
unset CMDLINE["mac1"]
unset CMDLINE["netif_num"]
deleteConfigKey "cmdline.mac1" "${USER_CONFIG_FILE}"
deleteConfigKey "cmdline.netif_num" "${USER_CONFIG_FILE}"
else
CMDLINE["mac1"]="${MAC1}"
CMDLINE["netif_num"]=1
writeConfigKey "cmdline.mac1" "${MAC1}" "${USER_CONFIG_FILE}"
writeConfigKey "cmdline.netif_num" "1" "${USER_CONFIG_FILE}"
fi
while true; do
dialog --backtitle "`backtitle`" --title "User cmdline" \
--inputbox "Type a custom MAC address" 0 0 "${CMDLINE['mac1']}"\
2>${TMP_PATH}/resp
[ $? -ne 0 ] && break
MAC="`<"${TMP_PATH}/resp"`"
[ -z "${MAC}" ] && MAC="`readConfigKey "original-mac" "${USER_CONFIG_FILE}"`"
MAC1="`echo "${MAC}" | sed 's/://g'`"
[ ${#MAC1} -eq 12 ] && break
dialog --backtitle "`backtitle`" --title "User cmdline" --msgbox "Invalid MAC" 0 0
done
CMDLINE["mac1"]="${MAC1}"
CMDLINE["netif_num"]=1
writeConfigKey "cmdline.mac1" "${MAC1}" "${USER_CONFIG_FILE}"
writeConfigKey "cmdline.netif_num" "1" "${USER_CONFIG_FILE}"
MAC="${MAC1:0:2}:${MAC1:2:2}:${MAC1:4:2}:${MAC1:6:2}:${MAC1:8:2}:${MAC1:10:2}"
ip link set dev eth0 address ${MAC} 2>&1 | dialog --backtitle "`backtitle`" \
--title "User cmdline" --progressbox "Changing mac" 20 70
/etc/init.d/S41dhcpcd restart 2>&1 | dialog --backtitle "`backtitle`" \
--title "User cmdline" --progressbox "Renewing IP" 20 70
IP=`ip route get 1.1.1.1 2>/dev/null | awk '{print$7}'`
;;
s)
ITEMS=""
@@ -381,8 +450,7 @@ function synoinfoMenu() {
if [ "${DT}" != "true" ]; then
echo "x \"Set maxdisks manually\"" >> "${TMP_PATH}/menu"
fi
echo "s \"Show user synoinfo\"" >> "${TMP_PATH}/menu"
echo "m \"Show model/build synoinfo\"" >> "${TMP_PATH}/menu"
echo "s \"Show synoinfo entries\"" >> "${TMP_PATH}/menu"
echo "e \"Exit\"" >> "${TMP_PATH}/menu"
# menu loop
@@ -392,13 +460,14 @@ function synoinfoMenu() {
[ $? -ne 0 ] && return
case "`<${TMP_PATH}/resp`" in
a)
dialog --backtitle "`backtitle`" --title "User synoinfo" \
--inputbox "Type a name of synoinfo variable" 0 0 \
dialog --backtitle "`backtitle`" --title "Synoinfo entries" \
--inputbox "Type a name of synoinfo entry" 0 0 \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && continue
NAME="`sed 's/://g' <"${TMP_PATH}/resp"`"
dialog --backtitle "`backtitle`" --title "User synoinfo" \
--inputbox "Type a value of '${NAME}' variable" 0 0 "${SYNOINFO[${NAME}]}" \
NAME="`<"${TMP_PATH}/resp"`"
[ -z "${NAME}" ] && continue
dialog --backtitle "`backtitle`" --title "Synoinfo entries" \
--inputbox "Type a value of '${NAME}' entry" 0 0 "${SYNOINFO[${NAME}]}" \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && continue
VALUE="`<"${TMP_PATH}/resp"`"
@@ -408,15 +477,15 @@ function synoinfoMenu() {
;;
d)
if [ ${#SYNOINFO[@]} -eq 0 ]; then
dialog --backtitle "`backtitle`" --msgbox "No user synoinfo to remove" 0 0
dialog --backtitle "`backtitle`" --msgbox "No synoinfo entries to remove" 0 0
continue
fi
ITEMS=""
for I in "${!SYNOINFO[@]}"; do
ITEMS+="${I} ${SYNOINFO[${I}]} off "
[ -z "${SYNOINFO[${I}]}" ] && ITEMS+="${I} \"\" off " || ITEMS+="${I} ${SYNOINFO[${I}]} off "
done
dialog --backtitle "`backtitle`" \
--checklist "Select synoinfo to remove" 0 0 0 ${ITEMS} \
--checklist "Select synoinfo entry to remove" 0 0 0 ${ITEMS} \
2>"${TMP_PATH}/resp"
[ $? -ne 0 ] && continue
RESP=`<"${TMP_PATH}/resp"`
@@ -441,15 +510,7 @@ function synoinfoMenu() {
for KEY in ${!SYNOINFO[@]}; do
ITEMS+="${KEY}: ${SYNOINFO[$KEY]}\n"
done
dialog --backtitle "`backtitle`" --title "User synoinfo" \
--aspect 18 --msgbox "${ITEMS}" 0 0
;;
m)
ITEMS=""
while IFS="=" read KEY VALUE; do
ITEMS+="${KEY}: ${VALUE}\n"
done < <(readModelMap "${MODEL}" "builds.${BUILD}.synoinfo")
dialog --backtitle "`backtitle`" --title "Model/build synoinfo" \
dialog --backtitle "`backtitle`" --title "Synoinfo entries" \
--aspect 18 --msgbox "${ITEMS}" 0 0
;;
e) return ;;
@@ -623,14 +684,14 @@ function make() {
[ ! -f "${ORI_ZIMAGE_FILE}" -o ! -f "${ORI_RDGZ_FILE}" ] && extractDsmFiles
/opt/arpl/zimage-patch.sh
/opt/arpl/zimage-patch.sh | tee -a "${LOG_FILE}"
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
/opt/arpl/ramdisk-patch.sh | tee -a "${LOG_FILE}"
if [ $? -ne 0 ]; then
dialog --backtitle "`backtitle`" --title "Error" --aspect 18 \
--msgbox "Ramdisk not patched:\n`<"${LOG_FILE}"`" 0 0
@@ -686,19 +747,26 @@ function editUserConfig() {
###############################################################################
# Shows available keymaps to user choose one
function keymapMenu() {
dialog --backtitle "`backtitle`" --default-item "${LAYOUT}" --no-items \
--menu "Choose a layout" 0 0 0 "azerty" "bepo" "carpalx" "colemak" \
"dvorak" "fgGIod" "neo" "olpc" "qwerty" "qwertz" \
2>${TMP_PATH}/resp
[ $? -ne 0 ] && return
LAYOUT="`<${TMP_PATH}/resp`"
OPTIONS=""
while read KM; do
OPTIONS+="${KM::-7} "
done < <(cd /usr/share/keymaps/i386/qwerty; ls *.map.gz)
dialog --backtitle "`backtitle`" --no-items \
done < <(cd /usr/share/keymaps/i386/${LAYOUT}; ls *.map.gz)
dialog --backtitle "`backtitle`" --no-items --default-item "${KEYMAP}" \
--menu "Choice a keymap" 0 0 0 ${OPTIONS} \
2>/tmp/resp
[ $? -ne 0 ] && return
resp=`cat /tmp/resp 2>/dev/null`
[ -z "${resp}" ] && return
KEYMAP=${resp}
writeConfigKey "layout" "${LAYOUT}" "${USER_CONFIG_FILE}"
writeConfigKey "keymap" "${KEYMAP}" "${USER_CONFIG_FILE}"
zcat /usr/share/keymaps/i386/qwerty/${KEYMAP}.map.gz | loadkeys
zcat /usr/share/keymaps/i386/${LAYOUT}/${KEYMAP}.map.gz | loadkeys
}
###############################################################################
@@ -744,8 +812,8 @@ function updateMenu() {
fi
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
--infobox "Installing new files" 0 0
mv /tmp/bzImage /mnt/p1/bzImage-arpl
mv /tmp/rootfs.cpio.xz /mnt/p1/initrd-arpl
mv /tmp/bzImage "${ARPL_BZIMAGE_FILE}"
mv /tmp/rootfs.cpio.xz "${ARPL_RAMDISK_FILE}"
dialog --backtitle "`backtitle`" --title "Update arpl" --aspect 18 \
--yesno "Arpl updated with success to ${TAG}!\nReboot?" 0 0
[ $? -ne 0 ] && continue
@@ -777,13 +845,13 @@ 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
DEST_PATH="/mnt/p3/addons"
for PKG in `ls /tmp/addons/*.addon`; do
ADDON=`basename ${PKG} | sed 's|.addon||'`
rm -rf "${DEST_PATH}/${ADDON}"
mkdir -p "${DEST_PATH}/${ADDON}"
tar xaf "${PKG}" -C "${DEST_PATH}/${ADDON}" >/dev/null 2>&1
rm -rf "${ADDONS_PATH}/${ADDON}"
mkdir -p "${ADDONS_PATH}/${ADDON}"
tar xaf "${PKG}" -C "${ADDONS_PATH}/${ADDON}" >/dev/null 2>&1
done
DIRTY=1
dialog --backtitle "`backtitle`" --title "Update addons" --aspect 18 \
--msgbox "Addons updated with success!" 0 0
;;
@@ -809,6 +877,7 @@ function updateMenu() {
--infobox "Extracting last version" 0 0
rm -rf "${LKM_PATH}/"*
unzip /tmp/rp-lkms.zip -d "${LKM_PATH}" >/dev/null 2>&1
DIRTY=1
dialog --backtitle "`backtitle`" --title "Update LKMs" --aspect 18 \
--msgbox "LKMs updated with success!" 0 0
;;
@@ -845,6 +914,7 @@ function updateMenu() {
rm "${MODULES_PATH}/${P}.tgz"
mv "/tmp/${P}.tgz" "${MODULES_PATH}/${P}.tgz"
done
DIRTY=1
dialog --backtitle "`backtitle`" --title "Update Modules" --aspect 18 \
--msgbox "Modules updated with success!" 0 0
;;

View File

@@ -0,0 +1,87 @@
id: "DS1520+"
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "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"
small_info_path: "https://example.com/null"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
intel_iommu: igfx_off
HddEnableDynamicPower: 1
vender_format_version: 2
synoboot2:
syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8"
platform: "geminilake"
unique: "synology_geminilake_1520+"
beta: true
dom: 2
serial:
prefix:
- "0000"
middle: "XXX"
suffix: "alpha"
disks: 6
dt: true
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_DS1520%2B_42218.pat"
hash: "06947c58f25bd591f7fa3c58ad9473777481bdd7a049b42d1cb585ca01b053ee"
ramdisk-hash: "f0a275587c51acdb4d58a7f0d82d70f31e54228d0fbf7575d5d425dae75d1969"
zimage-hash: "74d513aaa3e30d8aa4f80e202d94a68a552e9c0472f8470e133ad29080556f55"
md5-hash: "f56200a8be1aed4eb287a51b373adb1f"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
42661:
ver: "7.1.0"
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.1/42661-1/DSM_DS1520%2B_42661.pat"
hash: "3a8499c5f72d7241b81781ec741d4019eaa506e6e7a4fd17ce54fb149f6ffae6"
ramdisk-hash: "b18f14b8420a217d7b6dd3696786ecccfbe7c325d342475531a68a7df831cffc"
zimage-hash: "1d0e5b76e08e3483f6bf06d23b5978ec498b855bde23db1f96f343db4c43337d"
md5-hash: "1d8ecfcb2a956488ae355c79a72bb9ec"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
ver: "7.1.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.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-42951-post-init-script.patch"

View File

@@ -2,14 +2,10 @@ id: "DS1621+"
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "no"
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
rss_server_v2: "https://example.com/autoupdate/v2/getList"
update_server: "http://example.com/"
update_server_ssl: "https://example.com/"
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"
small_info_path: "https://example.com/null"
updateurl: "http://example.com/"
myds_region_api_base_url: "https://example.com"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
SMBusHddDynamicPower: 1
@@ -22,6 +18,7 @@ cmdline: &cmdline
syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8"
platform: "v1000"
unique: "synology_v1000_1621+"
dom: 2
serial:
prefix:
@@ -45,6 +42,7 @@ builds:
hash: "19f56827ba8bf0397d42cd1d6f83c447f092c2c1bbb70d8a2ad3fbd427e866df"
ramdisk-hash: "73512c7bceb34cf7f7f93c2703db60496da0e27274fc45e5aefa0366c9734d6e"
zimage-hash: "f4648d0dd6b29ef6149b0ff46afe1fe32f81730aa79af72f37ffd3647c76f586"
md5-hash: "f82cbabbfef3fdf2cba45da77d14959b"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
@@ -64,7 +62,28 @@ builds:
hash: "381077302a89398a9fb5ec516217578d6f33b0219fe95135e80fd93cddbf88c4"
ramdisk-hash: "8fd5eb40fb088af97d3beee85b6275c2ceb368b08453eb5a5d00d42cc7d578d1"
zimage-hash: "d939b5937be00a644aae64c33633619a7c310433e60a515c77bbef00b0a7e6b6"
md5-hash: "b4b72eb8d4e84b2e2a8c29fc0a1ac6aa"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
ver: "7.1.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.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-42951-post-init-script.patch"

View File

@@ -2,14 +2,12 @@ id: "DS2422+"
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "no"
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
rss_server_v2: "https://example.com/autoupdate/v2/getList"
update_server: "http://example.com/"
update_server_ssl: "https://example.com/"
supportraidgroup: "no"
supportssdcache: "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"
small_info_path: "https://example.com/null"
updateurl: "http://example.com/"
myds_region_api_base_url: "https://example.com"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
SMBusHddDynamicPower: 1
@@ -20,11 +18,13 @@ cmdline: &cmdline
syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8"
platform: "v1000"
unique: "synology_v1000_2422+"
dom: 2
serial:
prefix:
- "0000"
middle: "XXX"
- "2140"
- "2180"
middle: "SLR"
suffix: "numeric"
disks: 12
dt: true
@@ -43,7 +43,47 @@ builds:
hash: "415c54934d483a2557500bc3a2e74588a0cec1266e1f0d9a82a7d3aace002471"
ramdisk-hash: "2b5b8dd90b2e6020ffccc2719d8bc16d9935421754a8c088d6b31dbca4e4ff7b"
zimage-hash: "38281a90036fffcb41cd17f05a6c7e9a1d5740a78c135980fb0c3a6d0ca1485f"
md5-hash: "9293156f98e642c181aed63b0b3df4c8"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
42661:
ver: "7.1.0"
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.1/42661-1/DSM_DS2422%2B_42661.pat"
hash: "c38fee0470c592b679ab52a64eac76b2a3912fb2e6aba65a65abb5aa05a98d4c"
ramdisk-hash: "bb109132e96b1e26d5e3d44557944f7518168d8cb18e35d6254c0dfe7fb19382"
zimage-hash: "d939b5937be00a644aae64c33633619a7c310433e60a515c77bbef00b0a7e6b6"
md5-hash: "9ea5e0fe94c01072da36e2f69172abb3"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
ver: "7.1.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.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-42951-post-init-script.patch"

View File

@@ -1,12 +1,14 @@
id: "DS3615xs"
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "no"
supportraidgroup: "no"
supportssdcache: "no"
esataportcfg: "0x0"
usbportcfg: "0x8700"
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
small_info_path: "https://example.com/null"
updateurl: "http://example.com/"
myds_region_api_base_url: "https://example.com"
cmdline: &cmdline
syno_hdd_powerup_seq: 0
HddHotplug: 0
@@ -14,6 +16,7 @@ cmdline: &cmdline
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "bromolow"
unique: "synology_bromolow_3615xs"
serial:
prefix:
- "1130"
@@ -39,6 +42,7 @@ builds:
hash: "dddd26891815ddca02d0d53c1d42e8b39058b398a4cc7b49b80c99f851cf0ef7"
ramdisk-hash: "4c90c3c7ee25b5fcc651552e80a9364d22823c863c834c5f43e3344a3a68af78"
zimage-hash: "d29b695612710376734cb5c5b5ae4f2d8afc49ffd640387e1c86010f6c7d2c8a"
md5-hash: "ea1c30f644bacae2e0b1ef914bc663db"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
@@ -59,8 +63,30 @@ builds:
hash: "1e95d8c63981bcf42ea2eaedfbc7acc4248ff16d129344453b7479953f9ad145"
ramdisk-hash: "8ee5df65bcfd25c3d1999262153dcff625714d98789bc8065e217773f8d070d8"
zimage-hash: "3017542c92232cb5477b0e11d82d708a9909320350b1740aab58359e85f82351"
md5-hash: "271b34cb2a0c23d63178aef3bf45a6ae"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "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
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-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -1,15 +1,14 @@
id: "DS3617xs"
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "no"
supportraidgroup: "no"
supportssdcache: "no"
esataportcfg: "0x00"
usbportcfg: "0x8700"
rss_server: "http://example.com/null.xml"
rss_server_v2: "https://example.com/autoupdate/v2/getList"
rss_server_ssl: "https://example.com/null.xml"
update_server: "http://example.com/"
update_server_ssl: "https://example.com/"
rss_server: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
rss_server_ssl: "https://raw.githubusercontent.com/fbelavenuto/arpl/main/rss.xml"
small_info_path: "https://example.com/null"
updateurl: "http://example.com/"
myds_region_api_base_url: "https://example.com"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
syno_hdd_powerup_seq: 0
@@ -18,6 +17,7 @@ cmdline: &cmdline
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "broadwell"
unique: "synology_broadwell_3617xs"
dom: 1
serial:
prefix:
@@ -43,6 +43,7 @@ builds:
hash: "d65ee4ed5971e38f6cdab00e1548183435b53ba49a5dca7eaed6f56be939dcd2"
ramdisk-hash: "1b2e86fbf4006f6aa40dcd674ad449feed8b0b8317a71e2bb8bb986a74e08c57"
zimage-hash: "28a75e0b680517d39374260eb981b8ca9ace8810b121a30b8036fa09cfcb77fc"
md5-hash: "8972088c38acd07aa92a8b573a1b7bc3"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
@@ -63,8 +64,30 @@ builds:
hash: "0a5a243109098587569ab4153923f30025419740fb07d0ea856b06917247ab5c"
ramdisk-hash: "da3c2a170fea24052d817cbc4bb5b610a5b05288758d746b60a294ed614239fb"
zimage-hash: "9598f66b75e5b303e571241696e02fe7c0add80f13564f8c6b8c0daaf3cb3018"
md5-hash: "94e6263912bc758ee3db81c62a94a8f6"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "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
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-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -1,20 +1,17 @@
id: "DS3622xs+"
synoinfo: &synoinfo
esataportcfg: "0x00"
support_bde_internal_10g: "no"
support_disk_compatibility: "no"
support_memory_compatibility: "no"
supportraidgroup: "no"
supportssdcache: "no"
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
rss_server_v2: "https://example.com/autoupdate/v2/getList"
update_server: "http://example.com/"
update_server_ssl: "https://example.com/"
small_info_path: "https://example.com/null"
updateurl: "http://example.com/"
myds_region_api_base_url: "https://example.com"
security_version_server: "https://example.com/smallupdate"
esataportcfg: "0x00"
support_bde_internal_10g: "no"
support_oob_ctl: "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
small_info_path: "https://example.com/null" # https://update7.synology.com/smallupdate
security_version_server: "https://example.com/smallupdate" # https://update7.synology.com/securityVersion
cmdline: &cmdline
syno_hdd_powerup_seq: 0
HddHotplug: 0
@@ -22,6 +19,7 @@ cmdline: &cmdline
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "broadwellnk"
unique: "synology_broadwellnk_3622xs+"
dom: 1
serial:
prefix:
@@ -47,6 +45,7 @@ builds:
hash: "f38329b8cdc5824a8f01fb1e377d3b1b6bd23da365142a01e2158beff5b8a424"
ramdisk-hash: "a95d4ab06189460f3b3d13a33e421887b5f3ea09a10535ae0d4c92beb7ff631d"
zimage-hash: "06964b68e5ccdedd4363dff3986f99686d3c9cb5225e8e4c3d840a1d9cd1330b"
md5-hash: "bc0235e45a8423f4c46dc0d9699759b5"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
@@ -67,8 +66,30 @@ builds:
hash: "53d0a4f1667288b6e890c4fdc48422557ff26ea8a2caede0955c5f45b560cccd"
ramdisk-hash: "df8a055d6bc901229f0ba53ed5b4fe024bdf9a1b42f0c32483adefcdac14db4d"
zimage-hash: "e073dd84054f652811e0ae1932af2c7cdbd5fb6e5f18f265097072b8af4605e8"
md5-hash: "7af76cca8226ecf95b25630bffa76b3d"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "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
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-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -1,17 +1,15 @@
id: "DS918+"
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "no"
esataportcfg: "0x00"
support_led_brightness_adjustment: ""
support_leds_lp3943: ""
buzzeroffen: "0xffff"
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
rss_server_v2: "https://example.com/autoupdate/v2/getList"
update_server: "http://example.com/"
update_server_ssl: "https://example.com/"
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"
small_info_path: "https://example.com/null"
updateurl: "http://example.com/"
myds_region_api_base_url: "https://example.com"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
syno_hdd_powerup_seq: 0
@@ -20,6 +18,7 @@ cmdline: &cmdline
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "apollolake"
unique: "synology_apollolake_918+"
dom: 2
serial:
prefix:
@@ -47,6 +46,7 @@ builds:
hash: "a403809ab2cd476c944fdfa18cae2c2833e4af36230fa63f0cdee31a92bebba2"
ramdisk-hash: "4b7a7a271a3b2158d9193a4f0e75c59590949ad7b4e26d546f46cc2ee8504d51"
zimage-hash: "338ba514066da01d0c1f770418916b9b96f5355d88a7b55b398d2726db591fdb"
md5-hash: "71c028f92497e4722998e4208fe75774"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
@@ -67,8 +67,30 @@ builds:
hash: "4e8a9d82a8a1fde5af9a934391080b7bf6b91811d9583acb73b90fb6577e22d7"
ramdisk-hash: "ef8c87b6e68226339e5623d048252f5be3089c0831e41298a4695f2bfa65f00e"
zimage-hash: "9ce0d3452f08afaf95d52292ff20cbac6d69e17d5b9953377e4ac90c9ac7397d"
md5-hash: "2c49260d2646a0944b56933f7d4029fb"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "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
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-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -1,13 +1,11 @@
id: "DS920+"
synoinfo: &synoinfo
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
rss_server_v2: "https://example.com/autoupdate/v2/getList"
update_server: "http://example.com/"
update_server_ssl: "https://example.com/"
support_disk_compatibility: "no"
support_memory_compatibility: "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"
small_info_path: "https://example.com/null"
updateurl: "http://example.com/"
myds_region_api_base_url: "https://example.com"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
intel_iommu: "igfx_off"
@@ -17,6 +15,7 @@ cmdline: &cmdline
syno_ttyS1: "serial,0x2f8"
vender_format_version: 2
platform: "geminilake"
unique: "synology_geminilake_920+"
dom: 2
dt: true
serial:
@@ -43,6 +42,7 @@ builds:
hash: "fe2a4648f76adeb65c3230632503ea36bbac64ee88b459eb9bfb5f3b8c8cebb3"
ramdisk-hash: "f7dd1317f24ec6b9bac839e37f66b59030218c7f97c06f73f1f54ed0f892c4aa"
zimage-hash: "346b68f662b50f47d3ee6c2bc9de6302e4b60436142c24ee88b620c7afd1ba06"
md5-hash: "7764ad4fca0a11ae0ebd7ccd4a49e1aa"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
@@ -62,7 +62,28 @@ builds:
hash: "8076950fdad2ca58ea9b91a12584b9262830fe627794a0c4fc5861f819095261"
ramdisk-hash: "c8ad44826c87e065a3b05f354a639c0a86cb2fa47b88e11949604d53f3e80048"
zimage-hash: "1d0e5b76e08e3483f6bf06d23b5978ec498b855bde23db1f96f343db4c43337d"
md5-hash: "fa3936a53299b1a1142e4c614e2b360c"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
ver: "7.1.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.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-42951-post-init-script.patch"

View File

@@ -1,14 +1,12 @@
id: "DVA1622"
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "no"
buzzeroffen: "0xffff"
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
rss_server_v2: "https://example.com/autoupdate/v2/getList"
update_server: "http://example.com/"
update_server_ssl: "https://example.com/"
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"
small_info_path: "https://example.com/null"
updateurl: "http://example.com/"
myds_region_api_base_url: "https://example.com"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
intel_iommu: "igfx_off"
@@ -19,6 +17,7 @@ cmdline: &cmdline
syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8"
platform: "geminilake"
unique: "synology_geminilake_dva1622"
dom: 2
serial:
prefix:
@@ -45,7 +44,28 @@ builds:
hash: "f1484cf302627072ca393293cd73e61dc9e09d479ef028b216eae7c12f7b7825"
ramdisk-hash: "6290945ba61f652aec83725f81f5a47bd5e4cdbeb86241c33825154140e164ec"
zimage-hash: "1d0e5b76e08e3483f6bf06d23b5978ec498b855bde23db1f96f343db4c43337d"
md5-hash: "27515a2e7c2f2113ccf8955bf22f3974"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
ver: "7.1.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.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-42951-post-init-script.patch"

View File

@@ -0,0 +1,96 @@
id: "DVA3219"
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "no"
esataportcfg: "0x00"
support_bde_internal_10g: "no"
supportraidgroup: "no"
support_syno_hybrid_raid: "yes"
internalportcfg: "0xfffff"
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"
small_info_path: "https://example.com/null"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
syno_hdd_powerup_seq: 0
HddHotplug: 0
vender_format_version: 2
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "denverton"
unique: "synology_denverton_dva3219"
beta: true
dom: 2
serial:
prefix:
- "1930"
- "1940"
middle: "RFR"
suffix: "alpha"
flags:
- "fma"
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"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
ver: "7.1.0"
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.1/42661-1/DSM_DVA3219_42661.pat"
hash: "01596eaf7310a56b504fde5743262f721dd0be2836e53d2d74386e14f509bec4"
ramdisk-hash: "a62ef4468db4e6c7eab04bb810c603c65e201aebbcc8994423b0c95dd215e4c5"
zimage-hash: "5222b5efaf7af28ff3833fd37f13100c30acba1ee201a15b2ee360e66e75b48e"
md5-hash: "5c4dea4a45d96e1a6d5bcc041d300079"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "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
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-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -1,16 +1,13 @@
id: "DVA3221"
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "no"
esataportcfg: "0x00"
support_bde_internal_10g: "no"
support_disk_compatibility: "no"
rss_server: "http://example.com/null.xml"
rss_server_ssl: "https://example.com/null.xml"
rss_server_v2: "https://example.com/autoupdate/v2/getList"
update_server: "http://example.com/"
update_server_ssl: "https://example.com/"
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"
small_info_path: "https://example.com/null"
updateurl: "http://example.com/"
myds_region_api_base_url: "https://example.com"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
syno_hdd_powerup_seq: 0
@@ -19,6 +16,7 @@ cmdline: &cmdline
syno_port_thaw: 1
syno_hdd_detect: 0
platform: "denverton"
unique: "synology_denverton_dva3221"
dom: 2
serial:
prefix:
@@ -46,6 +44,7 @@ builds:
hash: "01f101d7b310c857e54b0177068fb7250ff722dc9fa2472b1a48607ba40897ee"
ramdisk-hash: "0825958923a5e67d967389769cff5fb7a04a25b98a2826c4c1e8aa7b8146dc8b"
zimage-hash: "ef97f2d64f3f7f8c5e3f4e8fee613d385d7888826f56e119f1885a722c95c7cc"
md5-hash: "b8bd6562290d06dd3a7360f3af330bec"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
@@ -66,8 +65,30 @@ builds:
hash: "ed3207db40b7bac4d96411378558193b7747ebe88f0fc9c26c59c0b5c688c359"
ramdisk-hash: "0ff061f453bc9888b16c59baaf3617bfa6ee42044122eb1dd0eaaa18b3832381"
zimage-hash: "5222b5efaf7af28ff3833fd37f13100c30acba1ee201a15b2ee360e66e75b48e"
md5-hash: "d433ae251ba95754edde1586851d1e0a"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "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
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-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -0,0 +1,87 @@
id: "FS2500"
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "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"
small_info_path: "https://example.com/null"
security_version_server: "https://example.com/smallupdate"
cmdline: &cmdline
intel_iommu: igfx_off
SMBusHddDynamicPower: 1
vender_format_version: 2
synoboot2:
syno_ttyS0: "serial,0x3f8"
syno_ttyS1: "serial,0x2f8"
platform: "v1000"
unique: "synology_v1000_fs2500"
beta: true
dom: 2
serial:
prefix:
- "0000"
middle: "XXX"
suffix: "alpha"
disks: 12
dt: true
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_FS2500_42218.pat"
hash: "4d060be8afec548fdb042bc8095524f10ff200033cab74df37ae07f3de5eaa69"
ramdisk-hash: "cbe9099c57f23ba53415574b011580218fa55a0bdb83c4e4bba9e27100e5379d"
zimage-hash: "f6816165a52b1f53ce44a45878fe06641da34e9478947f826a236c1a6548f8fd"
md5-hash: "70550293c612c1fd9a8d1b7485173877"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
42661:
ver: "7.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.1/42661-1/DSM_FS2500_42661.pat"
hash: "f8343ac070b43fe62d02af6ac9a9c61f8c9852b6b2c79b933629409113e1d3e6"
ramdisk-hash: "698e9b1d719d3032a9a2b91ca08078c632b3265590147b2f6c9ca200c826e987"
zimage-hash: "d939b5937be00a644aae64c33633619a7c310433e60a515c77bbef00b0a7e6b6"
md5-hash: "e071c4984d041309f151de29b9ba82b5"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42661-post-init-script.patch"
42951:
ver: "7.1.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.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-42951-post-init-script.patch"

View File

@@ -0,0 +1,91 @@
id: "RS4021xs+"
synoinfo: &synoinfo
support_disk_compatibility: "no"
support_memory_compatibility: "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"
small_info_path: "https://example.com/null"
security_version_server: "https://example.com/smallupdate"
support_bde_internal_10g: "no"
esataportcfg: "0x0"
cmdline: &cmdline
syno_hdd_powerup_seq: 0
HddHotplug: 0
syno_hdd_detect: 0
syno_port_thaw: 1
vender_format_version: 2
platform: "broadwellnk"
unique: "synology_broadwellnk_rs4021xs+"
beta: true
dom: 2
serial:
prefix:
- "0000"
middle: "XXX"
suffix: "alpha"
disks: 16
dt: false
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_RS4021xs%2B_42218.pat"
hash: "7afca3970ac7324d7431c1484d4249939bedd4c18ac34187f894c43119edf3a1"
ramdisk-hash: "3aa9d810064747fca6d0a3ab4c979bd82b49fc0d166dfe714261c2a22145cc70"
zimage-hash: "17607e1739c8acc9903272ebd981bccb27b51057cdcb3cc446e5c5149db452d3"
md5-hash: "46d9eb6aba71dbd61ba0394e575b6d58"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-common-post-init-script.patch"
- "ramdisk-common-disable-disabled-ports.patch"
42661:
ver: "7.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.1/42661-1/DSM_RS4021xs%2B_42661.pat"
hash: "496b64e431dafa34cdebb92da8ac736bf1610fe157f03df7e6d11152d60991f5"
ramdisk-hash: "143e475fe73c0adb3377361402b4baad21448476e844e55e16d1ed51ffc4c971"
zimage-hash: "e073dd84054f652811e0ae1932af2c7cdbd5fb6e5f18f265097072b8af4605e8"
md5-hash: "ddbbbcf8ccb8d9d345df3e08debc66f6"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "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
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-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"

View File

@@ -0,0 +1,31 @@
--- a/usr/sbin/init.post
+++ b/usr/sbin/init.post
@@ -31,7 +31,28 @@
OptPrjQuota="$(GetPQMountOpt "${RootMountPath}")"
# shellcheck disable=SC2046
Mount "${RootMountPath}" /tmpRoot -o barrier=1,noatime ${OptPrjQuota}
+############################################################################################
+SED_PATH='/tmpRoot/usr/bin/sed'
+@@@CONFIG-MANIPULATORS-TOOLS@@@
+
+@@@CONFIG-GENERATED@@@
+
+UPSTART="/tmpRoot/usr/share/init"
+
+if ! echo; then
+ _replace_in_file '^start on' '#start on' $UPSTART/tty.conf
+ _replace_in_file "console output" "console none" $UPSTART/syno_poweroff_task.conf
+ _replace_in_file "console output" "console none" $UPSTART/burnin_loader.conf
+ _replace_in_file "console output" "console none" $UPSTART/udevtrigger.conf
+ _replace_in_file "console output" "console none" $UPSTART/bs-poweroff.conf
+ _replace_in_file "console output" "console none" $UPSTART/udevd.conf
+else
+ _replace_in_file '^#start on' 'start on' $UPSTART/tty.conf
+fi
+
+/addons/addons.sh late
+############################################################################################
Mkdir -p /tmpRoot/initrd
Umount /proc >/dev/null 2>&1

View File

@@ -1,6 +1,15 @@
--- a/linuxrc.syno.impl 2022-07-13 19:11:36.166689682 -0300
+++ b/linuxrc.syno.impl 2022-07-14 10:50:50.616836807 -0300
@@ -59,6 +59,7 @@
--- a/linuxrc.syno.impl
+++ b/linuxrc.syno.impl
@@ -38,6 +38,8 @@
UnknownSynoPartitionMigrationFlag="/.unknown_syno_partition_migrate"
IncompatibleRootDevice="/.incompatible_root_device"
+/addons/addons.sh early
+
UmountRoot()
{
grep "^${RootDevice}" /proc/mounts && /bin/umount -f ${Mnt}
@@ -59,6 +61,7 @@
fi
UmountRoot
@@ -8,21 +17,21 @@
exit $1
}
@@ -155,6 +156,8 @@
@@ -155,6 +158,8 @@
# insert basic USB modules for detect f401/FDT
echo "Insert basic USB modules..."
SYNOLoadModules $USB_MODULES
+SYNOLoadModules "usb-storage"
+/addons/addons.sh early
+
+/addons/addons.sh modules
# insert Etron USB3.0 drivers
@@ -208,7 +211,7 @@
rmmod i2c_core
@@ -209,6 +214,8 @@
fi
fi
-
+/addons/addons.sh patches
+
if [ "$SupportDualhead" = "yes" ]; then
# Run HA script
/etc.defaults/AHAtasks check_stage

View File

@@ -44,10 +44,7 @@ RD_COMPRESSED="`readModelKey "${MODEL}" "builds.${BUILD}.rd-compressed"`"
declare -A SYNOINFO
declare -A ADDONS
# Read more config
while IFS="=" read KEY VALUE; do
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
done < <(readModelMap "${MODEL}" "builds.${BUILD}.synoinfo")
# Read synoinfo and addons from config
while IFS="=" read KEY VALUE; do
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
@@ -92,32 +89,37 @@ for F in `ls "${TMP_PATH}/modules/"*.ko`; do
# [ -f "${RAMDISK_PATH}/usr/lib/modules/${M}" ] || mv "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}"
cp "${F}" "${RAMDISK_PATH}/usr/lib/modules/${M}"
done
mkdir -p "${RAMDISK_PATH}/usr/lib/firmware"
gzip -dc "${CACHE_PATH}/modules/firmware.tgz" | tar xf - -C "${RAMDISK_PATH}/usr/lib/firmware"
# Clean
rm -rf "${TMP_PATH}/modules"
# Build modules dependencies
/opt/arpl/depmod -a -b ${RAMDISK_PATH} 2>/dev/null
echo -n "."
# Copying fake modprobe
cp "${PATCH_PATH}/iosched-trampoline.sh" "${RAMDISK_PATH}/usr/sbin/modprobe"
# Copying LKM to /usr/lib/modules
cp "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko" "${RAMDISK_PATH}/usr/lib/modules/rp.ko"
gzip -dc "${LKM_PATH}/rp-${PLATFORM}-${KVER}-${LKM}.ko.gz" > "${RAMDISK_PATH}/usr/lib/modules/rp.ko"
# Addons
MAXDISKS=`readConfigKey "maxdisks" "${USER_CONFIG_FILE}"`
# Check if model needs Device-tree dynamic patch
DT="`readModelKey "${MODEL}" "dt"`"
# Add system addon "dtbpatch" or "maxdisks"
[ "${DT}" = "true" ] && ADDONS['dtbpatch']="" || ADDONS['maxdisks']="${MAXDISKS}"
# Indispensable eudev system addon
ADDONS['eudev']=""
echo -n "."
mkdir -p "${RAMDISK_PATH}/addons"
echo "#!/bin/sh" > "${RAMDISK_PATH}/addons/addons.sh"
echo 'export INSMOD="/sbin/insmod"' >> "${RAMDISK_PATH}/addons/addons.sh"
echo 'echo "addons.sh called with params ${@}"' >> "${RAMDISK_PATH}/addons/addons.sh"
# Required eudev and dtbpatch/maxdisks
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
# User addons
for ADDON in ${!ADDONS[@]}; do
PARAMS=${ADDONS[${ADDON}]}
if ! installAddon ${ADDON}; then
@@ -128,6 +130,9 @@ for ADDON in ${!ADDONS[@]}; do
done
chmod +x "${RAMDISK_PATH}/addons/addons.sh"
# Build modules dependencies
/opt/arpl/depmod -a -b ${RAMDISK_PATH} 2>/dev/null
# Reassembly ramdisk
echo -n "."
if [ "${RD_COMPRESSED}" == "true" ]; then

View File

@@ -6,7 +6,7 @@ terminal_input console
terminal_output console
set default="0"
set timeout="3"
set timeout="5"
set timeout_style="menu"
insmod loadenv
@@ -51,11 +51,18 @@ if serial --unit=0 --speed=115200; then
fi
insmod search
search --set=root --label "ARPL1"
if [ -s /zImage -a -s /rd.gz ]; then
search --set=root --label "ARPL3"
if [ -s /zImage-dsm -a -s /initrd-dsm ]; then
menuentry 'Boot DSM' --id boot {
echo "Loading kernel..."
linux /bzImage-arpl console=ttyS0,115200n8 quiet
linux /bzImage-arpl console=ttyS0,115200n8 quiet net.ifnames=0 biosdevname=0
echo "Loading initramfs..."
initrd /initrd-arpl
echo "Booting..."
}
menuentry 'Force re-install DSM' --id junior {
echo "Loading kernel..."
linux /bzImage-arpl console=ttyS0,115200n8 quiet net.ifnames=0 biosdevname=0 force_junior
echo "Loading initramfs..."
initrd /initrd-arpl
echo "Booting..."
@@ -66,7 +73,7 @@ fi
menuentry 'Configure loader' --id config {
echo "Loading kernel..."
linux /bzImage-arpl console=ttyS0,115200n8 quiet IWANTTOCHANGETHECONFIG
linux /bzImage-arpl console=ttyS0,115200n8 quiet net.ifnames=0 biosdevname=0 IWANTTOCHANGETHECONFIG
echo "Loading initramfs..."
initrd /initrd-arpl
echo "Booting..."

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,25 @@
version: 1
name: 9p
description: "Driver for virtio 9p"
available-for:
bromolow-3.10.108:
install-script: &script "install.sh"
copy: "bromolow-3.10.108"
apollolake-4.4.180:
install-script: *script
copy: "apollolake-4.4.180"
broadwell-4.4.180:
install-script: *script
copy: "broadwell-4.4.180"
broadwellnk-4.4.180:
install-script: *script
copy: "broadwellnk-4.4.180"
denverton-4.4.180:
install-script: *script
copy: "denverton-4.4.180"
geminilake-4.4.180:
install-script: *script
copy: "geminilake-4.4.180"
v1000-4.4.180:
install-script: *script
copy: "v1000-4.4.180"

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,14 @@
version: 1
name: dbgutils
description: "Binaries to facilitate debug in the junior mode"
all:
install-script: "install.sh"
copy: "all"
available-for:
bromolow-3.10.108:
apollolake-4.4.180:
broadwell-4.4.180:
broadwellnk-4.4.180:
denverton-4.4.180:
geminilake-4.4.180:
v1000-4.4.180:

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,10 @@
version: 1
name: i915
description: "Intel iGPU Drivers (10th Gen)"
available-for:
apollolake-4.4.180:
install-script: "install.sh"
copy: "apollolake-4.4.180"
geminilake-4.4.180:
install-script: "install.sh"
copy: "geminilake-4.4.180"

Binary file not shown.

View File

@@ -0,0 +1,14 @@
version: 1
name: lsiutil
description: "A tool for working with some LSI RAID controllers"
all:
install-script: "install.sh"
copy: "all"
available-for:
bromolow-3.10.108:
apollolake-4.4.180:
broadwell-4.4.180:
broadwellnk-4.4.180:
denverton-4.4.180:
geminilake-4.4.180:
v1000-4.4.180:

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -26,7 +26,6 @@ BR2_PACKAGE_BINUTILS_TARGET=y
BR2_PACKAGE_CPIO=y
BR2_PACKAGE_DOSFSTOOLS=y
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
BR2_PACKAGE_ACPID=y
BR2_PACKAGE_KBD=y
@@ -37,15 +36,15 @@ BR2_PACKAGE_NVME=y
BR2_PACKAGE_PCIUTILS=y
BR2_PACKAGE_SMARTMONTOOLS=y
BR2_PACKAGE_USBUTILS=y
BR2_PACKAGE_PHP=y
BR2_PACKAGE_PHP_SAPI_CLI=y
BR2_PACKAGE_DTC=y
BR2_PACKAGE_DTC_PROGRAMS=y
BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_PCRE2=y
BR2_PACKAGE_DHCPCD=y
BR2_PACKAGE_OPENSSH=y
# BR2_PACKAGE_OPENSSH_CLIENT is not set
BR2_PACKAGE_SAMBA4=y
BR2_PACKAGE_BASH_COMPLETION=y
BR2_PACKAGE_DIALOG=y
BR2_PACKAGE_TTYD=y
@@ -61,5 +60,6 @@ BR2_TARGET_ROOTFS_CPIO_XZ=y
# BR2_TARGET_ROOTFS_TAR is not set
BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_MKPASSWD=y
BR2_PACKAGE_R8168=y
BR2_PACKAGE_R8125=y

View File

@@ -14,10 +14,17 @@ 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
rm -rf files/board/arpl/p3/lkms/*
unzip /tmp/rp-lkms.zip -d files/board/arpl/p3/lkms
if [ `ls ../redpill-lkm/output | wc -l` -eq 0 ]; then
echo " Downloading from github"
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
rm -rf files/board/arpl/p3/lkms/*
unzip /tmp/rp-lkms.zip -d files/board/arpl/p3/lkms
else
echo " Copying from ../redpill-lkm/output"
rm -rf files/board/arpl/p3/lkms/*
cp -f ../redpill-lkm/output/* files/board/arpl/p3/lkms
fi
# Get latest addons and install its
echo "Getting latest Addons"
@@ -43,12 +50,13 @@ done
# Get latest modules
echo "Getting latest modules"
MODULES_DIR="${PWD}/files/board/arpl/p3/modules"
if [ -d ../arpl-addons ]; then
if [ -d ../arpl-modules ]; then
cd ../arpl-modules
for D in `ls -d *-*`; do
echo "${D}"
(cd ${D} && tar caf "${MODULES_DIR}/${D}.tgz" *.ko)
done
(cd firmware && tar caf "${MODULES_DIR}/firmware.tgz" *)
cd -
else
TAG=`curl -s https://api.github.com/repos/fbelavenuto/arpl-modules/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}'`
@@ -56,6 +64,7 @@ else
FILE="${PLATFORM}-${KVER}"
curl -L "https://github.com/fbelavenuto/arpl-modules/releases/download/${TAG}/${FILE}.tgz" -o "${MODULES_DIR}/${FILE}.tgz"
done < PLATFORMS
curl -L "https://github.com/fbelavenuto/arpl-modules/releases/download/${TAG}/firmware.tgz" -o "${MODULES_DIR}/firmware.tgz"
fi
# Copy files
@@ -71,8 +80,9 @@ echo "Version: ${VERSION}"
echo "Building... Drink a coffee and wait!"
make BR2_EXTERNAL=../external
cd -
qemu-img convert -O vmdk arpl.img arpl.vmdk
#qemu-img convert -O vmdk -o adapter_type=lsilogic -o compat6 arpl.img arpl.vmdk
qemu-img convert -O vmdk -o adapter_type=lsilogic arpl.img -o subformat=monolithicFlat arpl.vmdk
[ -x test.sh ] && ./test.sh
rm -f *.zip
zip -9 "arpl-${VERSION}.img.zip" arpl.img
zip -9 "arpl-${VERSION}.vmdk.zip" arpl.vmdk
zip -9 "arpl-${VERSION}.vmdk.zip" arpl*.vmdk

76
new_bn.sh Executable file
View File

@@ -0,0 +1,76 @@
#!/usr/bin/env bash
# Is necessary test the patches
set -e
declare -A KVERS
KVERS["DS918+"]="4.4.180"
KVERS["DS920+"]="4.4.180"
KVERS["DS1520+"]="4.4.180"
KVERS["DS1621+"]="4.4.180"
KVERS["DS2422+"]="4.4.180"
KVERS["DS3615xs"]="3.10.108"
KVERS["DS3617xs"]="4.4.180"
KVERS["DS3622xs+"]="4.4.180"
KVERS["DVA1622"]="4.4.180"
KVERS["DVA3219"]="4.4.180"
KVERS["DVA3221"]="4.4.180"
KVERS["FS2500"]="4.4.180"
KVERS["RS4021xs+"]="4.4.180"
RELEASE="7.1.1"
BUILDNUMBER="42951"
EXTRA=""
for MODEL in DS918+ DS920+ DS1520+ DS1621+ DS2422+ DS3615xs DS3617xs DS3622xs+ DVA1622 DVA3221 DVA3219 FS2500 RS4021xs+; do
MODEL_CODED=`echo ${MODEL} | sed 's/+/%2B/g'`
URL="https://global.download.synology.com/download/DSM/release/${RELEASE}/${BUILDNUMBER}${EXTRA}/DSM_${MODEL_CODED}_${BUILDNUMBER}.pat"
FILENAME="${MODEL}-${BUILDNUMBER}.pat"
FILEPATH="/tmp/${FILENAME}"
echo -n "Checking ${MODEL}... "
if [ -f ${FILEPATH} ]; then
echo "cached"
else
STATUS=`curl -s -o /dev/null -w "%{http_code}" -L "${URL}"`
if [ ${STATUS} -ne 200 ]; then
echo "error: HTTP status = ${STATUS}"
continue
fi
echo "ok, download it."
curl --progress-bar -C - -L "${URL}" -o ${FILEPATH}
fi
echo "Calculating md5:"
PAT_MD5=`md5sum ${FILEPATH} | awk '{print$1}'`
echo "Calculating sha256:"
sudo rm -rf /tmp/extracted
docker run --rm -it -v /tmp:/data syno-extractor /data/${FILENAME} /data/extracted
PAT_CS=`sha256sum ${FILEPATH} | awk '{print$1}'`
ZIMAGE_CS=`sha256sum /tmp/extracted/zImage | awk '{print$1}'`
RD_CS=`sha256sum /tmp/extracted/rd.gz | awk '{print$1}'`
sudo rm -rf /tmp/extracted
cat <<EOF
${BUILDNUMBER}:
ver: "${RELEASE}"
kver: "${KVERS[${MODEL}]}"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "${URL}"
hash: "${PAT_CS}"
ramdisk-hash: "${RD_CS}"
zimage-hash: "${ZIMAGE_CS}"
md5-hash: "${PAT_MD5}"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch"
EOF
done

252
rss.json Normal file
View File

@@ -0,0 +1,252 @@
{
"version": "2.0",
"channel": {
"title": "RSS for DSM Auto Update",
"link": "https://update.synology.com/autoupdate/v2/getList",
"pubDate": "Sat Aug 6 0:18:39 CST 2022",
"copyright": "Copyright 2022 Synology Inc",
"item": [
{
"title": "DSM 7.1.1-42951",
"MajorVer": 7,
"MinorVer": 1,
"NanoVer": 1,
"BuildPhase": 0,
"BuildNum": 42951,
"BuildDate": "2022/08/01",
"ReqMajorVer": 7,
"ReqMinorVer": 1,
"ReqBuildPhase": 0,
"ReqBuildNum": 41890,
"ReqBuildDate": "2021/06/25",
"isSecurityVersion": false,
"model": [
{
"mUnique": "synology_apollolake_918+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS918%2B_42951.pat",
"mCheckSum": "fbdd1584dfcb1898df5f66a886a6e9b7"
},
{
"mUnique": "synology_geminilake_920+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS920%2B_42951.pat",
"mCheckSum": "9fcb2a54b13f4e6acc3947c2165a464b"
},
{
"mUnique": "synology_geminilake_1520+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS1520%2B_42951.pat",
"mCheckSum": "5fd40dc13c83ff14bc10fd43a7d19606"
},
{
"mUnique": "synology_v1000_1621+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS1621%2B_42951.pat",
"mCheckSum": "4e52301c56ae5e7b03ff9ea1f8392d43"
},
{
"mUnique": "synology_v1000_2422+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS2422%2B_42951.pat",
"mCheckSum": "40da0cb929793e3d165f5958d4a5533b"
},
{
"mUnique": "synology_bromolow_3615xs",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS3615xs_42951.pat",
"mCheckSum": "1f6831d8706d8337f06a6028037fe120"
},
{
"mUnique": "synology_broadwell_3617xs",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS3617xs_42951.pat",
"mCheckSum": "d6c61c7c84320ccc684b76ae6219e650"
},
{
"mUnique": "synology_broadwellnk_3622xs+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS3622xs%2B_42951.pat",
"mCheckSum": "b34b7b7d21af459ae0ba6ea1f9974de6"
},
{
"mUnique": "synology_geminilake_dva1622",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DVA1622_42951.pat",
"mCheckSum": "6e119d8eb2c0a175a56b0bbba1f43372"
},
{
"mUnique": "synology_denverton_dva3219",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DVA3219_42951.pat",
"mCheckSum": "309b02195fb52239ee6fdfafdf157cd1"
},
{
"mUnique": "synology_denverton_dva3221",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DVA3221_42951.pat",
"mCheckSum": "59c68430cb9cd20322cb287334a4017b"
},
{
"mUnique": "synology_v1000_fs2500",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_FS2500_42951.pat",
"mCheckSum": "7b48e21c1f2090bb01d5f14a8e16a435"
},
{
"mUnique": "synology_broadwellnk_rs4021xs+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_RS4021xs%2B_42951.pat",
"mCheckSum": "e2d11981bba84b2eb6ba62b8bf2d2d28"
}
]
},
{
"title": "DSM 7.1-42661",
"MajorVer": 7,
"MinorVer": 1,
"NanoVer": 0,
"BuildPhase": 0,
"BuildNum": 42661,
"BuildDate": "2022/04/01",
"ReqMajorVer": 7,
"ReqMinorVer": 0,
"ReqBuildPhase": 0,
"ReqBuildNum": 41890,
"ReqBuildDate": "2021/06/25",
"isSecurityVersion": false,
"model": [
{
"mUnique": "synology_apollolake_918+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS918%2B_42661.pat",
"mCheckSum": "2c49260d2646a0944b56933f7d4029fb"
},
{
"mUnique": "synology_geminilake_920+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS920%2B_42661.pat",
"mCheckSum": "fa3936a53299b1a1142e4c614e2b360c"
},
{
"mUnique": "synology_geminilake_1520+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS1520%2B_42661.pat",
"mCheckSum": "1d8ecfcb2a956488ae355c79a72bb9ec"
},
{
"mUnique": "synology_v1000_1621+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS1621%2B_42661.pat",
"mCheckSum": "b4b72eb8d4e84b2e2a8c29fc0a1ac6aa"
},
{
"mUnique": "synology_v1000_2422+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS2422%2B_42661.pat",
"mCheckSum": "9ea5e0fe94c01072da36e2f69172abb3"
},
{
"mUnique": "synology_bromolow_3615xs",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS3615xs_42661.pat",
"mCheckSum": "271b34cb2a0c23d63178aef3bf45a6ae"
},
{
"mUnique": "synology_broadwell_3617xs",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS3617xs_42661.pat",
"mCheckSum": "94e6263912bc758ee3db81c62a94a8f6"
},
{
"mUnique": "synology_broadwellnk_3622xs+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS3622xs%2B_42661.pat",
"mCheckSum": "7af76cca8226ecf95b25630bffa76b3d"
},
{
"mUnique": "synology_geminilake_dva1622",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DVA1622_42661.pat",
"mCheckSum": "27515a2e7c2f2113ccf8955bf22f3974"
},
{
"mUnique": "synology_denverton_dva3219",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DVA3219_42661.pat",
"mCheckSum": "5c4dea4a45d96e1a6d5bcc041d300079"
},
{
"mUnique": "synology_denverton_dva3221",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DVA3221_42661.pat",
"mCheckSum": "d433ae251ba95754edde1586851d1e0a"
},
{
"mUnique": "synology_v1000_fs2500",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_FS2500_42661.pat",
"mCheckSum": "e071c4984d041309f151de29b9ba82b5"
},
{
"mUnique": "synology_broadwellnk_rs4021xs+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_RS4021xs%2B_42661.pat",
"mCheckSum": "ddbbbcf8ccb8d9d345df3e08debc66f6"
}
]
},
{
"title": "DSM 7.0.1-42218",
"MajorVer": 7,
"MinorVer": 0,
"NanoVer": 0,
"BuildPhase": 0,
"BuildNum": 42218,
"BuildDate": "2021/10/18",
"ReqMajorVer": 6,
"ReqMinorVer": 2,
"ReqBuildPhase": 0,
"ReqBuildNum": 23739,
"ReqBuildDate": "2018/05/19",
"isSecurityVersion": false,
"model": [
{
"mUnique": "synology_apollolake_918+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS918%2B_42218.pat",
"mCheckSum": "71c028f92497e4722998e4208fe75774"
},
{
"mUnique": "synology_geminilake_920+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS920%2B_42218.pat",
"mCheckSum": "7764ad4fca0a11ae0ebd7ccd4a49e1aa"
},
{
"mUnique": "synology_geminilake_1520+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1520%2B_42218.pat",
"mCheckSum": "f56200a8be1aed4eb287a51b373adb1f"
},
{
"mUnique": "synology_v1000_1621+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1621%2B_42218.pat",
"mCheckSum": "f82cbabbfef3fdf2cba45da77d14959b"
},
{
"mUnique": "synology_v1000_2422+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS2422%2B_42218.pat",
"mCheckSum": "9293156f98e642c181aed63b0b3df4c8"
},
{
"mUnique": "synology_bromolow_3615xs",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3615xs_42218.pat",
"mCheckSum": "ea1c30f644bacae2e0b1ef914bc663db"
},
{
"mUnique": "synology_broadwell_3617xs",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3617xs_42218.pat",
"mCheckSum": "8972088c38acd07aa92a8b573a1b7bc3"
},
{
"mUnique": "synology_broadwellnk_3622xs+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat",
"mCheckSum": "bc0235e45a8423f4c46dc0d9699759b5"
},
{
"mUnique": "synology_denverton_dva3219",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3219_42218.pat",
"mCheckSum": "40917aaf18d069f862f9536ac5504385"
},
{
"mUnique": "synology_denverton_dva3221",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3221_42218.pat",
"mCheckSum": "b8bd6562290d06dd3a7360f3af330bec"
},
{
"mUnique": "synology_v1000_fs2500",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_FS2500_42218.pat",
"mCheckSum": "70550293c612c1fd9a8d1b7485173877"
},
{
"mUnique": "synology_broadwellnk_rs4021xs+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_RS4021xs%2B_42218.pat",
"mCheckSum": "46d9eb6aba71dbd61ba0394e575b6d58"
}
]
}
]
}
}

238
rss.xml Normal file
View File

@@ -0,0 +1,238 @@
<?xml version="1.0"?>
<rss version="2.0">
<channel>
<title>RSS for DSM Auto Update</title>
<link>http://update.synology.com/autoupdate/genRSS.php</link>
<pubDate>Sat Aug 6 0:11:41 CST 2022</pubDate>
<copyright>Copyright 2022 Synology Inc</copyright>
<item>
<title>DSM 7.1.1-42951</title>
<MajorVer>7</MajorVer>
<MinorVer>1</MinorVer>
<BuildPhase>1</BuildPhase>
<BuildNum>42951</BuildNum>
<BuildDate>2022/08/01</BuildDate>
<ReqMajorVer>7</ReqMajorVer>
<ReqMinorVer>0</ReqMinorVer>
<ReqBuildPhase>0</ReqBuildPhase>
<ReqBuildNum>41890</ReqBuildNum>
<ReqBuildDate>2021/06/25</ReqBuildDate>
<model>
<mUnique>synology_apollolake_918+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS918%2B_42951.pat</mLink>
<mCheckSum>fbdd1584dfcb1898df5f66a886a6e9b7</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_920+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS920%2B_42951.pat</mLink>
<mCheckSum>9fcb2a54b13f4e6acc3947c2165a464b</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_1520+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS1520%2B_42951.pat</mLink>
<mCheckSum>5fd40dc13c83ff14bc10fd43a7d19606</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_1621+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS1621%2B_42951.pat</mLink>
<mCheckSum>4e52301c56ae5e7b03ff9ea1f8392d43</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_2422+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS2422%2B_42951.pat</mLink>
<mCheckSum>40da0cb929793e3d165f5958d4a5533b</mCheckSum>
</model>
<model>
<mUnique>synology_bromolow_3615xs</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS3615xs_42951.pat</mLink>
<mCheckSum>1f6831d8706d8337f06a6028037fe120</mCheckSum>
</model>
<model>
<mUnique>synology_broadwell_3617xs</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS3617xs_42951.pat</mLink>
<mCheckSum>d6c61c7c84320ccc684b76ae6219e650</mCheckSum>
</model>
<model>
<mUnique>synology_broadwellnk_3622xs+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DS3622xs%2B_42951.pat</mLink>
<mCheckSum>b34b7b7d21af459ae0ba6ea1f9974de6</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_dva1622</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DVA1622_42951.pat</mLink>
<mCheckSum>6e119d8eb2c0a175a56b0bbba1f43372</mCheckSum>
</model>
<model>
<mUnique>synology_denverton_dva3219</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DVA3219_42951.pat</mLink>
<mCheckSum>309b02195fb52239ee6fdfafdf157cd1</mCheckSum>
</model>
<model>
<mUnique>synology_denverton_dva3221</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_DVA3221_42951.pat</mLink>
<mCheckSum>59c68430cb9cd20322cb287334a4017b</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_fs2500</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_FS2500_42951.pat</mLink>
<mCheckSum>7b48e21c1f2090bb01d5f14a8e16a435</mCheckSum>
</model>
<model>
<mUnique>synology_broadwellnk_rs4021xs+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42951/DSM_RS4021xs%2B_42951.pat</mLink>
<mCheckSum>e2d11981bba84b2eb6ba62b8bf2d2d28</mCheckSum>
</model>
</item>
<item>
<title>DSM 7.1-42661</title>
<MajorVer>7</MajorVer>
<MinorVer>1</MinorVer>
<BuildPhase>0</BuildPhase>
<BuildNum>42661</BuildNum>
<BuildDate>2022/04/01</BuildDate>
<ReqMajorVer>7</ReqMajorVer>
<ReqMinorVer>0</ReqMinorVer>
<ReqBuildPhase>0</ReqBuildPhase>
<ReqBuildNum>41890</ReqBuildNum>
<ReqBuildDate>2021/06/25</ReqBuildDate>
<model>
<mUnique>synology_apollolake_918+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS918%2B_42661.pat</mLink>
<mCheckSum>2c49260d2646a0944b56933f7d4029fb</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_920+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS920%2B_42661.pat</mLink>
<mCheckSum>fa3936a53299b1a1142e4c614e2b360c</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_1520+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS1520%2B_42661.pat</mLink>
<mCheckSum>1d8ecfcb2a956488ae355c79a72bb9ec</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_1621+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS1621%2B_42661.pat</mLink>
<mCheckSum>b4b72eb8d4e84b2e2a8c29fc0a1ac6aa</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_2422+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS2422%2B_42661.pat</mLink>
<mCheckSum>9ea5e0fe94c01072da36e2f69172abb3</mCheckSum>
</model>
<model>
<mUnique>synology_bromolow_3615xs</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS3615xs_42661.pat</mLink>
<mCheckSum>271b34cb2a0c23d63178aef3bf45a6ae</mCheckSum>
</model>
<model>
<mUnique>synology_broadwell_3617xs</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS3617xs_42661.pat</mLink>
<mCheckSum>94e6263912bc758ee3db81c62a94a8f6</mCheckSum>
</model>
<model>
<mUnique>synology_broadwellnk_3622xs+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DS3622xs%2B_42661.pat</mLink>
<mCheckSum>7af76cca8226ecf95b25630bffa76b3d</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_dva1622</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DVA1622_42661.pat</mLink>
<mCheckSum>27515a2e7c2f2113ccf8955bf22f3974</mCheckSum>
</model>
<model>
<mUnique>synology_denverton_dva3219</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DVA3219_42661.pat</mLink>
<mCheckSum>5c4dea4a45d96e1a6d5bcc041d300079</mCheckSum>
</model>
<model>
<mUnique>synology_denverton_dva3221</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_DVA3221_42661.pat</mLink>
<mCheckSum>d433ae251ba95754edde1586851d1e0a</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_fs2500</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_FS2500_42661.pat</mLink>
<mCheckSum>e071c4984d041309f151de29b9ba82b5</mCheckSum>
</model>
<model>
<mUnique>synology_broadwellnk_rs4021xs+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1/42661-1/DSM_RS4021xs%2B_42661.pat</mLink>
<mCheckSum>ddbbbcf8ccb8d9d345df3e08debc66f6</mCheckSum>
</model>
</item>
<item>
<title>DSM 7.0.1-42218</title>
<MajorVer>7</MajorVer>
<MinorVer>0</MinorVer>
<BuildPhase>0</BuildPhase>
<BuildNum>42218</BuildNum>
<BuildDate>2021/10/18</BuildDate>
<ReqMajorVer>6</ReqMajorVer>
<ReqMinorVer>2</ReqMinorVer>
<ReqBuildPhase>0</ReqBuildPhase>
<ReqBuildNum>23739</ReqBuildNum>
<ReqBuildDate>2018/05/19</ReqBuildDate>
<model>
<mUnique>synology_apollolake_918+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS918%2B_42218.pat</mLink>
<mCheckSum>71c028f92497e4722998e4208fe75774</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_920+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS920%2B_42218.pat</mLink>
<mCheckSum>7764ad4fca0a11ae0ebd7ccd4a49e1aa</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_1520+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1520%2B_42218.pat</mLink>
<mCheckSum>f56200a8be1aed4eb287a51b373adb1f</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_1621+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS1621%2B_42218.pat</mLink>
<mCheckSum>f82cbabbfef3fdf2cba45da77d14959b</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_2422+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS2422%2B_42218.pat</mLink>
<mCheckSum>9293156f98e642c181aed63b0b3df4c8</mCheckSum>
</model>
<model>
<mUnique>synology_bromolow_3615xs</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3615xs_42218.pat</mLink>
<mCheckSum>ea1c30f644bacae2e0b1ef914bc663db</mCheckSum>
</model>
<model>
<mUnique>synology_broadwell_3617xs</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3617xs_42218.pat</mLink>
<mCheckSum>8972088c38acd07aa92a8b573a1b7bc3</mCheckSum>
</model>
<model>
<mUnique>synology_broadwellnk_3622xs+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DS3622xs%2B_42218.pat</mLink>
<mCheckSum>bc0235e45a8423f4c46dc0d9699759b5</mCheckSum>
</model>
<model>
<mUnique>synology_denverton_dva3219</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3219_42218.pat</mLink>
<mCheckSum>40917aaf18d069f862f9536ac5504385</mCheckSum>
</model>
<model>
<mUnique>synology_denverton_dva3221</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_DVA3221_42218.pat</mLink>
<mCheckSum>b8bd6562290d06dd3a7360f3af330bec</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_fs2500</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_FS2500_42218.pat</mLink>
<mCheckSum>70550293c612c1fd9a8d1b7485173877</mCheckSum>
</model>
<model>
<mUnique>synology_broadwellnk_rs4021xs+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.0.1/42218/DSM_RS4021xs%2B_42218.pat</mLink>
<mCheckSum>46d9eb6aba71dbd61ba0394e575b6d58</mCheckSum>
</model>
</item>
</channel>
</rss>