斐讯N1折腾记:运行 Linux 及优化

最后更新时间:2019年11月29日
此教程同样适用于斐讯 P1

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

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

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

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

斐讯 N1 折腾记:运行 Linux 及优化

制作 Linux 启动盘

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

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

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

当然,你如果想体验其他 Linux 发行版,可以在这里找到:https://github.com/yangxuan8282/phicomm-n1/wiki/OS,使用方法大致相同。

下载地址

Armbian:

https://yadi.sk/d/pHxaRAs-tZiei

https://mega.nz/#F!j9QSDQSQ!6WpasOlbZYIInfw6yo4phQ

https://share.weiyun.com/5eCvcvS (部分搬运)密码:mivmcn

启动盘制作工具:https://www.alexpage.de/usb-image-tool/download/

如果你不喜欢 Armbian,想体验其他 Linux 发行版,可以前往这里下载:https://github.com/yangxuan8282/phicomm-n1

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

以下是各个阶段版本的文件名含义

5.x 旧版

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

5.44:Armbian 的版本号

S9xxx:适用的 CPU

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

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

3.14.29:Linux 内核版本号

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

20180601:编译日期

5.x 新版

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

5.44:Armbian 的版本号

Aml-s9xxx:CPU 类型

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

default:没啥用

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

4.18.0:Linux 内核版本号

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

20180829:编译日期

19.x.x

示例:Armbian_19.11.3_Aml-g12_eoan_legacy_5.3.0_20191126.img

19.11.3:Armbian 版本号

Aml-g12:CPU 类型

eoan: Debian 或 Ubuntu 的发行代号,比如 eoan 代表的就是 Ubuntu 19.10,不同的代号代表 Armbian 基于不同的发行版。

legacy:暂时没啥用

5.3.0:Linux 内核版本

20191126:编译日期

小白推荐使用 Ubuntu,我个人推荐使用Server 版,由于 Linux 没有 GPU 驱动,导致桌面版性能低下,非常卡顿。

首先格式化你的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 内核:https://cdn.mivm.cn/www.mivm.cn/archives/phicomm-n1-linux/meson-gxl-s905d-phicomm-n1.dtb

如果是 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 内核专用 dtb 文件来自:https://github.com/yangxuan8282/phicomm-n1/

如果你 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。

fdisk

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

命令: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 → 等待安装完成

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

Samba 配置文件

将红框里的内容删除

将 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 可玩性付出的人。

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

https://forum.armbian.com/topic/2419-armbian-for-amlogic-s905-and-s905x/

http://www.right.com.cn/forum/thread-323198-1-1.html

http://www.right.com.cn/forum/thread-326034-1-1.html

微信公众号二维码

微信扫描二维码关注我们

点赞

  1. 吃枣药丸说道:

    安装成功了,感谢博主!

  2. 鹏爷说道:

    蓝牙连接音箱都是断断续续的声音,没法用呀

    1. 小山说道:

      Linux 本身并不完美,特别是硬件支持方面,如需完美的硬件体验,请考虑安卓固件。

  3. billy说道:

    :razz: 我想把N1当作软路由使用。是都能分享下设置流程

    1. 小山说道:

      ???软路由??? 就1个网口,你想多了。

    2. 荒野无灯说道:

      刷个openwrt单网口软路由一点问题没有,配普通交换机也行,配网管交换机更好 :lol:

      1. cray1说道:

        大神,小钢炮怎么装在u盘?有教程吗?

        1. 小山说道:

          步骤差不多,写入U盘即可。

  4. 嘎嘎嘎说道:

    uEnv.ini文件,将dtb_name值改为/dtb/meson-gxl-s905d-phicomm-n1.dtb,保存。???
    我的uEnv.ini文件为:bootargs=root=LABEL=ROOTFS rootflags=data=writeback rw console=ttyS0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 mac=${mac}
    没有dtb_name值

    1. 小山说道:

      你用的哪个版本?

      1. 嘎嘎嘎说道:

        Armbian_5.44_S9xxx_Debian_stretch_3.14.29_server_20180601.img

        1. 小山说道:

          麻烦仔细看文章,5.44 和 5.6x 的替换方式不同。

  5. 小破孩说道:

    密码怎么不对。

    1. 小山说道:

      默认密码是1234 检查输入是否正确

  6. YC_CY说道:

    你好,楼主,那个diskgenius软件能不能发一份给我,我下的很多都不能用这个功能 1763178024@qq.com

      1. YC_CY说道:

        这个功能收费,楼主是买的软件吗

        1. 小山说道:

          不收啊,你只需要把dtb文件放进去,然后把uEnv.ini复制到桌面,改完之后再放进去就行了。

  7. 阿祖说道:

    能不能这个,WEB服务器环境的教程

    1. 小山说道:

      一键化搭建可以用 LNMP

  8. zzzzz说道:

    没看明白,刷完Linux然后呢,自己搭载nas?

    1. 小山说道:

      尽情折腾,发挥你的想象力!

      1. zzzzz说道:

        接下来有没有个人云NAS教程

  9. 你好说道:

    博主你好,我的移动硬盘在电脑格式化过,所以格式是“fuseblk”,按你说的无法挂载成ext4,想问下有啥命令转换啊?

    1. 小山说道:

      mkfs.ext4重新格式化成ext4,无法直接转换。

    2. jaye说道:

      1.安装ntfs挂载工具。
      sudo apt-get install ntfs-3g
      2.、新建一个目录,作为挂载用
      mkdir /mnt/sda1
      3、挂载NTFS移动硬盘
      mount -t ntfs-3g /dev/sda1 /mnt/sda1

      即可使用

  10. anamara说道:

    很完整的一篇教程,比起恩山那边的要整合和完善许多,感谢大佬分享~ :biggrin: :biggrin:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Solve : *
24 × 30 =


此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据