群晖自编译套件SPK

DSM 升级至 7.0 之后,很多第三方套件不兼容了。

SynoCommunity 上给出了各套件的适配情况:

issue #4524: https://github.com/SynoCommunity/spksrc/issues/4524

zsh 也在其中,已经可以 build 了,但是还没正式发布。

我试着自己编译一下。

CPU 架构

我的群晖是DS218+,CPU 是Intel Celeron J3355,架构是 apollolake(x64).

这里可以查:

https://github.com/SynoCommunity/spksrc/wiki/Architecture-per-Synology-model

https://kb.synology.com/en-us/DSM/tutorial/What_kind_of_CPU_does_my_NAS_have

开发环境

  • DS218+ 是支持 Docker 的,首先在套件中心中启用 Docker 套件。

  • SSH 进入群晖。

  • 下载 spksrc 仓库: git clone https://github.com/SynoCommunity/spksrc.git ~/spksrc

  • 拉取 docker: docker pull synocommunity/spksrc

  • 运行 docker: docker run -it -v ~/spksrc:/spksrc synocommunity/spksrc /bin/bash

  • 切换到dsm7分支: git checkout dsm7-packages

编译

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

cd spksrc/

make setup dsm-7.0

cd spk/zsh

make arch-apollolake-7.0

# 在这一步会下载对应CPU架构的工具链,

# 群晖官方发布在 sourceforge.net 上,

# 速度超慢,需耐心等待。。。

  • 成功之后在 spksrc/packages/ 目录下可以看到已经生成的spk文件。

安装套件

  • 打开套件中心,手动安装 spk 。

done!