Compare commits

...

10 Commits

Author SHA1 Message Date
Fabio Belavenuto
0777beadc1 Merge pull request #142 from fbelavenuto/dev
New buildnumber
2022-09-05 10:09:40 -03:00
Fabio Belavenuto
04e5e5dc21 New buildnumber 2022-09-05 10:09:18 -03:00
Fabio Belavenuto
db33698894 Merge pull request #136 from fbelavenuto/r8169
Adding r8169 and removing r8168, for loader
2022-08-26 08:22:25 -03:00
Fabio Belavenuto
87f72b50cc Adding r8169 and removing r8168, for loader 2022-08-26 08:22:06 -03:00
Fabio Belavenuto
35bd08a9c4 Merge pull request #135 from fbelavenuto/link-folders-p3
Link to cache partition for ARPL model-config and patch
2022-08-25 15:04:40 -03:00
Fabio Belavenuto
e7303130d6 Link to cache partition for ARPL model-config and patch 2022-08-25 14:42:45 -03:00
Fabio Belavenuto
4f2014ee14 Merge pull request #134 from fbelavenuto/synoinfo-loader-bug
Bug in loader synoinfo.conf patch
2022-08-25 14:39:41 -03:00
Fabio Belavenuto
3382821c81 Bug in loader synoinfo.conf patch 2022-08-25 14:39:26 -03:00
Fabio Belavenuto
f283cc3f54 Merge pull request #133 from fbelavenuto/fb-mods
Added framebuffer drivers for loader
2022-08-25 13:59:17 -03:00
Fabio Belavenuto
78dfc09716 Added framebuffer drivers for loader 2022-08-25 13:58:54 -03:00
33 changed files with 612 additions and 46 deletions

View File

@@ -4,23 +4,29 @@ This particular project was created to facilitate my testing with Redpill and I
It is still in alpha stage, with little documentation, but it is functional. I'm Brazilian and my English is not good, so I apologize for my translations. It is still in alpha stage, with little documentation, but it is functional. I'm Brazilian and my English is not good, so I apologize for my translations.
I 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. I tried to make the system as user-friendly as possible, to make life easier. The loader automatically detects which device is being used, SATADom or USB, detecting its VID and PID correctly. redpill-lkm has been edited to allow booting the kernel without setting the variables related to network interfaces so the loader (and user) doesn't have to worry about that. The Jun's code that makes the zImage and Ramdisk patch is embedded, if there is a change in "zImage" or "rd.gz" by some smallupdate, the loader re-applies the patches. The most important kernel modules are built into the DSM ramdisk image for automatic peripheral detection.
# Important
## 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
## You must have at least 4GB of RAM, both in baremetal and VMs
## The DSM kernel is compatible with SATA ports, not SAS/SCSI/etc. For device-tree models only SATA ports work. For the other models, another type of disks may work.
# Use # 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. 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. 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. 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). There is no need to configure the VID/PID (if using a USB stick) or define the MAC Addresses of the network interfaces. If the user wants to modify the MAC Address of any interface, uses the "Change MAC" into "cmdline" menu.
If a model is chosen that uses the Device-tree system to define the HDs, there is no need to configure anything. In the case of models that do not use device-tree, the configurations must be done manually and for this there is an option in the "Cmdline" menu to display the SATA controllers, DUMMY ports and ports in use, to assist in the creation of the "SataPortMap", "DiskIdxMap" and "sata_remap" if necessary. If a model is chosen that uses the Device-tree system to define the HDs, there is no need to configure anything. In the case of models that do not use device-tree, the configurations must be done manually and for this there is an option in the "cmdline" menu to display the SATA controllers, DUMMY ports and ports in use, to assist in the creation of the "SataPortMap", "DiskIdxMap" and "sata_remap" if necessary.
Another important point is that the loader detects whether or not the CPU has the FMA3 instruction and does not display the models that require it. So if the DS918+ and DVA3221 models are not displayed it is because of the CPU's lack of support for FMA instructions. Another important point is that the loader detects whether or not the CPU has the FMA3 instruction and does not display the models that require it. So if the DS918+ and DVA3221 models are not displayed it is because of the CPU's lack of support for FMA instructions. You can disable this restriction and test at your own risk.
I developed a simple patch to no longer display the DUMMY port error on models without device-tree, the user will be able to install without having to worry about it. I developed a simple patch to no longer display the DUMMY port error on models without device-tree, the user will be able to install without having to worry about it.

View File

