Skip to content

Commit

Permalink
add SRM 1.3 toolchains
Browse files Browse the repository at this point in the history
- add toolchains extracted from toolkit from Synology downloads
- add SRM 1.3 to build matrix
- hawkeye is an early release and seems incorrect (router model WRX560 not yet released)
  • Loading branch information
hgy59 committed Nov 14, 2024
1 parent e5a3cc4 commit 1e75c51
Show file tree
Hide file tree
Showing 15 changed files with 144 additions and 2 deletions.
15 changes: 15 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,14 @@ on:
options:
- 'true'
- 'false'
add_srm13_builds:
description: 'Include SRM 1.3 archs'
required: false
default: 'false'
type: choice
options:
- 'true'
- 'false'
add_srm12_builds:
description: 'Include SRM 1.2 archs'
required: false
Expand Down Expand Up @@ -89,6 +97,7 @@ jobs:
add_dsm71_builds: ${{ steps.set-defaults.outputs.add_dsm71_builds }}
add_dsm62_builds: ${{ steps.set-defaults.outputs.add_dsm62_builds }}
add_dsm52_builds: ${{ steps.set-defaults.outputs.add_dsm52_builds }}
add_srm13_builds: ${{ steps.set-defaults.outputs.add_srm13_builds }}
add_srm12_builds: ${{ steps.set-defaults.outputs.add_srm12_builds }}
steps:
- name: Checkout repository
Expand Down Expand Up @@ -127,6 +136,7 @@ jobs:
echo "add_dsm71_builds=${{ github.event.inputs.add_dsm71_builds || steps.dependencies.outputs.has_arch_packages }}" >> $GITHUB_OUTPUT
echo "add_dsm62_builds=${{ github.event.inputs.add_dsm62_builds || steps.dependencies.outputs.has_arch_packages }}" >> $GITHUB_OUTPUT
echo "add_dsm52_builds=${{ github.event.inputs.add_dsm52_builds || 'false' }}" >> $GITHUB_OUTPUT
echo "add_srm13_builds=${{ github.event.inputs.add_srm12_builds || 'false' }}" >> $GITHUB_OUTPUT
echo "add_srm12_builds=${{ github.event.inputs.add_srm12_builds || 'false' }}" >> $GITHUB_OUTPUT
- name: Cache downloaded files
Expand Down Expand Up @@ -158,6 +168,7 @@ jobs:
add_dsm71_builds=${{ needs.prepare.outputs.add_dsm71_builds }}
add_dsm62_builds=${{ needs.prepare.outputs.add_dsm62_builds }}
add_dsm52_builds=${{ needs.prepare.outputs.add_dsm52_builds }}
add_srm13_builds=${{ needs.prepare.outputs.add_srm13_builds }}
add_srm12_builds=${{ needs.prepare.outputs.add_srm12_builds }}
# Create matrix as a JSON object
Expand Down Expand Up @@ -195,6 +206,10 @@ jobs:
matrix+='{"arch": "88f6281-5.2"},'
matrix+='{"arch": "ppc853x-5.2"},'
fi
if [ "$add_srm13_builds" == "true" ]; then
matrix+='{"arch": "aarch64-1.3"},'
matrix+='{"arch": "armv7-1.3"},'
fi
if [ "$add_srm12_builds" == "true" ]; then
matrix+='{"arch": "armv7-1.2"},'
fi
Expand Down
5 changes: 3 additions & 2 deletions mk/spksrc.archs.mk
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ endif

# Distinct SRM and DSM archs to allow handling of different TCVERSION ranges.
# SRM - Synology Router Manager
SRM_ARMv7_ARCHS = northstarplus ipq806x dakota
SRM_ARMv7_ARCHS = northstarplus ipq806x dakota hawkeye
SRM_ARMv8_ARCHS = cypress
# DSM - all ARMv7 except SRM specific archs
DSM_ARMv7_ARCHS = alpine alpine4k armada370 armada375 armada38x armadaxp monaco
# comcerto2k is the only ARMv7 arch that uses an GCC (4.9.3) and GLIBC (2.20)
Expand All @@ -32,7 +33,7 @@ ARMv5_ARCHS = 88f6281
ARMv7_ARCHS = $(GENERIC_ARMv7_ARCH) $(DSM_ARMv7_ARCHS) $(SRM_ARMv7_ARCHS)
# hi3535 is not supported by generic ARMv7 arch
ARMv7L_ARCHS = hi3535
ARMv8_ARCHS = $(GENERIC_ARMv8_ARCH) rtd1296 rtd1619b armada37xx
ARMv8_ARCHS = $(GENERIC_ARMv8_ARCH) $(SRM_ARMv8_ARCHS) rtd1296 rtd1619b armada37xx
ARM_ARCHS = $(ARMv5_ARCHS) $(ARMv7_ARCHS) $(ARMv7L_ARCHS) $(ARMv8_ARCHS)

PPC_ARCHS = powerpc ppc824x ppc853x ppc854x qoriq
Expand Down
4 changes: 4 additions & 0 deletions mk/spksrc.tc-vers.mk
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,10 @@ ifeq ($(TC_VERS),1.2)
TC_BUILD = 7742
endif

ifeq ($(TC_VERS),1.3)
TC_BUILD = 9193
endif

ifeq ($(TC_VERS),4.0)
TC_BUILD = 2198
endif
Expand Down
19 changes: 19 additions & 0 deletions toolchain/syno-aarch64-1.3/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
TC_NAME = syno-aarch64

TC_ARCH = cypress
TC_VERS = 1.3
TC_TYPE = SRM
# TODO: validate kernel version
TC_KERNEL = 4.4.60
TC_GLIBC = 2.32

TC_DIST = cypress-gcc1030_glibc232_srm-1.3
TC_EXT = tar.xz
TC_DIST_SITE_URL = https://github.com/SynoCommunity/spksrc/releases/download/
TC_DIST_SITE_PATH = toolchains%2Fsrm1.3

TC_TARGET = aarch64-unknown-linux-gnu
TC_SYSROOT = $(TC_TARGET)/sysroot
TC_EXTRA_CFLAGS = -march=armv8-a -mcpu=cortex-a53+crypto

include ../../mk/spksrc.tc.mk
3 changes: 3 additions & 0 deletions toolchain/syno-aarch64-1.3/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
cypress-gcc1030_glibc232_srm-1.3.tar.xz SHA1 911984ee0fb2b74d73ee4bf3d061c04c71de0548
cypress-gcc1030_glibc232_srm-1.3.tar.xz SHA256 9674ad17852b7d959551c5402b5d396cf5d9111650ab903b79b7b2053b269a22
cypress-gcc1030_glibc232_srm-1.3.tar.xz MD5 90512b5e3644406af8ce15b0ff444b4d
20 changes: 20 additions & 0 deletions toolchain/syno-armv7-1.3/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
TC_NAME = syno-armv7

# generic toolchain for arm7hf SRM
TC_ARCH = ipq806x dakota
TC_VERS = 1.3
TC_TYPE = SRM
TC_KERNEL = 4.4.60
TC_GLIBC = 2.32

TC_DIST = ipq806x-gcc1030_glibc232_srm-1.3
TC_EXT = tar.xz
TC_DIST_SITE_URL = https://github.com/SynoCommunity/spksrc/releases/download/
TC_DIST_SITE_PATH = toolchains%2Fsrm1.3
TC_DIST_FILE = ipq806x-$(TC_DIST_NAME)

TC_TARGET = arm-unknown-linux-gnueabi
TC_SYSROOT = $(TC_TARGET)/sysroot
TC_EXTRA_CFLAGS = -mhard-float -mfpu=vfpv3-d16 -march=armv7-a -mtune=cortex-a9

include ../../mk/spksrc.tc.mk
3 changes: 3 additions & 0 deletions toolchain/syno-armv7-1.3/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ipq806x-gcc1030_glibc232_srm-1.3.tar.xz SHA1 16e65e2c894624209eef5c28fe2355cad45fa208
ipq806x-gcc1030_glibc232_srm-1.3.tar.xz SHA256 dca25911415d575be5f6746371d3483321727bf6e43d50913b8996b502603030
ipq806x-gcc1030_glibc232_srm-1.3.tar.xz MD5 262155161fbbb4d9149a72619d0f681a
17 changes: 17 additions & 0 deletions toolchain/syno-cypress-1.3/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
TC_ARCH = cypress
TC_VERS = 1.3
TC_TYPE = SRM
# TODO: validate kernel version
TC_KERNEL = 4.4.60
TC_GLIBC = 2.32

TC_DIST = cypress-gcc1030_glibc232_srm-1.3
TC_EXT = tar.xz
TC_DIST_SITE_URL = https://github.com/SynoCommunity/spksrc/releases/download/
TC_DIST_SITE_PATH = toolchains%2Fsrm1.3

TC_TARGET = aarch64-unknown-linux-gnu
TC_SYSROOT = $(TC_TARGET)/sysroot
TC_EXTRA_CFLAGS = -march=armv8-a -mcpu=cortex-a53+crypto

