N1 降级刷机救砖总结

   Updated: 2021-10-24 21:18       N1 降级刷机救砖总结有1条评论

关于 N1 刷机用的固件:

基本所有的、各种类型的固件都是基于两个平台:Android 和 Linux。原厂电视盒固件和基于原厂固件修改的第三方电视盒固件,他们都是基于 Android 7.0,其他固件一般基于 Linux。

所以我们这里把刷 N1 用的固件分为两类:

  • 第三方电视盒固件(如 webpad、YYF、Rush):电视盒固件用 USB_Burning_Tool 通过双公头 USB 刷机线直接刷进 N1 的 eMMC 中
  • 基于 Linux 的固件(如 OpenWrt、Armbian):基于 Linux 的固件需要先将固件写入 U 盘,再用 U 盘启动后用命令写入 N1 的 eMMC 中,也可以不写入 eMMC 而直接运行在 U 盘中,但某些情况可能不好用,比如 Docker 可能无法正常使用

刷机

刷机的大致步骤

  1. 降级
  2. 进入线刷模式
  3. 刷入固件

注意:对于一台 N1,降级只需要做一次;根据你现在的固件和准备刷的固件的类型,可能需要再次进入线刷模式

刷机前需要准备的硬件

如果你是刷官改(第三方)的电视盒固件,才需要双公头 USB 刷机线;否则是不需要的

  • 双公头 USB 刷机线*1
  • HDMI 线*1
  • 支持 HDMI 的显示设备*1
  • 鼠标*1
  • 安装有 Windows 系统的 PC
  • U 盘(刷基于 Linux 的固件的话)

刷机前需要准备的软件

  • 降级工具
  • USB_Burning_Tool 线刷工具(刷第三方安卓电视盒固件的话)
  • 写 U 盘工具(刷基于 Linux 的固件的话。只推荐 balenaEtcher,USB Image Tool、Win32DiskImager 应该可以)
  • 你要刷的固件的.img 镜像文件

降级

简单地说降级就是刷入低版本(v2.19)的 bootloader、boot 和 recovery.img 三个分区文件,以便于 N1 能引导非官方固件。对于一台 N1,降级只需要做一次。

降级可以用别人写好的降级工具 N1、T1 降刷机助手,操作简单;或者使用命令行一步一步操作。这里以命令行为例。

1、下载官方的 adb 调试工具 platform-tools(下载),以及降级用的 bootloader.img、boot.img、recovery.img 三个分区镜像文件(下载,密码:nzwy53),放到 platform-tools 目录。

2、N1 连接好鼠标、双公头 USB 刷机线(另一头接电脑)、网线(另一头接路由器)、HDMI 线(另一头接显示器)

3、插上电源通电

4、看显示器屏幕,鼠标单击版本号 4 下,打开 adb 调试,并记住获取到的 IP 地址

5、按住 Shift,右键点 platform-tools 文件夹,选择 「在此处打开 Powershell 窗口」,分别运行如下命令:

adb connect N1 的 IP 地址 #连接 N1
adb shell reboot fastboot #进入 fastboot 模式(这一步及之后必须连接双公头 USB 刷机线)
fastboot devices -l #查看连接的设备,显示有设备连接了才能刷后面的.img 文件
fastboot flash bootloader bootloader.img #刷入 bootloader.img
fastboot flash boot boot.img #刷入 boot.img
fastboot flash recovery recovery.img #刷入 recovery.img

6、N1 重新通电准备进入线刷模式

进入线刷模式(或叫 U 盘启动模式)

可以用别人写好的工具或在 platform-tools 下使用如下命令:

adb connect N1 的 IP 地址 #连接 N1
adb shell reboot update #重启进入线刷模式(或叫 U 盘启动模式)

判断是否已开启了线刷模式:断电连接好双公头线再通电,Windows 系统有识别到硬件的声音,说明已开启线刷模式。

刷不同的固件是否需要重新进入线刷模式(或叫 U 盘启动模式):

  • 现固件是 Linux 固件重新刷其他 Linux 固件:不需要
  • 现固件是 Linux 固件重新刷电视盒固件:不需要
  • 现固件是电视盒固件重新刷其他电视盒固件:不需要
  • 现固件是电视盒固件重新刷 Linux 固件:需要

注意:adb 命令是用于 Android 系统的