@@ -1 +1 @@
0.4-alpha4 0.4-alpha5

View File

@@ -112,6 +112,7 @@ CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y CONFIG_DEVTMPFS_MOUNT=y
CONFIG_DEBUG_DEVRES=y CONFIG_DEBUG_DEVRES=y
CONFIG_CONNECTOR=y CONFIG_CONNECTOR=y
CONFIG_SYSFB_SIMPLEFB=y
CONFIG_EFI_VARS=y CONFIG_EFI_VARS=y
CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_LOOP=y
CONFIG_VIRTIO_BLK=m CONFIG_VIRTIO_BLK=m
@@ -143,7 +144,7 @@ CONFIG_MEGARAID_MM=m
CONFIG_MEGARAID_MAILBOX=m CONFIG_MEGARAID_MAILBOX=m
CONFIG_MEGARAID_LEGACY=m CONFIG_MEGARAID_LEGACY=m
CONFIG_MEGARAID_SAS=m CONFIG_MEGARAID_SAS=m
CONFIG_SCSI_MPT2SAS=m CONFIG_SCSI_MPT3SAS=m
CONFIG_SCSI_MPI3MR=m CONFIG_SCSI_MPI3MR=m
CONFIG_SCSI_SMARTPQI=m CONFIG_SCSI_SMARTPQI=m
CONFIG_SCSI_UFSHCD=m CONFIG_SCSI_UFSHCD=m
@@ -178,49 +179,35 @@ CONFIG_SCSI_VIRTIO=m
CONFIG_SCSI_DH=y CONFIG_SCSI_DH=y
CONFIG_ATA=y CONFIG_ATA=y
CONFIG_SATA_AHCI=y CONFIG_SATA_AHCI=y
CONFIG_SATA_AHCI_PLATFORM=m
CONFIG_SATA_ACARD_AHCI=m
CONFIG_SATA_SIL24=m
CONFIG_PDC_ADMA=m
CONFIG_SATA_QSTOR=m
CONFIG_ATA_PIIX=y CONFIG_ATA_PIIX=y
CONFIG_SATA_DWC=m
CONFIG_SATA_MV=m CONFIG_SATA_MV=m
CONFIG_SATA_NV=m CONFIG_SATA_NV=m
CONFIG_SATA_PROMISE=m
CONFIG_SATA_SIL=m CONFIG_SATA_SIL=m
CONFIG_SATA_SIS=m CONFIG_SATA_SIS=m
CONFIG_SATA_SVW=m
CONFIG_SATA_ULI=m CONFIG_SATA_ULI=m
CONFIG_SATA_VIA=m CONFIG_SATA_VIA=m
CONFIG_PATA_ALI=m CONFIG_SATA_VITESSE=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_ATA_GENERIC=y
CONFIG_MD=y CONFIG_MD=y
CONFIG_BLK_DEV_MD=y CONFIG_BLK_DEV_MD=y
CONFIG_BLK_DEV_DM=y CONFIG_BLK_DEV_DM=y
CONFIG_DM_MIRROR=y CONFIG_DM_MIRROR=y
CONFIG_DM_RAID=m
CONFIG_DM_ZERO=y CONFIG_DM_ZERO=y
CONFIG_FUSION=y CONFIG_FUSION=y
CONFIG_FUSION_SPI=m CONFIG_FUSION_SPI=m
CONFIG_FUSION_SAS=m CONFIG_FUSION_SAS=m
CONFIG_FUSION_CTL=m CONFIG_FUSION_CTL=m
CONFIG_NETDEVICES=y CONFIG_NETDEVICES=y
CONFIG_NET_TEAM=m
CONFIG_MACVLAN=m CONFIG_MACVLAN=m
CONFIG_IPVLAN=m CONFIG_IPVLAN=m
CONFIG_VXLAN=m CONFIG_VXLAN=m
@@ -298,6 +285,7 @@ CONFIG_QED=m
CONFIG_QEDE=m CONFIG_QEDE=m
CONFIG_QCOM_EMAC=m CONFIG_QCOM_EMAC=m
CONFIG_RMNET=m CONFIG_RMNET=m
CONFIG_R8169=m
CONFIG_SXGBE_ETH=m CONFIG_SXGBE_ETH=m
CONFIG_SFC=m CONFIG_SFC=m
# CONFIG_SFC_MCDI_MON is not set # CONFIG_SFC_MCDI_MON is not set
@@ -371,10 +359,18 @@ CONFIG_AGP=y
CONFIG_AGP_AMD64=y CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y CONFIG_AGP_INTEL=y
CONFIG_DRM=y CONFIG_DRM=y
CONFIG_DRM_I915=m
CONFIG_DRM_VMWGFX=m
CONFIG_DRM_VIRTIO_GPU=m CONFIG_DRM_VIRTIO_GPU=m
CONFIG_FB=y CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y
CONFIG_FB_TILEBLITTING=y
CONFIG_FB_VGA16=m
CONFIG_FB_UVESA=m
CONFIG_FB_VESA=y CONFIG_FB_VESA=y
CONFIG_FB_EFI=y CONFIG_FB_EFI=y
CONFIG_FB_NVIDIA=m
CONFIG_FB_I740=m
CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_CLASS_DEVICE=y
CONFIG_HIDRAW=y CONFIG_HIDRAW=y
CONFIG_HID_GYRATION=y CONFIG_HID_GYRATION=y
@@ -448,7 +444,6 @@ CONFIG_AUTOFS4_FS=y
CONFIG_MSDOS_FS=y CONFIG_MSDOS_FS=y
CONFIG_VFAT_FS=y CONFIG_VFAT_FS=y
CONFIG_PROC_KCORE=y CONFIG_PROC_KCORE=y
CONFIG_TMPFS=y
CONFIG_TMPFS_POSIX_ACL=y CONFIG_TMPFS_POSIX_ACL=y
CONFIG_TMPFS_INODE64=y CONFIG_TMPFS_INODE64=y
CONFIG_HUGETLBFS=y CONFIG_HUGETLBFS=y

