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

2018-06-23 28447点热度 81条评论
最后更新时间:2021年9月3日
此教程同样适用于斐讯 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,使用方法大致相同。

如果想运行 ArchLinuxARM,可以参考我的另一篇教程:《斐讯 N1 运行 ArchLinuxARM

下载地址

Armbian:https://yadi.sk/d/_rQgn_FosYuW0g

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

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

下载地址里有不同的 Armbian 版本,有些基于 Ubuntu,有些则是基于 Debian。

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

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

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

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

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

配置 dtb

以下配置方法基于最新版本,旧版本配置方法可能有所不同。

将 BOOT 分区的u-boot-s905x-s912重命名为u-boot.ext,然后下载 https://cdn.mivm.cn/www.mivm.cn/archives/phicomm-n1-linux/extlinux.conf 并将其复制到 BOOT 分区的extlinux文件夹。

现有的 dtb 可能会导致系统负载偏高,可以前往 QQ 群获取修复的 dtb 文件。

将 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 aml,如果无法解析IP,可以显示器和键盘连接 N1,然后输入ifconfig eth0 | grep -w inet | awk '{print $2}'

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

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

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

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

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

小工作

设置中国时区: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,如果是,则表示删除成功,如果不是,则再执行一次删除命令。

更新软件包: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折腾记:远程离线下载》。

后话

小山觉得,既然斐讯 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

微信公众号二维码

微信扫描二维码关注我们

如果觉得文章有帮助到你,可以点击下方的打赏按钮赞助下服务器费用。

小山

一个什么都不会但要装作很厉害的人

文章评论

  • niou

    大佬你好,我用的是 Armbian_5.44_S9xxx_Ubuntu_bionic_4.18.0-rc5_server_20180806.按你的方法进入了UBUNTU 系统,第一次需要改密码 显示 authentication token manipulation 请问怎么解决啊?

    2020-05-20
    • 小山

      @niou 你加入 QQ 群与我讨论吧,方便一些。

      2020-05-20
  • xiang

    非常喜欢,感谢一直更新,解决了我的太多问题。

    2020-04-14
  • wenyu

    有一个问题,当前系统玩死了,怎么重装啊啊

    2020-03-12
    • 小山

      @wenyu 如果你没有把 Linux 装在 emmc,直接重新刷 U 盘就行了。

      2020-03-12
  • molun

    最新版本Armbian_19.11.3_Aml-g12_eoan_legacy_5.3.0_20191126.img 要替换dtb文件吗

    2019-12-31
    • 小山

      @molun 不需要,只需要修改 uEnv.ini 即可。

      2019-12-31
  • 求学

    我刷入Armbain到U盘,但是并没有去实际的那样进入linux系统,只有代码跳动,(没有出现4只企鹅)

    2019-10-22
    • 小山

      @求学 SSH 是否能连接呢?

      2019-10-22
      • 学习

        @小山 斐讯N1连接路由器没有ip地址。

        2019-10-22
        • 小山

          @学习 检查你的 dtb 文件是否替换正确,你也可以加入 QQ 群与我详细探讨。

          2019-10-22
  • 我拿你是宝

    有视频教程吗

    2019-10-06
    • 小山

      @我拿你是宝 没有哦,有任何问题欢迎加入QQ群交流。

      2019-10-07
  • 岚匀

    s905和s905D的armbian能通用么?最新的p1是s905D,并非s905 :redface:

    2019-08-11
  • 陈浩南

    您好,我尝试按照您的教程刷入时,无论是使用 5.44 版本还是最新版本(分别尝试 meson-gxl-s905d-phicomm-n1.dtb 和 meson-gxl-s905d-p230.dtb 以及其它在github找到的 dtb),结果全都卡在同一个位置:盒子从 U 盘启动后,ssh 无法连接,同时也ping不通、端口扫描也没有结果。
    我没有显示器,因此无法看到输出的画面,只能使用ssh连接。
    请问,您知道我的问题可能出在哪里吗?

    2019-06-30
    • 小山

      @陈浩南 我推荐你还是接个显示器看看吧

      2019-07-01
      • 陈浩南

        @小山 我找到问题了,默认貌似不会启用sshd。提前在电脑上修改好sshd的设置就可以了。

        2019-07-01
  • 204546

    大佬你好,按照教程刷好了,就是登录出问题了,root,1234,修改密码失败,提升如下:
    authentication token manipulation error

    有解决的方法吗?

    2019-06-16
    • 小山

      @204546 密码验证失败,检查一下是否输入有误,最新版我没试过,不清楚是否改了默认密码。

      2019-06-16
  • 123z

    群号码在哪?博主能不能发一下

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