刷固件

固件选择

第三方电视盒固件(也就是基于 Android 的电视盒官改固件):

  • webpad 固件
    基于官方固件 v2.32 版修改,是其它所有第三方固件的 「爸爸」。
    自带 root,不带 root 管理,内置乱七八糟一堆 app,但可以删。
    流畅度一般。
  • YYF 固件
    基于 webpad 旧版固件(对应官方固件 v2.19 版)的精简修改+扩展版。
    自带 root,自带 root 管理,移除了所有 webpad 固件内置垃圾 app,加了很多实用功能,如语音控制/远程管理/bt 下载之类。
    流畅度优于 webpad 固件
  • Rush 固件
    基于 webpad 旧版固件(对应官方固件 v2.19 版)的极限精简版。
    自带 root,自带 root 管理,体积不大,非常干净。
    流畅度极佳。
  • 潜龙固件

基于 Linux 的固件

  • OpenWrt:做旁路由
  • 小钢炮:做下载机
  • LibreELEC:做家庭媒体中心
  • Armbian:作为主体安装 Home Assistant 智能家居系统、Docker 等

刷入第三方电视盒固件的步骤

  1. 断开 N1 电源(不要插 HDMI 线,否则可能会导致插好 USB 刷机线后电脑不识别 N1)
  2. 打开 USB_Burning_Tool 线刷工具
  3. 导入烧录包并取消勾选 「擦除 flash」 和 「擦除 bootloader」,点击 「开始」
  4. 插好双公头 USB 刷机线
  5. 插上 N1 电源
  6. 等待自动刷机完成

刷入基于 Linux 的固件的步骤

  1. 用写 U 盘工具 balenaEtcher 将固件写入 U 盘备用
  2. 运行 U 盘启动的命令,并查看 N1 的指示灯
  3. 当 N1 指示灯熄灭时马上将 U 盘插入靠 HDMI 的 USB 口
  4. 等上几分钟,SSH 进入系统
  5. ls 查看是否有 xxx.sh 文件(别人做好的固件里一般都有 xxx.sh 文件用于刷入 eMMC 如果是刷 Armbian 据说直接用 nand-sata-install)
  6. 输入./xxx.sh 等待刷入完成(如果是刷 Armbian 也可以直接用 nand-sata-install,我也不知区别)
  7. 输入 poweroff 等指示灯熄灭
  8. 断开 N1 的电源
  9. 拨掉 U 盘
  10. 插上 N1 电源
  11. 完成

注意,如果刷入 eMMC 时有错误提示,最好

  • 确保写 U 盘工具 balenaEtcher 最后写入完成时不会出现感叹号,否则多试几次重新写,或者先将 U 盘格式化再写
  • 不要在 N1 固件已经启动的情况下插入 U 盘,这有可能会导致 U 盘中的文件或文件属性被改写,导致通过 U 盘启动不成功或其他问题。
  • 如果现在为 Linux 固件,在将其他固件通过 U 盘写入 eMMC 的时候出现分区失败而无法写入的,则需要先运行 dd if=/root/u-boot-2015-phicomm-n1.bin of=/dev/mmcblk1(还原 bootloader),然后 reboot 重启后重新运行./xxx.sh;如果还是无法刷入,则需要将其刷为电视盒固件(并在刷机之前一定要勾选 「擦除 flash」)。

挑 U 盘(通过 U 盘启动不成功)的现象:HDMI 画面出现 「Android Recovery。。。No command,出现倒地的安卓机器人」,如此图

永久解决 N1 挑 U 盘的方法:两颗电容治好 N1 挑 U 盘的毛病

救砖

变砖的现象

开机时直接无显示(我遇到的是这种,可能还有出现错误、或出现倒下的安卓机器人等)

首先看 USB_Burning_Tool 能不能识别 N1,能识别则不需要拆机;否则需要拆机短接。

拆机方法:底部四个胶垫取下拧下四颗螺丝即可。拆机视频

到 「4%: 加载 UBOOT」 电脑有设备断开和连接的提示音,这个属于正常现象。

