最后更新时间:2019年03月25日

此教程同样适用于斐讯 P1

咳咳咳,上篇教程教大家给斐讯 N1 降级并且刷了官改系统,可以当作一个电视盒子和下载机来使用。

有些小伙伴可能不想把它当作电视盒子,就想把它当作 NAS 或者是服务器,但是总不能拿 Android 玩吧,Android 也不是针对服务器设计的。

那么我说过,N1 不仅能刷官改,还能运行 Linux,而且是完整的 Linux 发行版,用 Linux 当服务器、NAS、下载机,体验总是要比 Android 好的。

这篇教程就教大家如何在斐讯 N1 运行 Linux 以及后续的优化,在此之前,需要将你的 N1 降级并刷入官改固件,也可以只刷入降级关键分区(感谢群里的小伙伴反馈)。传送门:《斐讯N1折腾记:降级及刷入官改》

166954196_1_20190726100749878.png

制作 Linux 启动盘

N1 运行 Linux 的原理是通电的时候引导 U 盘里的系统

所以需要准备一个U盘来制作启动盘,U 盘大小推荐不低于8G,连续读写速度推荐达到30M/s,随机读写速度推荐达到10M/s。最好是买个全新的,如果是旧的,提前备份好U盘内数据。

本教程以 Linux 发行版 Armbian 为例,玩过树莓派的小伙伴应该对这个系统不陌生,是适用于 ARM 架构的 Debian 和 Ubuntu。

里面有好几个版本,下载最新的版本,5.44 是之前最稳定的一个版本,喜欢尝鲜的玩家也可以用最新版。

旧版 IMG 文件名含义

例如:Armbian_5.44_S9xxx_Debian_stretch_3.14.29_server_20180601.img

Armbian:这个就不多说了

5.44:Armbian 的版本号

S9xxx:适用的 CPU

Debian:基于 Debian 编译的,另外还有 Ubuntu。

stretch:Debian 或 Ubuntu 的发行版代号,stretch 表示的是 Debian 9。

3.14.29:Linux 内核版本号

server:桌面环境,Server 代表的是服务器版,没桌面环境,其他的代表的是相应的桌面环境,比如:xfce、mate。

20180601:编译日期

新版 IMG 文件含义

例如:Armbian_5.59_Aml-s9xxx_Debian_stretch_default_4.18.0_desktop_20180829.img

Armbian:这个就不多说了

5.44:Armbian 的版本号

Aml:CPU 代号

Debian:基于 Debian 编译的,另外还有 Ubuntu。

default:没啥用

stretch:Debian 或 Ubuntu 的发行版代号,stretch 表示的是 Debian 9。

4.18.0:Linux 内核版本号

desktop:有桌面环境,没有这个则表示没有桌面环境。

20180829:编译日期

小白推荐使用 Ubuntu,桌面环境推荐使用 mate。我个人推荐使用Debian Server,做一个真正的服务器。

首先格式化你的U盘分区格式为 FAT32 或者把U盘分区全部删除。

打开启动盘制作工具:左侧选择你的U盘 → 点击 [Reset] 重置U盘 →  点击 [Restore] → 选择 Linux 镜像文件 → 提示框点击 [是] → 等待制作完成

制作完成后,会出现一个名为 BOOT 的分区,打开它。如果你把分区全部删除了,BOOT 分区默认是 FAT16 格式,Windows 是不会显示的,可以使用 DiskGenius 来访问。

然后需要对 BOOT 的分区 dtb 文件进行一些配置和修改

Armbian 5.44 和其他版本的修改方式有所不同

配置 dtb 文件

Armbian 5.44:把dtb文件夹里的gxl_p230_2g.dtb复制到 BOOT 分区的根目录并重命名为dtb.img。如果是 4.16、4.18 内核,dtb 文件是meson-gxl-s905d-p230.dtb。

Armbian 其他版本:

如果是 4.18 版本内核,下载上面的专用 dtb 文件,下载后复制到 BOOT 分区的 dtb 文件夹。然后修改 BOOT 分区的uEnv.ini文件,将dtb_name值改为/dtb/meson-gxl-s905d-phicomm-n1.dtb。

如果不是 4.18 内核,然后修改 BOOT 分区的uEnv.ini文件,将dtb_name值改为/dtb/meson-gxl-s905d-p230.dtb。

如果你 4.18 内核使用 meson-gxl-s905d-phicomm-n1.dtb 有网络延迟异常的情况,可以换回 meson-gxl-s905d-p230.dtb。

meson-gxl-s905d-p230.dtb 会导致系统负载显示不正确,会一直显示 2.00 或更高的数值,忽视即可。

meson-gxl-s905d-phicomm-n1.dtb 不止 4.18 内核可以使用,其他内核版本也可以使用,但是在网络高负载时可能会发生网络异常的情况,系统负载会正常显示。

将 N1 断电,插上U盘、网线,最好是插靠近 HDMI 接口那个 USB 接口,通电开机。

正常情况下顺利开机并进入 Linux 系统,如果没有进入 Linux 系统而是进入了 Android 系统,ADB 连接至 N1,输入adb shell reboot update。

接下来的操作我会以 SSH 远程连接为例,如果你使用 HDMI 连接显示器也可以,这种情况推荐你连接一个 USB HUB,方便连接鼠标和键盘,当然,如果你用的是 Server,那么就不需要鼠标了。

用户:root

密码:1234

如何获取 N1 运行 Linux 的 IP?打开 cmd,输入nslookup amlogic,如果amlogic无法解析IP,可以尝试解析aml。如果还是没有解析到 IP,可以显示器和键盘连接 N1,然后输入ifconfig eth0 | grep -w inet | awk '{print $2}'。

如果你不清楚如何使用 SSH 连接 N1,可以参考《OpenWrt/LEDE 新手指南》里的 SSH 连接步骤。

首次登陆需要重置密码,先输入当前密码(1234),再输入新密码以及确认新密码。

设置完密码之后会让你新建一个普通用户,如果是使用 Server,直接按 Ctrl + C 跳过。如果是使用桌面版,推荐创建一个普通用户,按照提示操作即可。

跳过之后,再次使用 SSH 连接。

这时候,整个系统就可以用了,不过我们需要做一些小工作。

小工作

以下括号内有 5.44 的表示只有 5.44 版本需要执行此操作。

加载 WiFi 驱动(5.44):modprobe dhd && echo dhd >> /etc/modules

设置中国时区:ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

删除默认 DNS:rm /etc/resolvconf/resolv.conf.d/head && touch /etc/resolvconf/resolv.conf.d/head

注:在重启系统后,输入cat /etc/resolv.conf,查看返回结果是否为你路由器的 DNS,如果是,则表示删除成功,如果不是,则再执行一次删除命令。

停止红外支持(5.44):systemctl stop lircd.service lircd-setup.service lircd.socket lircd-uinput.service lircmd.service

删除红外支持(5.44):apt remove -y lirc && apt autoremove -y

由于 N1 没有红外,造成红外支持找不到红外,一直给系统日志写错误,此问题仅存在于 5.44 版本。

替换 APT 软件源,有助于提升访问速度和安全性(仅适用于 Debian)(可选操作):sed -i 's/http:\/\/httpredir/https:\/\/deb/g' /etc/apt/sources.list

更新软件包:apt update && apt upgrade -y

重启系统:reboot

OpenMediaVault

如果你使用的是 Debian 发行版,就可以安装专门为 NAS 设计的 OpenMediaVault。

OpenMediaVault 是一个基于 Debian 的开源 NAS 解决方案,具有 Web 可视化操作,可以通过各种插件来增强。

如果你是个 Linux 小白,却想轻松的使用 Linux 作为 NAS 系统,强烈推荐你使用 OpenMediaVault。

安装的方式也很简单

启动 Armbian 配置菜单:armbian-config

选择 [Software] → [Softy] → 选中 (空格) [OMV] → 回车 → 等待安装完成

