前言
由于想找点有趣的事情做,而且一直想玩玩家庭服务器,所以捡了一台 N1 做家庭服务器。由于卖家已经刷过 CoreELEC 了,所以不用再做降低等操作。
N1 作为去年矿渣的优秀代表,其硬件素质是非常过硬。N1 所用的 SOC 方案是晶晨 S905D,机器运行内存 2G,内置闪存 8G,相对于普通的 S905M,增加了 4K 60Hz 输出、VP9 硬解、HDR 以及千兆网卡。只是 USB 口都是 2.0,有点拉跨。并且在大神们的挖掘下玩法非常多样,既有传统 Armbian、也有专项应用系统:下载专用Linux 小钢炮、影音 CoreELEC、游戏 EmuELEC。玩家可以根据自己的喜好刷入对应的系统。
以下以 MacOS 环境为例
刷入 Armbian
根据恩山大神的经验,选择比较稳定的版本 Armbian_5.77_Aml-s905_Ubuntu_bionic_default_5.0.2_20190401.img
,毕竟做一个稳定的小服务器,就不再追新了。
使用 diskutil list
查看插入的 U盘 设备名称,然后将镜像写入
sudo dd if=./Armbian_5.77_Aml-s905_Ubuntu_bionic_default_5.0.2_20190401.img of=/dev/disk2 bs=1m
镜像写入后,打开 U盘,将 meson-gxl-s905d-phicomm-n1-xiangsm.dtb
(从恩山论坛下载)文件放到 dtb/meson-gxl-s905d-phicomm-n1-xiangsm.dtb
下面,修改 uEnv.ini
内容:
dtb_name=/dtb/meson-gxl-s905d-phicomm-n1-xiangsm.dtb
查看 dd 的进度(macos):
ps aux | grep dd | grep -v "grep"
sudo kill -SIGINFO 40637
启动
N1 断电后,将 U盘 插入靠近 HDMI 接口的 USB 口,通电启动。然后使用 SSH 登录(在路由器找到 aml 的ip):
ssh root@the-ip-of-aml
刷入 EMMC
执行 nand–sata-install
将系统刷入 emmc。
其实应该先在 U盘 启动的时候,先配置好,然后再写入,以后如果需要重新安装,直接再次将U盘系统刷入 emmc 即可,或者先将 U盘打成 dmg 保存,需要的时候再写入 U盘 使用。但我这里不打算这样做,直接写入 emmc 再配置。
启动后发现某些操作会出现 Readonly
问题,Google 了一下可能是 emmc 出现坏快错误,再次重启使用U盘启动,修复 emmc 即可:
e2fsck /dev/mmcblk1p2
如果你是先配置好再写入,那么可以清除缓存加快一点点的写入速度:
history -c
apt-get clean
配置
挂载硬盘
根据 blkid
查看硬盘 UUID,修改 /etc/fstab
文件实现自动加载。如 EXT4 硬盘:
UUID=8b71cd3d-a8a6-4dce-8ba9-afc1da12e1ed /media/disk1 ext4 defaults 0 0
软件源配置
# /etc/apt/source.list
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
#deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
然后执行 apt-get update
Docker
执行 curl -fsSL https://get.docker.com/ | sh
安装,配置国内镜像 registry:
{
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
个人觉得没有必要使用 Portainer,如果使用不是太熟练的话确实可以使用 UI 界面操作。
Samba
执行以下命令安装:
apt-get update
apt-get install samba
配置 Samba(一般挂载的硬盘都在 /media
,所以我选择整个 /media
共享 ):
vi /etc/samba/smb.conf
[n1]
path = /media
available = yes
browseable = yes
public = yes
writable = yes
给用户设置 Samba 密码:smbpasswd -a root
Aria2
使用 p3terx 制作的 Aria2Pro 镜像:https://p3terx.com/archives/docker-aria2-pro.html
docker run -d \
--name aria2-pro \
--restart unless-stopped \
--log-opt max-size=1m \
--network host \
-e PUID=0 -e PGID=0 -e RPC_PORT=6800 -e LISTEN_PORT=6888 \
-v ~/aria-config:/config \
-v /media:/media \
p3terx/aria2-pro
Nginx
安装 Nginx,apt-get install nginx
Ariang
下载最新 Release:https://github.com/mayswind/AriaNg/releases,然后解压到 /var/www/html
(Nginx 默认 serve 文件夹)。
ZeroTier
安装:curl -s https://install.zerotier.com | sudo bash
使用:zerotier-cli info
查看是否安装成功
加入:zerotier-cli join xxxx-network-id
设备加入之后一定要记得在 Network 页面勾选 Auth。
其他客户端
其他端的客户端可在官网下载:https://www.zerotier.com/download/
iOS 客户端在国区没有,可使用美区帐号下载
Locale 配置
设置完成之后中文不会显示乱码
# vi /etc/environment
LC_ALL="en_US.UTF-8"
LANG="en_US.UTF-8"
时区
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone
使用
- 使用 Aria2 下载
首先需要使用油猴脚本(如网盘助手),生成下载直链;然后导入到 Aria2(我使用 YAAW 插件配置地址到 N1 的Aria2,右键网盘助手生成的链接即可导入)。
- 通过 Samba 播放 Aria2 下载的剧
- 通过 ZeroTier 在其他网络访问 N1 上的资源