救砖步骤

  1. 连接好双公头刷机线
  2. 将 SECURE_BOOT_SET 证书文件放置于 Amlogic_USB_Burning_Tool 安装目录下的 license 目录
  3. 用 USB_Burning_Tool 刷机工具导入 T1_1.3T47_mod_by_webpad_v3_20180419_2.img 固件(没错,是 T1 的固件),勾选 「擦除 flash」 和 「擦除 bootloader」,点击 「开始」
  4. N1 通电
  5. (如果 USB_Burning_Tool 不能识别到 N1,还需要拆机短接)
  6. 会自动刷固件到 21% 会出错
  7. 停止后再刷第三方固件,不勾选 「擦除 flash」 和 「擦除 bootloader」
  8. 如果刷第三方固件刷不进去则先刷 aml_upgrade_package_N1 原厂固件

救砖资源下载,提取码 z4g0

参考链接

刷 Openwrt 固件做旁路由

参考另一篇博客文章:N1 刷 OpenWrt 固件做旁路由

其他

Armbian 的配置操作

进入图形化配置

armbian-config

默认的软件源比较慢,更换为国内软件源

nano /etc/apt/sources.list

默认源用 #注释掉,将如下源添加进去后 ctrl+x,然后 y 保存。根据你刷的 Armbian 是基于 Ubuntu 还是 Debian,替换的源不同(SSH 登录进去会有提示 Armbian 的版本)

基于 Debain:

deb http://mirrors.tuna.tsinghua.edu.cn/debian stretch main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian stretch-updates main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian-security stretch/updates main contrib non-free
deb http://mirrors.tuna.tsinghua.edu.cn/debian stretch-backports main

基于 Ubuntu:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse

更新和升级软件列表

apt-get update
apt-get upgrade

设置时区

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone

查看时间是否正确:date -R

查看是否使用上级路由器的 DNS:cat /etc/resolv.conf

如果不是,执行:

rm /etc/resolvconf/resolv.conf.d/head && touch /etc/resolvconf/resolv.conf.d/head

开启 BBR

linux-5.0.2 默认用 reno ,需要设置其启用 bbr 。执行以下命令:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

运行 lsmod | grep bbr,查看是否包含 bbr

安装 Docker

curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh --mirror AzureChinaCloud #调用 Azure 源(也可以--mirror Aliyun #调用阿里源)

安装 docker 图形化管理工具 Portainer

docker volume create portainer_data
docker run --restart always -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer:linux-arm64

访问 N1 的 ip:9000 进入 Portainer 的管理界面

安装 Docker 版精简 OpenWrt

首先你刷的固件必须是支持 Docker 的,也就是刷的基于 Linux 的固件,比如小钢炮、Armbian 等

SSH 到 N1,分别运行如下命令:

docker pull breakersun/openwrt:pigroup #拉取镜像
ip link set eth0 promisc on #开启网卡的混杂模式
docker network create -d macvlan --subnet=192.168.99.0/24 --gateway=192.168.99.1 -o parent=eth0 macnet #创建 Macvlan 复用网卡,用于虚拟主机接入局域网。注意根据实际情况更改网络 IP 段
docker run --restart always -d --network macnet --privileged breakersun/openwrt:pigroup /sbin/init #创建容器

登录你的路由器查看主机名为 New-Pi 的 IP 地址,登录密码 password

这个精简版的更新比较慢,还有另外一个

安装 Docker 版 adguardhome

docker pull adguard/adguardhome:arm64-latest #拉取镜像
docker run –name adguardhome –network macnet –ip 192.168.99.3 -v /root/AdguardHome/workdir:/opt/adguardhome/work -v /root/AdguardHome/confdir:/opt/adguardhome/conf -p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 68:68/tcp -p 68:68/udp -p 80:80/tcp -p 443:443/tcp -p 853:853/tcp -p 3000:3000/tcp -d –restart always adguard/adguardhome:arm64-latest #创建容器

(命令可能有误)

登录 192.163.99.3:3000 开始首次配置 adguardhome,以后登录 192.168.99.3 进入 adguardhome 控制面板

过滤规则推荐

ipk 文件的安装方法

进入固件系统(如 OpenWrt),在网络存储-文件助手或系统-文件传输上传 ipk 安装

或者 SSH 下使用命令

mount_root
opkg install xxx.ipk

注意比如 adbyby 等插件需要先安装程序 ipk 再安装界面 ipk(luci-app-xxx.apk 为界面)

资源

1 comment on “N1 降级刷机救砖总结

回复 Ryan 取消回复

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