View File

@@ -1,5 +1,5 @@
ARPL_VERSION="0.4-alpha4" ARPL_VERSION="0.4-alpha5"
# Define paths # Define paths
TMP_PATH="/tmp" TMP_PATH="/tmp"

View File

@@ -146,3 +146,25 @@ function arrayExistItem() {
done done
return ${EXISTS} return ${EXISTS}
} }
###############################################################################
# Replace/remove/add values in .conf K=V file
# 1 - name
# 2 - new_val
# 3 - path
function _set_conf_kv() {
# Delete
if [ -z "$2" ]; then
sed -i "$3" -e "s/^$1=.*$//"
return $?;
fi
# Replace
if grep -q "^$1=" "$3"; then
sed -i "$3" -e "s\"^$1=.*\"$1=\\\"$2\\\"\""
return $?
fi
# Add if doesn't exist
echo "$1=\"$2\"" >> $3
}

View File

@@ -50,6 +50,17 @@ ln -s "${CACHE_PATH}/ssh" "/etc/ssh"
rm -rf ~/.bash_history rm -rf ~/.bash_history
ln -s ${CACHE_PATH}/.bash_history ~/.bash_history ln -s ${CACHE_PATH}/.bash_history ~/.bash_history
# Check if exists directories into P3 partition, if yes remove and link it
if [ -d "${CACHE_PATH}/model-configs" ]; then
rm -rf "${MODEL_CONFIG_PATH}"
ln -s "${CACHE_PATH}/model-configs" "${MODEL_CONFIG_PATH}"
fi
if [ -d "${CACHE_PATH}/patch" ]; then
rm -rf "${PATCH_PATH}"
ln -s "${CACHE_PATH}/patch" "${PATCH_PATH}"
fi
# Get first MAC address # Get first MAC address
MAC=`ip link show eth0 | awk '/ether/{print$2}'` MAC=`ip link show eth0 | awk '/ether/{print$2}'`
MACF=`echo ${MAC} | sed 's/://g'` MACF=`echo ${MAC} | sed 's/://g'`

View File

