Skip to content

Commit

Permalink
add SRM 1.3 toolchains (#6318)
Browse files Browse the repository at this point in the history
* add SRM 1.3 toolchains
- add toolchains extracted from toolkit from Synology downloads
- hawkeye is an early release and seems incorrect

* add SRM 1.3 to new build matrix

* build.yml: limit manual build to 10 input fields

* fix Makefile of armv7-1.3 toolchain

* fix check for required SRM versions

* add remarks for hawkeye-1.3 toolchain

* kernel version of cypress-1.3 verified
  • Loading branch information
hgy59 authored Jan 13, 2025
1 parent 8aab04e commit 813d86f
Show file tree
Hide file tree
Showing 15 changed files with 154 additions and 14 deletions.
28 changes: 16 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,23 +3,15 @@ name: Build
on:
workflow_dispatch:
inputs:
package:
description: 'Package to build'
required: true
default: 'adminer'
publish:
description: 'Publish to repository'
required: false
default: false
type: boolean
# Add a separator as a non-input description
build_settings_description:
description: 'Build Settings (archs to include):'
required: false
default: ''
type: choice
options:
- '---'
package:
description: 'Package to build'
required: true
default: 'adminer'
add_noarch_builds:
description: 'Include noarch packages'
required: false
Expand Down Expand Up @@ -50,6 +42,11 @@ on:
required: false
default: false
type: boolean
add_srm13_builds:
description: 'Include SRM 1.3 archs'
required: false
default: false
type: boolean
add_srm12_builds:
description: 'Include SRM 1.2 archs'
required: false
Expand Down Expand Up @@ -141,6 +138,7 @@ jobs:
add_dsm71_builds=${{ github.event.inputs.add_dsm71_builds || 'false' }}
add_dsm62_builds=${{ github.event.inputs.add_dsm62_builds || 'false' }}
add_dsm52_builds=${{ github.event.inputs.add_dsm52_builds || 'false' }}
add_srm13_builds=${{ github.event.inputs.add_srm13_builds || 'false' }}
add_srm12_builds=${{ github.event.inputs.add_srm12_builds || 'false' }}
has_noarch_packages=$([ -n "${{ needs.prepare.outputs.noarch_packages }}" ] && echo "true" || echo "false")
has_arch_packages=$([ -n "${{ needs.prepare.outputs.arch_packages }}" ] && echo "true" || echo "false")
Expand Down Expand Up @@ -219,6 +217,12 @@ jobs:
add_to_matrix "ppc853x-5.2"
fi
# Add SRM 1.3 builds
if [ "$add_srm13_builds" == "true" ]; then
add_to_matrix "aarch64-1.3"
add_to_matrix "armv7-1.3"
fi
# Add SRM 1.2 builds
if [ "$add_srm12_builds" == "true" ]; then
add_to_matrix "armv7-1.2"
Expand Down
8 changes: 6 additions & 2 deletions mk/spksrc.archs.mk
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ 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
# required in spksrc.pre-check.mk
SRM_ARCHS = $(SRM_ARMv7_ARCHS) $(SRM_ARMv8_ARCHS)

# 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 +36,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
19 changes: 19 additions & 0 deletions toolchain/syno-armv7-1.3/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
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_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
16 changes: 16 additions & 0 deletions toolchain/syno-cypress-1.3/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
TC_ARCH = cypress
TC_VERS = 1.3
TC_TYPE = SRM
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
24 changes: 24 additions & 0 deletions toolchain/syno-hawkeye-1.3/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
TC_ARCH = hawkeye
TC_VERS = 1.3
TC_TYPE = SRM
# TODO: validate kernel version
TC_KERNEL = 4.4.60
TC_GLIBC = 2.32

# REMARKS:
# This toolchain seems to be broken.
#
# The toolchain is extracted from ds.hawkeye-1.3.env.tgz provided by Synology.
# Qualcomm Hawkeye IPQ8071A CPU is an ARM 64-bit cpu (4x ARM Cortex A53),
# but the toolchain is armv7 (32-bit) (binary the same as syno-dakota-1.3)
#

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 813d86f

Please sign in to comment.