安装完成后,在浏览器输入 IP 即可访问,默认用户名和密码为:admin / openmediavault

更多有关于 OpenMediaVault 的使用方法可以加群或者上网搜索了解。

如果你安装 OpenMediaVault,下面的操作忽略即可。

挂载外置存储设备

推荐把外置存储设备分区格式化为 ext4 格式,不推荐使用 NTFS 格式。

如果你的外置存储设备是 NTFS 格式,可以使用mkfs.ext4命令将你的外置存储设备格式化为 ext4 格式,格式化前提前备份数据。

可以用fdisk -l查看你的外置存储设备是那个设备,一般是/dev/sdb,分区是/dev/sdb1,如果有多个分区,依次类推。

输入mkfs.ext4 /dev/sdb1将分区格式化为 ext4,格式化完成后使用fdisk -l查看是否格式化成功,如果分区的 Type 属性为 Linux(如下图所示),表示分区为 ext4/3。

166954196_2_20190726100750597.png

格式化成功后,为了方便挂载,可以给分区设置一个卷标。

命令:e2label

设置卷标示例:e2label /dev/sdb1 H1

查看卷标示例:e2label /dev/sdb1

然后就可以挂载分区了

挂载分区示例:echo 'LABEL=H1 /mnt ext4 defaults,noatime,nofail 0 2' >> /etc/fstab

此命令会将卷标为 H1 的分区挂载到 /mnt 目录下

重启系统使挂载生效

Samba 网络共享

[info]如果你的主力设备不是 Windows,推荐使用 NFS 等方式共享给其他设备。[/info]

使用 Samba 将外置存储设备共享给其他设备

Samba 可以使用 Armbian 自带的一个可视化菜单来配置,非常方便。

启动 Armbian 配置菜单:armbian-config

选择 [Software] → [Softy] → 选中 (空格) [Samba] → 回车 → 输入 samba 用户名和密码 → 工作组填写 WORKGROUP → 等待安装完成

安装后,它会自动弹出修改配置文件的界面。

166954196_3_20190726100750894.png

将红框里的内容删除

将 ext 的 path 改为 /mnt,如果你的挂载路径不是 /mnt,则改为你的挂载路径。

按下 TAB 键 → 选择 [OK] → 保存退出

Samba 网络共享配置完成

Armbian 自带的可视化配置工具非常的好用,如果你想配置你的网络(不管是无线还是有线)或者是桌面环境等,都可以尝试使用armbian-config来完成。

如果你不想浪费一个 U 盘来当 Linux 启动盘,Armbian 也可以安装到 N1 的内部存储。当然,这个操作稍微麻烦点,而且有风险,如果你想知道怎么做,可以加入 QQ 群了解。

剩下的工作,就交给你们,想让它干什么几乎都可以,当然,务必在它的性能承受范围之内。比如离线下载,参考《斐讯N1折腾记:远程离线下载》。

如何更新 Armbian

5.44 是不能兼容后续更新的,如果你使用的是 5.44 想更新到最新版,请选择重新制作启动盘。

其他版本的 Armbian 可以通过下载网盘内最新版本文件夹里的 deb 文件夹的 deb 文件进行更新。

下载完成后上传至 Armbian,然后通过dpkg命令进行安装。

安装完成后重启即可。

后话

小山觉得,既然斐讯 N1 的定位是“NAS”,那么运行 Android 系统是显然满足不了这个属性的,只有运行稳定且高效的 Linux 才可以称为 NAS。虽然 USB 2.0 和 arm 限制了它成为一个完美可用的 NAS,不过如果你对于存储要求没那么高,当一个小型 NAS 也是绰绰有余的。

总而言之,几十块钱买个 N1 这样的玩具,小山觉得是非常值的。

还是那句话:文章有什么不懂的地方,欢迎在下方或者在QQ群告诉我。

如果我以后想到更多玩法会继续分享给大家,再次感谢所有为 N1 可玩性付出的人。

本篇文章参考了以下资料:

Logo

更多推荐