斐讯 N1 盒子刷 Armbian 系统
PHICOMM N1 盒子已经上市很多年了,虽然是一个矿渣产品,但是其优异的硬件配置,丰富的固件适配,目前还被广泛使用。在此首先对 webpad 等几位大佬致敬,由于他们的分享,使得很多人可以很方便的在 N1 盒子上实现自己所需的功能。目前网上有关 N1 盒子刷 TV 系统、OpenWrt 系统、Armbian等系统的文章很多,本来不想水这篇文章的,但是鉴于接下来我会分享使用 N1 盒子吃鹅 的话题,考虑到教程的完整性,于是决定还是把 N1 盒子刷 Armbian 系统的步骤整理一下。
一、斐讯 N1 的硬件参数
产品类型:家庭网络存储,云存储
处理器:Amlogic S905D Cortex-A53,Mali-450 GPU
内存:RAM 2GB, ROM 8GB
接口:USB 2.0 * 2、HDMI * 1、RJ45 * 1(千兆网口)
无线连接:支持2.4G/5G WiFi,蓝牙BT 4.1 BLE低功耗
视频输出分辨率:最高支持到 4K 60 帧硬件解码
电源接口:12V/2A
尺寸与重量:产品尺寸为110mm x 110mm x 40mm,产品重量约为0.248kg
二、刷机准备
1、所需硬件
N1 盒子一个、8G 以上 U 盘一个、USB 接口键盘一个、USB 鼠标一块、HDMI 晶晨短接神器(作用为线刷时短接,很便宜,海鲜市场有卖,如果没有可以拆机手动短接)、HDMI 接口显示器 / HDMI 接口电视一台、网线一根、HDMI 线一根、路由器、电脑。
2、所需软件
为方便使用,我已经将所需要的软件整理好,放到了谷歌云盘,大家可以下载后使用。
https://drive.google.com/drive/u/1/folders/1QUhpnzm1CvFHkUh1904EN7QFaJBag8Vb
1. 解压使用-斐讯T1、N1官方系统降级工具.zip #斐讯 T1、N1 官方系统降级工具 2. 解压使用-N1U盘启动.zip #N1 U 盘启动 3. USB_Burning_Tools_v2.0.7.2_build2.exe #晶晨线刷工具含驱动 4. win32diskimager-1.0.0-install.exe #写盘工具 5. N1_mod_by_webpad_v2.2_20180920.img.7z #Android 7.0.1 版本固件, root, 可引导进入 Armbian 6. Reboot to LibreELEC_1.1_Apkpure.apk #重启进入 Armbian 软件 7.Armbian_24.5.0_amlogic_s905d_jammy_6.6.28_server_2024.04.25.img.gz #Armbian_24.5.0 版本固件,kernel BPF 模块已打开,可使用 dae
谷歌云盘里提供的 Armbian 固件 kernel BPF 模块默认已打开, 经我测试可使用 dae ,来自于 ophub 的 GitHub 项目,如果你更习惯于使用 Debian 固件,请使用如下链接自行下载。
https://github.com/ophub/amlogic-s9xxx-armbian/releases/
Armbian 是基于 Debian 和 Ubuntu 的 Linux 发行版,专门为 ARM 开发板设计。Armbian 的版本命名通常遵循其基于的 Debian 或 Ubuntu 发行版。Armbian 的这四个版本(Noble、Jammy、Bullseye 和 Bookworm)分别基于不同的 Debian 或 Ubuntu 版本:
Armbian Noble - 这是基于 Ubuntu 22.04 LTS (代号 "Jammy Jellyfish") 的版本。Ubuntu 22.04 是一个长期支持版本,提供了五年的安全更新和支持。Armbian 对这个版本进行了针对 ARM 设备的优化和定制。
Armbian Jammy - 也是基于 Ubuntu 22.04 LTS 的版本。这个版本名可能与 Noble 重复或是对同一基础版本的另一种命名方式。
Armbian Bullseye - 这是基于 Debian 11 (代号 "Bullseye") 的版本。Debian 11 提供了多种软件的最新稳定版,并享有 Debian 社区的广泛支持和安全维护。Debian 版本的 Armbian 通常更倾向于稳定性和兼容性。
Armbian Bookworm - 基于 Debian 12 (代号 "Bookworm")。这是 Debian 的测试版本,在正式成为稳定版前,它会包含最新的软件更新。使用这个版本的 Armbian 可能提供一些最前沿的特性,但也可能不如稳定版那么稳定。
三、降级关键分区
玩 N1 的朋友都知道第一步要对 N1 进行降级,但是却很少有人说明为什么要进行降级,降级针对盒子做了什么事情,这里我参考“if年少有为”在自己博文中的描述,希望大家能明白其中原理。
连接 HDMI、网线、电源后会进入斐讯自带的安卓系统,安卓系统的标准启动过程如下:
bootloader:斐讯针对该盒子硬件实现的类似 BIOS 的东西,它负责硬件的初始化,最终引导操作系统。
boot 分区:放着安卓操作系统的内核文件,由 bootloader 唤起,也就实现了进入操作系统的效果。
recovery 分区:类似于 WinPE 的东西,如果 boot 分区挂了,则可以通过 Recovery 方式进入一个临时的操作系统,然后恢复 boot 分区(类似于 ghost 做系统)。
问题就在于,bootloader 是斐讯针对盒子定制的,它设置了一些限制,比如:
只能使用他家的安卓系统
不支持U盘引导操作系统
所以呢,恩山论坛的 webpad 大佬,修改了斐讯的 bootloader,我们要做的就是把 webpad 大佬修改后的 bootloader 覆盖到盒子里面去,这个过程被称之为 N1 降级,一台 N1 这辈子只需要做一次降级操作,后续不需要再研究这个问题了。当然如果你的盒子到手时就已经被刷成了 TV 等其他系统,这一步骤就可以跳过了。
1、将 N1 接上网线,HDMI 线接显示器,离 HDMI 口远的那个 USB 口接一个鼠标。连上网以后,等个五分钟左右,待其自动升级到最新版,中间可能会多次重启升级,直到不再升级为准。否则如果正在刷的过程中 N1 重启可能会有点麻烦。记录一下屏幕上显示的 IP ,下一步会用到。接下来用鼠标点击屏幕上版本号的地方 4 次,屏幕中间会显示一下“开启adb”。
2、下载“1.解压使用-斐讯T1、N1官方系统降级工具.zip”文件并解压,运行 onekey 目录中的 run.bat 批处理文件,按照提示输入 2 选择 N1 降级。
按照提示输入 N1 的 IP 地址。
按照提示按任意键开始降级。
四、制作 Armbian U 盘
1、在电脑上下载并安装“4.win32diskimager-1.0.0-install.exe”写盘工具软件,同时下载并解压镜像文件“7.Armbian_24.5.0_amlogic_s905d_jammy_6.6.28_server_2024.04.25.img.gz”备用。
2、运行 win32diskimager 软件,如下图所示,选择上一步解压好的镜像文件,插入 U 盘后将镜像文件写入 U 盘。
有关网上流传的 armbian 5.77 版本的最稳定,meson-gxl-s905d-phicomm-n1-xiangsm.dtb 可以解决系统过高等问题,经过我的实际测试,目前 ophub 编译的镜像已经解决了上述问题,大家可以放心使用。
五、在 Android 系统里引导从 U 盘启动
1、下载“2.解压使用-N1U盘启动.zip”并解压,将显示器和键盘接入 N1 盒子,执行“N1-ADBU盘启动(傻瓜包)”文件夹下的“U盘启动.bat”,输入 N1 盒子的 IP 地址,地址可以从路由器管理界面看到。
2、N1 的两个 USB 口,离 HDMI口 远的接 USB 键盘,另一个接 U 盘。HDMI 线接显示器,加电冷启动。屏幕会先出现启动画面,之后会进入 U 盘的 armbian 系统。这里如果多次重复,还是只能进入 Android 的 recovery 模式,那么请换个 U 盘试试,基本这里不成功都是因为 U 盘兼容性问题导致的,建议最好使用 USB 2.0 的 U 盘。
3、进入 armbian 以后用 root:1234 登录,会被要求修改密码和创建普通用户,不想创建用户可以 Ctrl+C 跳过,完成以后会留在一个 shell 里面。
六、将 U 盘中的 Armbian 系统写入 N1 盒子的 EMMC
接上一步,使用 root 用户及密码登录 armbian 后,在 bash 下执行 armbian-install 命令。按照提示输入“101”,选择文件系统输入“1”(选择ext4),这时开始将 U 盘中的 armbian 系统 copy 到 emmc ,整个过程大概需要 2~3 分钟,等待文件 copy 完后,按照提示输入 poweroff 命令关机,然后移除盒子上的 U 盘,给盒子重新加电后会使用 emmc 进入 armbian 系统,到此刷机工作就完成了。
注意:在将 armbian 写入 emmc 成功后,引导的先后顺序为先从 U 盘引导进入系统,没有插 U 盘时才使用 emmc 引导进入系统,所有如果你要使用 emmc 中的系统,请务必拔掉 U 盘。
root@armbian:~# armbian-install [ STEPS ] Installing Armbian to internal eMMC... [ STEPS ] Checking dependencies... [ INFO ] Dependency check completed. Proceeding installation... [ STEPS ] Initializing the environment... [ INFO ] Use mainline u-boot: [ no ] [ INFO ] Use ampart tool: [ yes ] [ INFO ] Show all devices: [ no ] [ INFO ] Internal eMMC : [ /dev/mmcblk2 ] [ STEPS ] Start selecting device... -------------------------------------------------------------------------------------- ID SOC MODEL DTB -------------------------------------------------------------------------------------- 101 s905d Phicomm-N1 meson-gxl-s905d-phicomm-n1.dtb 102 s905d Phicomm-N1(DMA-thresh) meson-gxl-s905d-phicomm-n1-thresh.dtb 103 s905d MECOOL-KI-Pro meson-gxl-s905d-mecool-ki-pro.dtb 104 s905d SML-5442TW meson-gxl-s905d-sml5442tw.dtb 105 s905x HG680P meson-gxl-s905x-p212.dtb 106 s905x B860H meson-gxl-s905x-b860h.dtb 107 s905x Nexbox-a95x meson-gxl-s905x-nexbox-a95x.dtb 108 s905x TX9 meson-gxl-s905x-tx9.dtb 109 s905x T95,XiaoMI-3S,X96 meson-gxl-s905x-p212.dtb 110 s905x TBee meson-gxl-s905x-tbee.dtb -------------------------------------------------------------------------------------- 111 s905w TX3-Mini meson-gxl-s905w-tx3-mini.dtb 112 s905w W95 meson-gxl-s905w-p281.dtb 113 s905w X96-Mini meson-gxl-s905w-x96-mini.dtb 114 s905w X96W,FunTV,MXQ-Pro-4K meson-gxl-s905w-x96w.dtb 115 s905l UNT402A,M201-S,MiBox-4C meson-gxl-s905l3b-m302a.dtb 116 s905l MG101,Mibox-4 meson-gxl-s905l-venz-v10.dtb 117 s905l2 MGV2000,MGV3000,M301A,CM201-1 meson-gxl-s905l2-x7-5g.dtb 118 s905l2 E900v21E,MGV2000-K,e900v21d meson-gxl-s905l2-x7-5g.dtb 119 s905l2 Wojia-TV-IPBS9505 meson-gxl-s905l2-ipbs9505.dtb 120 s905l3 CM311-1,HG680-LC,M401A,UNT402A meson-gxl-s905l2-x7-5g.dtb -------------------------------------------------------------------------------------- 121 s905l3 CM211-1,M411A,B860AV3.2-M meson-gxl-s905l3b-m302a.dtb 122 s905l3 UNT400G1,E900V22D-2 meson-gxl-s905l2-x7-5g.dtb 123 s905l3b E900V22D,TY1608 meson-gxl-s905l2-x7-5g.dtb 124 s905l3b E900V21E,E900V22E,MGV2000 meson-gxl-s905l3b-e900v22e.dtb 125 s905l3b M302A,M304A,CM201-1,CM211-1,CM311-1 meson-gxl-s905l3b-m302a.dtb 126 s905l3b UNT403A meson-gxl-s905l3b-m302a.dtb 127 s905l3b RG020ET-CA meson-gxl-s905l3b-e900v22e.dtb 128 s905l3b IP103H,TY1608,BV310,B860AV-2.1M meson-gxl-s905l3b-m302a.dtb 129 s905lb BesTV-R3300L,SumaVision-Q7,MG101 meson-gxl-s905x-p212.dtb 130 s905lb Q96-mini meson-gxl-s905x-p212.dtb -------------------------------------------------------------------------------------- 131 s905mb S65 meson-gxl-s905x-p212.dtb 0 Other Customize Enter-custom-dtb-name -------------------------------------------------------------------------------------- [ OPTIONS ] Please Input ID: 101 [ INFO ] Input Box ID: [ 101 ] [ INFO ] Model Name: [ Phicomm-N1 ] [ INFO ] FDTFILE: [ meson-gxl-s905d-phicomm-n1.dtb ] [ INFO ] MAINLINE_UBOOT: [ ] [ INFO ] BOOTLOADER_IMG: [ u-boot-2015-phicomm-n1.bin ] [ INFO ] UBOOT_OVERLOAD: [ u-boot-n1.bin ] [ INFO ] NEED_OVERLOAD: [ no ] [ STEPS ] Which type of filesystem do you want for your root? ----------------------------------------------- ID TYPE ----------------------------------------------- 1 ext4 2 btrfs ----------------------------------------------- [ OPTIONS ] Please Input ID (1/2): 1 [ INFO ] Input Type ID: [ 1 ] [ INFO ] Type of filesystem: [ ext4 ] [ STEPS ] Partitioning eMMC... [ INFO ] Start backing up the default bootloader. 4+0 records in 4+0 records out 4194304 bytes (4.2 MB, 4.0 MiB) copied, 2.19803 s, 1.9 MB/s [ INFO ] Delete the existing [ 2 ] partitions. [ INFO ] Start create MBR and partittion. [ INFO ] 02. Write Android bootloader: [ u-boot-2015-phicomm-n1.bin ] 444+0 records in 444+0 records out 444 bytes copied, 0.00781175 s, 56.8 kB/s 8191+0 records in 8191+0 records out 4193792 bytes (4.2 MB, 4.0 MiB) copied, 0.450597 s, 9.3 MB/s [ STEPS ] Processing BOOTFS partition... [ INFO ] Formatting BOOTFS partition... mkfs.fat 4.2 (2021-01-31) [ INFO ] Copying BOOTFS ... [ INFO ] Update the [ uEnv.txt ] file. [ STEPS ] Start processing the rootfs partition... [ INFO ] Formatting ROOTFS ... /dev/mmcblk2p2 contains a btrfs file system labelled 'ROOTFS_EMMC' [ INFO ] Copying ROOTFS ... [ INFO ] Copying [ etc ] ... [ INFO ] Copying [ home ] ... [ INFO ] Copying [ opt ] ... [ INFO ] Copying [ root ] ... [ INFO ] Copying [ selinux ] ... [ INFO ] Copying [ srv ] ... [ INFO ] Copying [ usr ] ... [ INFO ] Copying [ var ] ... [ INFO ] Generate the new fstab file. [ INFO ] Update the relevant parameters. [ SUCCESS ] Installation successful. Run [ poweroff ], remove the installation media then re-insert the power supply to boot new system.
七、Armbian 的简单设置
1、将 armbian 的更新源修改为清华源
Armbian 操作系统默认使用的官方更新源(ports.ubuntu.com)服务器在海外,连接速度和国内镜像源比起来较慢,建议修改为清华大学提供的镜像源。
mv /etc/apt/sources.list /etc/apt/sources.list.bak cat > /etc/apt/sources.list <<EOF deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse #deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse #deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-security main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse #deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse #deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ jammy-backports main restricted universe multiverse EOF mv /etc/apt/sources.list.d/armbian.list /etc/apt/sources.list.d/armbian.list.bak cat > /etc/apt/sources.list.d/armbian.list <<EOF deb [signed-by=/usr/share/keyrings/armbian.gpg] https://mirrors.tuna.tsinghua.edu.cn/armbian jammy main jammy-utils jammy-desktop EOF
更新本机已安装的软件包
apt update apt upgrade -y
2、修改时区
# 系统时间和时区 date -R # 修改时区,使用 tzselect 命令,然后选择 asia china beijing yes。 tzselect cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 再次查询系统时间和时区 date -R
3、为 N1 分配静态 IP 地址
参考以下示例,为 N1 分配同网段的静态 IP 地址,hwaddress 参数用于固定 Mac 地址,Mac 地址可以在盒子背后的标签上找到,或者使用 ifconfig 命令查询。修改完成后使用 reboot 命令重启盒子,然后使用新的 IP 地址连接盒子。
# 关闭 NetworkManager 服务 systemctl stop NetworkManager systemctl disable NetworkManager # 备份原始配置,分配静态 IP mv /etc/network/interfaces /etc/network/interfaces.bak cat > /etc/network/interfaces <<EOF source /etc/network/interfaces.d/* auto lo iface lo inet loopback auto eth0 allow-hotplug eth0 iface eth0 inet static hwaddress 88:88:88:88:88:88 address 192.168.0.2 netmask 255.255.255.0 gateway 192.168.0.1 iface eth0 inet6 auto EOF # 重新启动盒子 reboot
八、从 Armbian 刷到 Android 固件
1、在电脑上下载并安装“3.USB_Burning_Tools_v2.0.7.2_build2.exe”烧录软件,同时下载并解压 android 固件“5.N1_mod_by_webpad_v2.2_20180920.img.7z”备用。
2、运行 USB_Burning_tools 软件,如下图所示,选择 android 固件后,去掉“擦除flash”和“擦除bootloader”前的对勾,然后点击“开始”按钮,将晶晨短接神器插在 HDMI 接口上,USB双公头线插到靠近 HDMI 接口的 USB 口上,然后给 N1 盒子接上电源,这时软件就识别到了 N1 盒子,开始写入固件。
3、大约等待 3~4 分钟,会提示“100%:烧录成功”,这时先点击“停止”按钮,关闭烧录软件,然后拔掉 USB 线,拔掉电源后再次开机就进入了 android 系统。
本文出处:HiFeng'Blog
本文链接:https://hicairo.com/post/75.html
版权声明:本博客所有文章除特别声明外,均采用CC BY-NC-SA许可协议。转载请注明出处!