群晖自编译套件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!