@@ -71,6 +71,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -85,3 +86,23 @@ builds:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS1520%2B_42962.pat"
hash: "f19d2ac39fae564797c148929b8fe7c9740ac3a74099bf573b68df8fe0228cb3"
ramdisk-hash: "aad75938d165ef5efdbfc4c570c4cd1cc252344d0756dd3d89a44f581aa6be6f"
zimage-hash: "89ee173272101e6714728e73930d8b31a414f9f1eca8ab78f45c12fc721138ab"
md5-hash: "b7b4a7c7f9160023e1129e4097403828"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -73,6 +73,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -87,3 +88,23 @@ builds:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS1621%2B_42962.pat"
hash: "bd88dfdf1eccdf7fefcdac67e11929818ae3aea938fd13286c1ac7b5aaa3964f"
ramdisk-hash: "7a900e3017b4ee09b792d2ed291b7229476ae3e583fe559bbd9baaa812705aa0"
zimage-hash: "b0f296aad0cc3b8adba13483f89770d0a4daf9b9cab335910717448b1eaa8254"
md5-hash: "b5e6be956385c1b49825517409265a44"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -73,6 +73,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -87,3 +88,23 @@ builds:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS2422%2B_42962.pat"
hash: "a887cc3f06e2b51d34f682a1a812637486aeefbef57c309414f69c3e5514edef"
ramdisk-hash: "edcf0e07e2773326d7f6c2f17a0c2d18e8ef4600a720bbdd4965fc1f11eb21e9"
zimage-hash: "b0f296aad0cc3b8adba13483f89770d0a4daf9b9cab335910717448b1eaa8254"
md5-hash: "97e2f7a56f011d8a7414867ac07d37cb"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -75,6 +75,7 @@ builds:
kver: "3.10.108" kver: "3.10.108"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -90,3 +91,24 @@ builds:
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch" - "ramdisk-42661-disable-disabled-ports.patch"
42962:
ver: "7.1.1"
kver: "3.10.108"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS3615xs_42962.pat"
hash: "b79c129354c203b7340010573d16b2d6ebc6a676c946579a959c891a70b8bcfc"
ramdisk-hash: "e4bdca874027b603a18d7b44cc312f3eb6d6cbf2e49329ef51753fc322d880c0"
zimage-hash: "b7d2ca699195a1990f838690be32a65158d4ed01e8126af2ddb27a0f08e177ca"
md5-hash: "84a8d6d92a7a44c775ff995cac555a19"
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

@@ -76,6 +76,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -91,3 +92,24 @@ builds:
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch" - "ramdisk-42661-disable-disabled-ports.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS3617xs_42962.pat"
hash: "2a556206201df10245dbcf4cf0366b2f32cb318cd705fbdd74412303d85e7267"
ramdisk-hash: "c8d067a9737d67453e0b476d7115c3e12b2daf2450c371c19e44e480a1076a94"
zimage-hash: "8e6da6c3c9259d23ee5cae3c71691a75b0a281551d19cb75041df469c7524e72"
md5-hash: "3e034e2cdf90209112e0fdad28474970"
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

@@ -78,6 +78,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -93,3 +94,24 @@ builds:
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch" - "ramdisk-42661-disable-disabled-ports.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS3622xs%2B_42962.pat"
hash: "b48aadaba7ff561b7d55aa9ed75f1f2f4c49c0c2f73ece4020f3ffd08f6bbfd0"
ramdisk-hash: "432f315818adad4e1ca54040557e164caf2937004e2d009aac8865391353e2f6"
zimage-hash: "8903dc99f7201c8656de618d767c05f91bfd32edd9a3706a50fd223237842bf2"
md5-hash: "1bf63db06cbc048befc24f277dd520f3"
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

@@ -79,6 +79,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -94,3 +95,24 @@ builds:
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch" - "ramdisk-42661-disable-disabled-ports.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS918%2B_42962.pat"
hash: "c1ffb1b48301fbcf1ccffae00062e95c8b5b18d50a70c3fbb79ea12a38a39bb7"
ramdisk-hash: "6ac446bddba53b1c215e0abbf05236371e5e3b91ab0c4c193a0999cc8b8a857b"
zimage-hash: "12afcd27e15ba5e4596e1af7275d9462d31c7d8afb32aa723f7b8b7cfa5a19a2"
md5-hash: "74c067cf1363b9b70522b145b59e1626"
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

@@ -73,6 +73,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -87,3 +88,23 @@ builds:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS920%2B_42962.pat"
hash: "90b1bd215b85eb366b3d3b6bef6bb6bef657dd0caba032dae556717b58e44c06"
ramdisk-hash: "42053cbfbce34d43c50db2d68786360f644fc88af3e9bbaa6377ffa9953bf158"
zimage-hash: "89ee173272101e6714728e73930d8b31a414f9f1eca8ab78f45c12fc721138ab"
md5-hash: "ba9fbd499791d19859dd9a53372b016a"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -55,6 +55,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -69,3 +70,23 @@ builds:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DVA1622_42962.pat"
hash: "9106f6bcc52b4bc2b4ce82748788ca353ddecf8b7552e7c6fb477eb4eca42e67"
ramdisk-hash: "e610146b475074cb1835c7a2528afd0cba389cfa68b8a3ef20214b48ddca78dc"
zimage-hash: "89ee173272101e6714728e73930d8b31a414f9f1eca8ab78f45c12fc721138ab"
md5-hash: "862ef2fffc884038bd3804439b974ab9"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -79,6 +79,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -94,3 +95,24 @@ builds:
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch" - "ramdisk-42661-disable-disabled-ports.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DVA3219_42962.pat"
hash: "f03395fd9db108d2c5a684b6ba9b4fadc6b1ab05c4e227d401572c01ec4b3dca"
ramdisk-hash: "8a36c36096dfc9dd5bbd572a6174719c5018fe5d932a4859832025719abac4fc"
zimage-hash: "3c67cefc969ee3de51b7978b8d86cd53cbb0e49ec43b2240bf9b8aad3f2e2200"
md5-hash: "22f43fb4de401436616f943beaf13bd5"
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

@@ -77,6 +77,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -92,3 +93,24 @@ builds:
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch" - "ramdisk-42661-disable-disabled-ports.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DVA3221_42962.pat"
hash: "d83044ff12c9ed81c5e7f5ba4b23b68d96c9a40c29a6a9e5c53ad807d1e27ed2"
ramdisk-hash: "7ecb774bfccde028d456613c7232b1d770526ea37e928bf90badac267bafcd78"
zimage-hash: "3c67cefc969ee3de51b7978b8d86cd53cbb0e49ec43b2240bf9b8aad3f2e2200"
md5-hash: "cff2b34f0d9547781da3cf66e161dc3f"
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

@@ -71,6 +71,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -85,3 +86,23 @@ builds:
- "ramdisk-common-disable-root-pwd.patch" - "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_FS2500_42962.pat"
hash: "1adc272ba9f308866dc69a8f550d4511966a1156c553f925be167815046a5ab4"
ramdisk-hash: "9efc0351212d36e5a51542bff9b2f173beb913c5be3eaaeec1e78625d62763cb"
zimage-hash: "b0f296aad0cc3b8adba13483f89770d0a4daf9b9cab335910717448b1eaa8254"
md5-hash: "3647d21771fe9be4a3898f95491e9393"
patch:
- "ramdisk-common-disable-root-pwd.patch"
- "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch"

View File

@@ -74,6 +74,7 @@ builds:
kver: "4.4.180" kver: "4.4.180"
rd-compressed: false rd-compressed: false
efi-bug: no efi-bug: no
rc: true
cmdline: cmdline:
<<: *cmdline <<: *cmdline
synoinfo: synoinfo:
@@ -89,3 +90,24 @@ builds:
- "ramdisk-common-init-script.patch" - "ramdisk-common-init-script.patch"
- "ramdisk-42951-post-init-script.patch" - "ramdisk-42951-post-init-script.patch"
- "ramdisk-42661-disable-disabled-ports.patch" - "ramdisk-42661-disable-disabled-ports.patch"
42962:
ver: "7.1.1"
kver: "4.4.180"
rd-compressed: false
efi-bug: no
cmdline:
<<: *cmdline
synoinfo:
<<: *synoinfo
pat:
url: "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_RS4021xs%2B_42962.pat"
hash: "fd848be9336d8b5cc9b514e71d447c7612d0f542d373eef61a6d427430daa931"
ramdisk-hash: "40775a6b9b4fae2887cd07c0efdfb26e738e2b8de73602657f7bc4407ae4a688"
zimage-hash: "8903dc99f7201c8656de618d767c05f91bfd32edd9a3706a50fd223237842bf2"
md5-hash: "c8574a8e358fe40a7b49bbf1ddf38491"
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

@@ -46,7 +46,7 @@ declare -A ADDONS
# Read synoinfo and addons from config # Read synoinfo and addons from config
while IFS="=" read KEY VALUE; do while IFS="=" read KEY VALUE; do
[ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}" [ -n "${KEY}" ] && SYNOINFO["${KEY}"]="${VALUE}"
done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}") done < <(readConfigMap "synoinfo" "${USER_CONFIG_FILE}")
while IFS="=" read KEY VALUE; do while IFS="=" read KEY VALUE; do
[ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}" [ -n "${KEY}" ] && ADDONS["${KEY}"]="${VALUE}"
@@ -62,7 +62,7 @@ done < <(readModelArray "${MODEL}" "builds.${BUILD}.patch")
# Patch /etc/synoinfo.conf # Patch /etc/synoinfo.conf
echo -n "." echo -n "."
for KEY in ${!SYNOINFO[@]}; do for KEY in ${!SYNOINFO[@]}; do
sed -i "s|^${KEY}=.*|${KEY}=\"${SYNOINFO[${KEY}]}\"|" "${RAMDISK_PATH}/etc/synoinfo.conf" >"${LOG_FILE}" 2>&1 || dieLog _set_conf_kv "${KEY}" "${SYNOINFO[${KEY}]}" "${RAMDISK_PATH}/etc/synoinfo.conf" >"${LOG_FILE}" 2>&1 || dieLog
done done
# Patch /sbin/init.post # Patch /sbin/init.post

