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

Missing complete alpine installation support (3x DiskStation models with 7.2) #49

Closed
RSfuchs opened this issue Dec 29, 2024 · 10 comments
Closed

Comments

@RSfuchs
Copy link

RSfuchs commented Dec 29, 2024

uname -m
armv7l

platform_name
alpine

@RSfuchs
Copy link
Author

RSfuchs commented Dec 29, 2024

(DS715)
DS1517
(DS1515)
DS1817
are AL-314 ARMhf CPUs!
(ARM hard float) port was developed to support the floating-point unit found on most modern 32-bit ARM boards.

The Annapurna Labs Alpine AL-314 is a quad-core ARM Cortex-A15 processor.
Architecture: Armv7-A

$ readelf -A /proc/self/exe | grep VFP
Tag_FP_arch: VFPv2
Tag_ABI_VFP_args: VFP registers
(The command returns blank if it’s an ARMel system or a Tag_ABI_VFP_args tag if it’s ARMhf.)

readelf is provided by "SynoCli Development Tools" package

Also questionable is:
(DS215+ | AL-212)
DS416 | AL-212
(DS2015xs | AL-514)

@RSfuchs
Copy link
Author

RSfuchs commented Dec 29, 2024

cat /proc/cpuinfo

processor : 0
model name : ARMv7 Processor rev 4 (v7l)
Speed : 1.4GHz
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc0f
CPU revision : 4

@RSfuchs RSfuchs changed the title Missing alpine installation support Missing complete alpine installation support (3x DiskStation models with 7.2) Dec 29, 2024
@007revad
Copy link
Owner

Thank you for bringing this to my attention.

The '15 and '16 series cannot use DSM 7.2.2 so the only affected models are the DS1517, DS1817 and DS416.

DS1817 platform_name="alpine"
DS1517 platform_name="alpine"
DS416 platform_name="alpine4k"

When I look at the spk download urls from https://www.synology.com/en-global/support/download for those 3 models the url is for the armv7 spk file.
https://global.synologydownload.com/download/Package/spk/VideoStation/3.1.1-3168/VideoStation-armv7-3.1.1-3168.spk

So I need to translate "alpine" and "alpine4k" to "armv7".

@007revad
Copy link
Owner

What does uname -m return for DS1517, DS1817 and DS416 ?

@RSfuchs
Copy link
Author

RSfuchs commented Dec 29, 2024

Hi Dave,
the headline already tells us that it is only about the 3 models. I have already written and explained in detail that it is about supporting the hard float, which armv7 does not do because we have armv7l. I was able to create a workaround as armv7 by adding "armv7l" and setting cputype="armv7".

My request is not read at all!?

@RSfuchs
Copy link
Author

RSfuchs commented Dec 29, 2024

What does uname -m return for DS1517, DS1817 and DS416 ?
That's also what it says in the first line here. I don't have a DS416.

@007revad
Copy link
Owner

I read all your comments. I didn't see any request.

To install the armada38x package on a Synology with an alpine CPU would require:

  1. Unpacking the .spk file (easy to do).
  2. Editing the INFO file to change arch="armada38x" to arch="alpine armada38x" (easy to do).
  3. Repacking the .spk file so DSM 7.x package center doesn't reject it.

I've not been able to successfully do step 3. I tried for my first version of my ContainerManager_for_all_armv8 and the spk file caused a "Invalid file format. Contact the package developer." error.

The alternative would be to:

  1. Temporarily make package center think the NAS has an armada38x CPU by changing platform_name="alpine" or platform_name="armarda38x" in /etc.default/synoinfo.conf and /etc/synoinfo.conf (after backing them up).
  2. Download and install the armada38x video station package.
  3. Edit video station's INFO file to arch="alpine armada38x".
  4. Change the CPU type back to the correct platform name.

My ContainerManager_for_all_armv8 does the same thing, except it's only changing the NAS model and not the platform name.

In step 1 I may also have to change unique="synology_alpine_ds1817" to unique="synology_armad38x_ds1817".

@RSfuchs
Copy link
Author

RSfuchs commented Dec 30, 2024

I read all your comments. I didn't see any request.

To install the armada38x package on a Synology with an alpine CPU would require:

  1. Unpacking the .spk file (easy to do).
  2. Editing the INFO file to change arch="armada38x" to arch="alpine armada38x" (easy to do).
  3. Repacking the .spk file so DSM 7.x package center doesn't reject it.

I've not been able to successfully do step 3. I tried for my first version of my ContainerManager_for_all_armv8 and the spk file caused a "Invalid file format. Contact the package developer." error.

The alternative would be to:

  1. Temporarily make package center think the NAS has an armada38x CPU by changing platform_name="alpine" or platform_name="armarda38x" in /etc.default/synoinfo.conf and /etc/synoinfo.conf (after backing them up).
  2. Download and install the armada38x video station package.
  3. Edit video station's INFO file to arch="alpine armada38x".
  4. Change the CPU type back to the correct platform name.

My ContainerManager_for_all_armv8 does the same thing, except it's only changing the NAS model and not the platform name.

In step 1 I may also have to change unique="synology_alpine_ds1817" to unique="synology_armad38x_ds1817".

Yes, that's right, I know all of this before.
Due to your expertise in the two projects mentioned, I wanted to ask you to apply the know-how here together, based on my above requirement:
packages to download/install must be
armada38x (like mine DS116)

Please also implement your alternative.

@RSfuchs
Copy link
Author

RSfuchs commented Dec 30, 2024

How can I just install the Videostation and Media Extensions?

found it myself:
=> 4) Skip Media Server

@007revad
Copy link
Owner

007revad commented Jan 2, 2025

First run these is as root or sudo

#!/bin/bash

# Backup synopackageslimit.conf if needed
if [[ ! -f /etc.defaults/synopackageslimit.conf.bak ]]; then
    cp -p /etc.defaults/synopackageslimit.conf /etc.defaults/synopackageslimit.conf.bak
fi

# Make DSM let us install the Video Station version we want
/usr/syno/bin/synosetkeyvalue /etc.defaults/synopackageslimit.conf VideoStation "3.1.0-3153"
/usr/syno/bin/synosetkeyvalue /etc/synopackageslimit.conf VideoStation "3.1.0-3153"

# Make DSM let us install the Media Extensions version we want
/usr/syno/bin/synosetkeyvalue /etc.defaults/synopackageslimit.conf CodecPack "3.1.0-3005"
/usr/syno/bin/synosetkeyvalue /etc/synopackageslimit.conf CodecPack "3.1.0-3005"

Then do a manual package install of these:

Next we need to edit their version numbers to prevent package center trying to update them. Run as root or sudo.

sudo synosetkeyvalue /var/packages/CodecPack/INFO version "30.1.0-3005"
sudo synosetkeyvalue /var/packages/VideoStation/INFO version "30.1.0-3153"

@007revad 007revad closed this as completed Jan 9, 2025
007revad added a commit that referenced this issue Jan 26, 2025
v1.3.15
- Added support for Alpine and Alpine4K (DS1817, DS1517 and DS416). Issue #49 and #54
@007revad 007revad mentioned this issue Jan 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants