探索 Syncthing 的时候,偶然听有人建议说让我不要把数据存储放阿里云了,不如直接用斐讯 N1 做个软路由,数据放家里省钱省事儿…于是我开始去了解:斐讯N1 是个什么鬼?原来 N1 开发的本源是作为一个挖矿机,因为斐讯翻车成了众人的闲置物品。在大神手里,垃圾都能变废为宝,况且 N1 盒子本身具有良好的性能和外观,还能轻松定制化,于是被广大爱好者折腾成了电视盒子、软路由、NAS、游戏机等等。

经过一番了解,我打算把 N1 改造成自用 NAS,挂个下载器,运行个小网站什么的。于是年轻人第一次安装了拼多多,花了 92RMB 包邮买了套全新未拆以及一根刷机用双公头 USB 数据线。在选购的时候,发现这盒子早一些时候只卖六十几,现在因为货源吃紧在慢慢涨价,而且有商家明目张胆地刷了系统再加价卖,从 90 到 160 不等。原来这还是个理财产品呢!

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

盒子本体美观小巧,方方正正,比一个巴掌大不了多少,废话不说了咱们开始

刷机准备工具

  • N1 一台
  • USB 双公口线一条
  • 4G 以上 U 盘一个,新 U 盘可能有兼容性问题(最好是 USB2.0 设备或 SD 卡加读卡器)
  • 可以运行安卓adb工具的电脑一台,Win/Mac/Linux都行
  • 下载相关工具和固件(百度网盘 | Google Drive )

系统降级 刷机

网上大部分人刷机都是用作电视盒子的,毕竟这玩意儿支持 4K 价格便宜性能足接口还多,但是我电视本来比较新,而且非常讨厌用多个遥控器,所以不打算用N1看电视。托各位大神的服,网上已经有非常易用的刷机工具和详细的教程,此处不再赘述,详细请参看这里:视频 / 帖子。只需要注意:

  1. 准备一只有线鼠标,接入N1盒子最靠边的USB
  2. 准备一条双公头USB数据线,接入电脑与N1盒子HDMI接口旁的USB
  3. 刷机时最好将N1盒子用HDMI连接电视/显示器;
  4. 刷机时务必用网线连接N1盒子与路由器。

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

上文网盘里面有这些工具

降级之后 N1 成了个扩展性极强的电视盒子,无任何限制需要什么装什么,页面清爽无广告…我试了一下并不喜欢,觉得有点儿 LOW,不如大厂出品的那么统一协调——尽管它们广告很烦人。

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

索尼大法好,遥控器直接就能控制N1盒子

刷入 Armbian

Armbian 是专为 ARM 系统开发的轻量级 Debian 系统。首先下载对应的系统文件(5.77),然后把系统先写入事先准备好的 U盘。我比较推荐 USB Image Tool,先将 U盘重置接着将下载的 img 文件恢复进U盘。数分钟后系统刷入 USB ,电脑多了个 boot 分区并且会提示你格式化U盘,不理它。本来咱们可以愉快的查到盒子上启动了,但是据说原版系统空闲时负载比较高,咱也不懂它只好跟着大佬脚步走。

打开/boot/dtb用这个文件替换掉原有的 dtb 文件,然后修改根目录下文件uEnv.ini的第一行为dtb_name=/dtb/meson-gxl-s905d-phicomm-n1.dtb,完成后把U盘插到N1上边儿加电启动。

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

我用电视作为显示器,感觉很高级的样子~

要说 Linux 就是快啊,数秒之后便开机成功,咱们输入root账户的默认密码1234,执行./install.sh将 Armbian 写入内部存储 eMMC。顺利的话很快完成,然后拔掉电源拔掉U盘,重新启动后即可 SSH 远程登陆进行接下来的工作——请注意:最好给N1固定一个 IP 地址。

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

挂载了一个硬盘

安装 OMV

OpenMediaVault 是一个基于 Debian 的开源 NAS 解决方案,具有 Web 可视化操作,可以通过各种插件来增强。如果你是个 Linux 小白,要求不高想轻松的使用 Linux 作为 NAS 系统,OMV 应该是个不错的选择。在安装之前建议先修改系统的更新源:

cd /etc/apt
cp sources.list sources.list.bak
vim sources.list

d 删除全部内容,按 i 粘贴以下内容,完成后按Esc 然后:wq 保存并退出,完成后可输入apt update 查看是否有问题;操作不熟也可以用如 WinSCP 之类的 FTP 工具直连修改。

deb https://mirrors.ustc.edu.cn/debian stretch main contrib non-free
#deb-src http://httpredir.debian.org/debian stretch main contrib non-free

deb https://mirrors.ustc.edu.cn/debian stretch-updates main contrib non-free
#deb-src http://httpredir.debian.org/debian stretch-updates main contrib non-free

deb https://mirrors.ustc.edu.cn/debian stretch-backports main contrib non-free
#deb-src http://httpredir.debian.org/debian stretch-backports main contrib non-free

deb https://mirrors.ustc.edu.cn/debian-security/ stretch/updates main contrib non-free
#deb-src http://security.debian.org/ stretch/updates main contrib non-free

接入输入armbian-config,在弹出的可视化选择窗中依次选择Software-Softy,往下翻找到OMV,按空格键选择后再按回车安装。

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

经过一段时间安装完成后,在浏览器打开 N1 的地址,输入预置的用户名密码admin/openmediavault即可登入 OMV 的管理页面。熟悉后台之后建议第一步工作先更改管理页面端口和密码,后台管理页面清爽,各个模块简单明了,支持中文,上手很快。

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

挂载共享磁盘

似乎在 Linux 的概念里,系统盘和数据盘是绝对分开的,因此在默认不挂载外接存储的情况下 OMV 没办法共享出可用的文件夹。因此咱们在 N1 盒子上外接必要的 USB 存储,然后依次点选存储器-文件系统-选中需要挂载的硬盘-挂载硬盘,应用生效后把整个磁盘按可读可写(建议)方式共享出来。最后,为应对 Windows 复杂的文件共享系统,建议设置一个带密码的用户。

以上的工作只是设置了对应的共享文件夹,我们还需要打开相应的网络文件共享协议,并关联到上文具体设置的文件夹才能实现真正的文件共享。我本人主要是安卓电视和笔记本电脑访问这套文件系统,因此需要打开SMB/CIFSNFS两项服务,启用对应协议后添加共享,参考如下图设置。

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

设置比较简单,但是要实现 Windows 电脑访问共享比较复杂(看运气)~

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

Windows/iOS/Android 共用一套数据库和文件

磁盘共享成功后,电视上的 Kodi 用 NFS 协议直接就能找到硬盘里面的硬盘/图片等等,看电影什么的非常方便。Kodi 是一款多平台家庭影院系统,功能强大且具有高度的可定制性:能安装皮肤定义想要的界面,也可以安装不同插件实现各种复杂的功能,这里就不展开了。

文件下载服务

直接在 OMV 插件库里面安装 openmediavault-transmissionbt 插件,这个插件可以实现和迅雷几乎一样的功能,比方说磁力链接、限速、线程选择、可选下载等等。

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

FRP 内网穿透

普通用户家里边的宽带一般是没有公网地址的,因此无法通过互联网访问网内的应用和服务。NAS 没有公网IP是很不方便的,比方你在百无聊赖的办公室突然发现一个不错的电影,想回家之后立刻就看,怎么办呢?难道还在办公室苦哈哈的下载拷进U盘?何不直接远程访问上文的 BT 下载器,让家里边的小盒子安安静静的下载呢。

这就需要内网穿透技术了,一般是反向代理和动态域名解析(DDns)两种方式,市场内花生壳、ngok比较出名,不过不推荐给个人用户使用。这里介绍用轻量化开源系统 FRP 实现反向代理,它可以使处于内网或防火墙后的设备对外界提供服务,支持 HTTP、TCP、UDP 等众多协议。

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

图片来自少数派

上图是反向代理的一个简单拓扑,FRP 本是国人开发的开源系统,在其项目页也有非常详细的帮助文档,这里简单记录下。首先你需要一台有公网IP地址的服务器,然后下载对应的文件,解压进入到程序目录后首先修改配置文件。相应的服务器端只需要该frps.ini,客户端(内网服务器)修改frpc.ini,看看我的配置文件:

[common]
server_addr = 112.124.26.230
server_port = 8077

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 8078

[syncthing]
type = tcp
local_ip = 127.0.0.1
local_port = 8384
remote_port = 8079

[omv]
type = http
local_port = 8080
remote_port = 8080
custom_domains = 112.124.26.230

[bt-downloader]
type = tcp
local_ip = 127.0.0.1
local_port = 8081
remote_port = 8081

应该很容易理解哈?修改完成后让 FRP 在后台运行就行啦啦——请注意:在对 FRP 执行操作均需要进到文件所在目录;防火墙开放对应的端口。

# 客户端
nohup ./frpc -c ./frpc.ini &
# 服务端
nohup ./frps -c ./frps.ini & 

我的远程服务器一般不会关机,但是N1很有可能经常关机(省电),所以还得利用systemctl来让 FRP 开机自启,如下:

后记

本文还没写完就有人推荐我使用群晖了,用下图给你做个解释:因为N1小啊,省电(至多24W)啊!你看这宽高深各 40/15/20CM 的小置物架可以把我的无线路由器、NAS、存储和供电全部装下,其他系统恐怕有点儿难度吧?

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

请忽略我的胶带~

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

为了省空间我甚至对N1的电源做了改造

斐讯 N1 降级刷 Armbian,安装 OMV 作为家用小型 NAS 折腾记录

Acer Veriton N2620G 外形其实也很小

事实上我公司还有台崭新的 HTPC,Intel Celeron 887 1.5 GHz/2 GB DDR4/320 GB HDD,性能强过斐讯N1许多倍,但是想想耗电量和尺寸,觉得实在没必要折腾,以后用得上的时候再搞吧。