View File

@@ -61,5 +61,5 @@ BR2_TARGET_ROOTFS_CPIO_XZ=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_E2FSPROGS=y
BR2_PACKAGE_HOST_MKPASSWD=y BR2_PACKAGE_HOST_MKPASSWD=y
BR2_PACKAGE_R8168=y BR2_PACKAGE_R8168=n
BR2_PACKAGE_R8125=y BR2_PACKAGE_R8125=y

91
make_rsss.sh Executable file
View File

@@ -0,0 +1,91 @@
#!/usr/bin/env bash
set -e
MODEL_CONFIG_PATH="./files/board/arpl/overlayfs/opt/arpl/model-configs"
RELEASE="7.1.1"
BUILDNUMBER="42962"
EXTRA=""
function readConfigKey() {
RESULT=`yq eval '.'${1}' | explode(.)' "${2}"`
[ "${RESULT}" == "null" ] && echo "" || echo ${RESULT}
}
function readModelKey() {
readConfigKey "${2}" "${MODEL_CONFIG_PATH}/${1}.yml"
}
# JSON
cat <<EOF
{
"title": "DSM ${RELEASE}-${BUILDNUMBER}",
"MajorVer": ${RELEASE:0:1},
"MinorVer": ${RELEASE:2:1},
"NanoVer": ${RELEASE:4:1},
"BuildPhase": 0,
"BuildNum": ${BUILDNUMBER},
"BuildDate": "2022/08/01",
"ReqMajorVer": 7,
"ReqMinorVer": 1,
"ReqBuildPhase": 0,
"ReqBuildNum": 41890,
"ReqBuildDate": "2021/06/25",
"isSecurityVersion": false,
"model": [
EOF
while read M; do
M="`basename ${M}`"
M="${M::-4}"
UNIQUE=`readModelKey "${M}" "unique"`
URL=`readModelKey "${M}" "builds.${BUILDNUMBER}.pat.url"`
HASH=`readModelKey "${M}" "builds.${BUILDNUMBER}.pat.md5-hash"`
cat <<EOF
{
"mUnique": "${UNIQUE}",
"mLink": "${URL}",
"mCheckSum": "${HASH}"
},
EOF
done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort)
cat <<EOF
]
},
EOF
# XML
cat <<EOF
<item>
<title>DSM ${RELEASE}-${BUILDNUMBER}</title>
<MajorVer>${RELEASE:0:1}</MajorVer>
<MinorVer>${RELEASE:2:1}</MinorVer>
<BuildPhase>${RELEASE:4:1}</BuildPhase>
<BuildNum>${BUILDNUMBER}</BuildNum>
<BuildDate>2022/08/01</BuildDate>
<ReqMajorVer>7</ReqMajorVer>
<ReqMinorVer>0</ReqMinorVer>
<ReqBuildPhase>0</ReqBuildPhase>
<ReqBuildNum>41890</ReqBuildNum>
<ReqBuildDate>2021/06/25</ReqBuildDate>
EOF
while read M; do
M="`basename ${M}`"
M="${M::-4}"
UNIQUE=`readModelKey "${M}" "unique"`
URL=`readModelKey "${M}" "builds.${BUILDNUMBER}.pat.url"`
HASH=`readModelKey "${M}" "builds.${BUILDNUMBER}.pat.md5-hash"`
cat <<EOF
<model>
<mUnique>${UNIQUE}</mUnique>
<mLink>${URL}</mLink>
<mCheckSum>${HASH}</mCheckSum>
</model>
EOF
done < <(find "${MODEL_CONFIG_PATH}" -maxdepth 1 -name \*.yml | sort)
cat <<EOF
</item>
EOF

View File