include ../../mk/spksrc.tc.mk
3 changes: 3 additions & 0 deletions toolchain/syno-cypress-1.3/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
cypress-gcc1030_glibc232_srm-1.3.tar.xz SHA1 911984ee0fb2b74d73ee4bf3d061c04c71de0548
cypress-gcc1030_glibc232_srm-1.3.tar.xz SHA256 9674ad17852b7d959551c5402b5d396cf5d9111650ab903b79b7b2053b269a22
cypress-gcc1030_glibc232_srm-1.3.tar.xz MD5 90512b5e3644406af8ce15b0ff444b4d
16 changes: 16 additions & 0 deletions toolchain/syno-dakota-1.3/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
TC_ARCH = dakota
TC_VERS = 1.3
TC_TYPE = SRM
TC_KERNEL = 4.4.60
TC_GLIBC = 2.32

TC_DIST = dakota-gcc1030_glibc232_srm-1.3
TC_EXT = tar.xz
TC_DIST_SITE_URL = https://github.com/SynoCommunity/spksrc/releases/download/
TC_DIST_SITE_PATH = toolchains%2Fsrm1.3

TC_TARGET = arm-unknown-linux-gnueabi
TC_SYSROOT = $(TC_TARGET)/sysroot
TC_EXTRA_CFLAGS = -mhard-float -mfpu=vfpv3-d16 -march=armv7-a

include ../../mk/spksrc.tc.mk
3 changes: 3 additions & 0 deletions toolchain/syno-dakota-1.3/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
dakota-gcc1030_glibc232_srm-1.3.tar.xz SHA1 4149ea4426ae1c020fb72b53d9f94dc38d506d7d
dakota-gcc1030_glibc232_srm-1.3.tar.xz SHA256 20c5beab10ee944e40a81ead9ce52c6b79e47cdadceb0c475078677ae7118a80
dakota-gcc1030_glibc232_srm-1.3.tar.xz MD5 84395d6951f57173f8456c885c90ec6a
16 changes: 16 additions & 0 deletions toolchain/syno-hawkeye-1.3/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
TC_ARCH = hawkeye
TC_VERS = 1.3
TC_TYPE = SRM
# TODO: validate kernel version
TC_KERNEL = 4.4.60
TC_GLIBC = 2.32

TC_DIST = hawkeye-gcc1030_glibc232_srm-1.3
TC_EXT = tar.xz
TC_DIST_SITE_URL = https://github.com/SynoCommunity/spksrc/releases/download/
TC_DIST_SITE_PATH = toolchains%2Fsrm1.3

TC_TARGET = arm-unknown-linux-gnueabi
TC_SYSROOT = $(TC_TARGET)/sysroot

include ../../mk/spksrc.tc.mk
3 changes: 3 additions & 0 deletions toolchain/syno-hawkeye-1.3/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
hawkeye-gcc1030_glibc232_srm-1.3.tar.xz SHA1 4604bc90701910e02ee6531655abb8dfe8359f05
hawkeye-gcc1030_glibc232_srm-1.3.tar.xz SHA256 797a232dc3f30389f80609dd8047e92bcee70e48f51bb92b73672aa582233458
hawkeye-gcc1030_glibc232_srm-1.3.tar.xz MD5 c9b9bbf8fc59798030df8ae4608ca2a6
16 changes: 16 additions & 0 deletions toolchain/syno-ipq806x-1.3/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
TC_ARCH = ipq806x
TC_VERS = 1.3
TC_TYPE = SRM
TC_KERNEL = 4.4.60
TC_GLIBC = 2.32

TC_DIST = ipq806x-gcc1030_glibc232_srm-1.3
TC_EXT = tar.xz
TC_DIST_SITE_URL = https://github.com/SynoCommunity/spksrc/releases/download/
TC_DIST_SITE_PATH = toolchains%2Fsrm1.3

TC_TARGET = arm-unknown-linux-gnueabi
TC_SYSROOT = $(TC_TARGET)/sysroot
TC_EXTRA_CFLAGS = -mhard-float -mfpu=vfpv3-d16 -march=armv7-a -mtune=cortex-a9

include ../../mk/spksrc.tc.mk
3 changes: 3 additions & 0 deletions toolchain/syno-ipq806x-1.3/digests
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ipq806x-gcc1030_glibc232_srm-1.3.tar.xz SHA1 16e65e2c894624209eef5c28fe2355cad45fa208
ipq806x-gcc1030_glibc232_srm-1.3.tar.xz SHA256 dca25911415d575be5f6746371d3483321727bf6e43d50913b8996b502603030
ipq806x-gcc1030_glibc232_srm-1.3.tar.xz MD5 262155161fbbb4d9149a72619d0f681a

0 comments on commit 1e75c51

Please sign in to comment.