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

add SRM 1.3 toolchains #6318

merged 9 commits into from
Jan 13, 2025

Conversation

hgy59
Copy link
Contributor

@hgy59 hgy59 commented Nov 14, 2024

Description

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

Fixes #5402

Update lua package to trigger a build workflow...

Remarks

  • hawkey (router model WRX560) is suggested not to work

    • the CPU should be aarch64 like cypress but the toolchain file hawkeye-1.3 is binary the same as dakota-1.3 for armv7
  • some kernel- and glibc-versions have to be veryfied - those are not documented in the toolkit (content/name) like all DSM toolkits.

  • the toolchains are availabel under https://github.com/SynoCommunity/spksrc/releases/tag/toolchains/srm1.3
    it is documented there how the toolchains were extracted from the toolkit files

Checklist

  • Build rule all-supported completed successfully
  • New installation of package completed successfully
  • Package upgrade completed successfully (Manually install the package again)
  • Package functionality was tested
  • Any needed documentation is updated/created

Type of change

  • Includes small framework changes

@hgy59 hgy59 added framework srm related to Synology Routers labels Nov 14, 2024
@hgy59
Copy link
Contributor Author

hgy59 commented Jan 4, 2025

@mreid-tt I get an error, when adding the srm 1.3 input fileds to the workflow file
https://github.com/SynoCommunity/spksrc/actions/runs/12612458063/workflow

how can we solve this?

@mreid-tt
Copy link
Contributor

mreid-tt commented Jan 4, 2025

@hgy59, this is an interesting constraint since it would mean that we need to reconsider the matrix generation in the future given we are limited to 10 input fields.

For now, I would recommend the following:

  1. Remove the build_settings_description input as this is cosmetic to separate the publish checkbox from the include checkboxes. This is currently in the code as:
      # Add a separator as a non-input description
      build_settings_description:
        description: 'Build Settings (archs to include):'
        required: false
        default: ''
        type: choice
        options:
          - '---'
  1. Re-order the publish input so that it is above the package input so that we can still have that visual separation for the checkboxes. This would be the code to move up:
      publish:
        description: 'Publish to repository'
        required: false
        default: false
        type: boolean

hgy59 added 3 commits January 4, 2025 19:37
- add toolchains extracted from toolkit from Synology downloads
- hawkeye is an early release and seems incorrect (router model WRX560 not yet released)
@hgy59 hgy59 requested a review from th0ma7 January 4, 2025 21:22
@th0ma7
Copy link
Contributor

th0ma7 commented Jan 4, 2025

@hgy59 I'll have a look at it tomorrow but at first glance shouldn't lua update be in a separate pr?

@hgy59
Copy link
Contributor Author

hgy59 commented Jan 4, 2025

@hgy59 I'll have a look at it tomorrow but at first glance shouldn't lua update be in a separate pr?

I had to change a package to trigger the build workflow, and lua was the package wanted for SRM 1.3 (#6191 (comment)), but of course it should be separated.

Copy link
Contributor

@th0ma7 th0ma7 left a comment

Choose a reason for hiding this comment

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

Overall LGTM. Also I believe this is using your "own-made" toolchain based on the toolkit that you published on our github? If that is the case well 1) well done really and 2) would you have a HOWTO somewhere we could rely on for other similar archs in the future?

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?

mk/spksrc.archs.mk Show resolved Hide resolved
.github/workflows/build.yml Show resolved Hide resolved
@hgy59
Copy link
Contributor Author

hgy59 commented Jan 5, 2025

Overall LGTM. Also I believe this is using your "own-made" toolchain based on the toolkit that you published on our github? If that is the case well 1) well done really and 2) would you have a HOWTO somewhere we could rely on for other similar archs in the future?

The how to is provided in the description of the release:

mkdir ds.ipq806x-1.3.env
cd ds.ipq806x-1.3.env
sudo tar x -f ../ds.ipq806x-1.3.env.tgz
sudo chown root:root -R ./ds.ipq806x-1.3.env/usr/local/arm-unknown-linux-gnueabi
cd ./ds.ipq806x-1.3.env/usr/local/
tar -cJvf ../../../ipq806x-gcc1030_glibc232_srm-1.3.tar.xz arm-unknown-linux-gnueabi

mkdir ds.dakota-1.3.env
cd ds.dakota-1.3.env
sudo tar x -f ../ds.dakota-1.3.env.tgz
cd ./usr/local/
sudo chown root:root -R ./arm-unknown-linux-gnueabi
tar -cJvf ../../../dakota-gcc1030_glibc232_srm-1.3.tar.xz arm-unknown-linux-gnueabi

mkdir ds.cypress-1.3.env
cd ds.cypress-1.3.env
sudo tar x -f ../ds.cypress-1.3.env.tgz
cd ./usr/local/
sudo chown root:root -R ./aarch64-unknown-linux-gnu
tar -cJvf ../../../cypress-gcc1030_glibc232_srm-1.3.tar.xz aarch64-unknown-linux-gnu

mkdir ds.hawkeye-1.3.env
cd ds.hawkeye-1.3.env
sudo tar x -f ../ds.hawkeye-1.3.env.tgz
cd ./usr/local/
sudo chown root:root -R ./arm-unknown-linux-gnueabi
tar -cJvf ../../../hawkeye-gcc1030_glibc232_srm-1.3.tar.xz arm-unknown-linux-gnueabi

@th0ma7
Copy link
Contributor

th0ma7 commented Jan 5, 2025

The how to is provided in the description of the release:

I had not noticed, thnx and again, well done!

@hgy59 hgy59 merged commit 813d86f into SynoCommunity:master Jan 13, 2025
1 check passed
@hgy59 hgy59 deleted the add_srm13 branch January 13, 2025 00:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
framework srm related to Synology Routers
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[Package Request] git for SRM 1.3.1 ('GLIBC_2.20' not found)
3 participants