@@ -19,25 +19,26 @@ KVERS["DVA3221"]="4.4.180"
KVERS["FS2500"]="4.4.180" KVERS["FS2500"]="4.4.180"
KVERS["RS4021xs+"]="4.4.180" KVERS["RS4021xs+"]="4.4.180"
RELEASE="7.1.1" RELEASE="7.1.1"
BUILDNUMBER="42951" BUILDNUMBER="42962"
EXTRA="" EXTRA=""
for MODEL in DS918+ DS920+ DS1520+ DS1621+ DS2422+ DS3615xs DS3617xs DS3622xs+ DVA1622 DVA3221 DVA3219 FS2500 RS4021xs+; do 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'` 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" URL="https://global.download.synology.com/download/DSM/release/${RELEASE}/${BUILDNUMBER}${EXTRA}/DSM_${MODEL_CODED}_${BUILDNUMBER}.pat"
#URL="https://archive.synology.com/download/Os/DSM/${RELEASE}-${BUILDNUMBER}/DSM_${MODEL_CODED}_${BUILDNUMBER}.pat"
FILENAME="${MODEL}-${BUILDNUMBER}.pat" FILENAME="${MODEL}-${BUILDNUMBER}.pat"
FILEPATH="/tmp/${FILENAME}" FILEPATH="/tmp/${FILENAME}"
echo -n "Checking ${MODEL}... " echo -n "Checking ${MODEL}... "
if [ -f ${FILEPATH} ]; then if [ -f ${FILEPATH} ]; then
echo "cached" echo "cached"
else else
STATUS=`curl -s -o /dev/null -w "%{http_code}" -L "${URL}"` echo "no cached, downloading..."
if [ ${STATUS} -ne 200 ]; then fi
echo "error: HTTP status = ${STATUS}" STATUS=`curl --progress-bar -o ${FILEPATH} -w "%{http_code}" -L "${URL}"`
continue if [ ${STATUS} -ne 200 ]; then
fi echo "error: HTTP status = ${STATUS}"
echo "ok, download it." rm -f ${FILEPATH}
curl --progress-bar -C - -L "${URL}" -o ${FILEPATH} continue
fi fi
echo "Calculating md5:" echo "Calculating md5:"
PAT_MD5=`md5sum ${FILEPATH} | awk '{print$1}'` PAT_MD5=`md5sum ${FILEPATH} | awk '{print$1}'`

View File

