Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add SRM 1.3 toolchains #6318

Merged
merged 9 commits into from
Jan 13, 2025
Merged
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 16 additions & 12 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -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
@@ -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
@@ -136,6 +133,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")
@@ -214,6 +212,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"
5 changes: 3 additions & 2 deletions mk/spksrc.archs.mk
Original file line number Diff line number Diff line change
@@ -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)
@@ -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
4 changes: 4 additions & 0 deletions mk/spksrc.tc-vers.mk
Original file line number Diff line number Diff line change
@@ -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
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
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shouldn't it also contain all archs such as: northstarplus ipq806x dakota hawkeye ?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

northstarplus is not supported (limited to SRM 1.2)
and hawkeye is a mess: the cpu is aarch64 but the toolchain is binary the same as dakota, therefor I didn't add it to a generic arch yet.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would you mind adding a comment? at least for hawkeye to avoid confusion later-on?

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