「家庭娱乐」N1刷 Armbian 做家庭服务器

前言

由于想找点有趣的事情做,而且一直想玩玩家庭服务器,所以捡了一台 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

创建帐号:https://my.zerotier.com/

安装: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

使用

  1. 使用 Aria2 下载

下载

首先需要使用油猴脚本(如网盘助手),生成下载直链;然后导入到 Aria2(我使用 YAAW 插件配置地址到 N1 的Aria2,右键网盘助手生成的链接即可导入)。

导出百度网盘下载到Aria2

  1. 通过 Samba 播放 Aria2 下载的剧

通过 Samba 播放

  1. 通过 ZeroTier 在其他网络访问 N1 上的资源

zerotier-usage