@@ -6,6 +6,88 @@
"pubDate": "Sat Aug 6 0:18:39 CST 2022", "pubDate": "Sat Aug 6 0:18:39 CST 2022",
"copyright": "Copyright 2022 Synology Inc", "copyright": "Copyright 2022 Synology Inc",
"item": [ "item": [
{
"title": "DSM 7.1.1-42962",
"MajorVer": 7,
"MinorVer": 1,
"NanoVer": 1,
"BuildPhase": 0,
"BuildNum": 42962,
"BuildDate": "2022/08/01",
"ReqMajorVer": 7,
"ReqMinorVer": 1,
"ReqBuildPhase": 0,
"ReqBuildNum": 41890,
"ReqBuildDate": "2021/06/25",
"isSecurityVersion": false,
"model": [
{
"mUnique": "synology_geminilake_1520+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS1520%2B_42962.pat",
"mCheckSum": "b7b4a7c7f9160023e1129e4097403828"
},
{
"mUnique": "synology_v1000_1621+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS1621%2B_42962.pat",
"mCheckSum": "b5e6be956385c1b49825517409265a44"
},
{
"mUnique": "synology_v1000_2422+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS2422%2B_42962.pat",
"mCheckSum": "97e2f7a56f011d8a7414867ac07d37cb"
},
{
"mUnique": "synology_bromolow_3615xs",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS3615xs_42962.pat",
"mCheckSum": "84a8d6d92a7a44c775ff995cac555a19"
},
{
"mUnique": "synology_broadwell_3617xs",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS3617xs_42962.pat",
"mCheckSum": "3e034e2cdf90209112e0fdad28474970"
},
{
"mUnique": "synology_broadwellnk_3622xs+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS3622xs%2B_42962.pat",
"mCheckSum": "1bf63db06cbc048befc24f277dd520f3"
},
{
"mUnique": "synology_apollolake_918+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS918%2B_42962.pat",
"mCheckSum": "74c067cf1363b9b70522b145b59e1626"
},
{
"mUnique": "synology_geminilake_920+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS920%2B_42962.pat",
"mCheckSum": "ba9fbd499791d19859dd9a53372b016a"
},
{
"mUnique": "synology_geminilake_dva1622",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DVA1622_42962.pat",
"mCheckSum": "862ef2fffc884038bd3804439b974ab9"
},
{
"mUnique": "synology_denverton_dva3219",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DVA3219_42962.pat",
"mCheckSum": "22f43fb4de401436616f943beaf13bd5"
},
{
"mUnique": "synology_denverton_dva3221",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DVA3221_42962.pat",
"mCheckSum": "cff2b34f0d9547781da3cf66e161dc3f"
},
{
"mUnique": "synology_v1000_fs2500",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_FS2500_42962.pat",
"mCheckSum": "3647d21771fe9be4a3898f95491e9393"
},
{
"mUnique": "synology_broadwellnk_rs4021xs+",
"mLink": "https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_RS4021xs%2B_42962.pat",
"mCheckSum": "c8574a8e358fe40a7b49bbf1ddf38491"
}
]
},
{ {
"title": "DSM 7.1.1-42951", "title": "DSM 7.1.1-42951",
"MajorVer": 7, "MajorVer": 7,

78
rss.xml
View File

@@ -5,6 +5,84 @@
<link>http://update.synology.com/autoupdate/genRSS.php</link> <link>http://update.synology.com/autoupdate/genRSS.php</link>
<pubDate>Sat Aug 6 0:11:41 CST 2022</pubDate> <pubDate>Sat Aug 6 0:11:41 CST 2022</pubDate>
<copyright>Copyright 2022 Synology Inc</copyright> <copyright>Copyright 2022 Synology Inc</copyright>
<item>
<title>DSM 7.1.1-42962</title>
<MajorVer>7</MajorVer>
<MinorVer>1</MinorVer>
<BuildPhase>1</BuildPhase>
<BuildNum>42962</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_geminilake_1520+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS1520%2B_42962.pat</mLink>
<mCheckSum>b7b4a7c7f9160023e1129e4097403828</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_1621+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS1621%2B_42962.pat</mLink>
<mCheckSum>b5e6be956385c1b49825517409265a44</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_2422+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS2422%2B_42962.pat</mLink>
<mCheckSum>97e2f7a56f011d8a7414867ac07d37cb</mCheckSum>
</model>
<model>
<mUnique>synology_bromolow_3615xs</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS3615xs_42962.pat</mLink>
<mCheckSum>84a8d6d92a7a44c775ff995cac555a19</mCheckSum>
</model>
<model>
<mUnique>synology_broadwell_3617xs</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS3617xs_42962.pat</mLink>
<mCheckSum>3e034e2cdf90209112e0fdad28474970</mCheckSum>
</model>
<model>
<mUnique>synology_broadwellnk_3622xs+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS3622xs%2B_42962.pat</mLink>
<mCheckSum>1bf63db06cbc048befc24f277dd520f3</mCheckSum>
</model>
<model>
<mUnique>synology_apollolake_918+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS918%2B_42962.pat</mLink>
<mCheckSum>74c067cf1363b9b70522b145b59e1626</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_920+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DS920%2B_42962.pat</mLink>
<mCheckSum>ba9fbd499791d19859dd9a53372b016a</mCheckSum>
</model>
<model>
<mUnique>synology_geminilake_dva1622</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DVA1622_42962.pat</mLink>
<mCheckSum>862ef2fffc884038bd3804439b974ab9</mCheckSum>
</model>
<model>
<mUnique>synology_denverton_dva3219</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DVA3219_42962.pat</mLink>
<mCheckSum>22f43fb4de401436616f943beaf13bd5</mCheckSum>
</model>
<model>
<mUnique>synology_denverton_dva3221</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_DVA3221_42962.pat</mLink>
<mCheckSum>cff2b34f0d9547781da3cf66e161dc3f</mCheckSum>
</model>
<model>
<mUnique>synology_v1000_fs2500</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_FS2500_42962.pat</mLink>
<mCheckSum>3647d21771fe9be4a3898f95491e9393</mCheckSum>
</model>
<model>
<mUnique>synology_broadwellnk_rs4021xs+</mUnique>
<mLink>https://global.download.synology.com/download/DSM/release/7.1.1/42962/DSM_RS4021xs%2B_42962.pat</mLink>
<mCheckSum>c8574a8e358fe40a7b49bbf1ddf38491</mCheckSum>
</model>
</item>
<item> <item>
<title>DSM 7.1.1-42951</title> <title>DSM 7.1.1-42951</title>
<MajorVer>7</MajorVer> <MajorVer>7</MajorVer>