聪聪搞机 发表于 2024-5-23 11:10

S905L3b盒子刷armbian Uboot tftpboot 救砖刷机教程

armbian 盒子更换apt源更新错误导致启动错误(变砖了),错误如下。

APPEND="root=UUID=1b75a9d0-6d14-4eb0-94a1-2fcf84176ddf rootflags=data=writeback rw rootfstype=ext4 console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 max_loop=128 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1"

# 设置内存文件地址
setenv kernel_addr 0x11000000
setenv initrd_addr 0x15000000
setenv dtb_addr 0x1000000

# 设置启动参数/fdt 地址参数

setenv bootargs ${APPEND}
fdt addr ${dtb_addr}

# 启动命令

booti ${kernel_addr} ${initrd_addr} ${dtb_addr}
重启几次还是无法正常启动,系统启动时 Ctrl + Z 还能进 Uboot 命令模式,网上查资料找到 uboot 支持 tftpboot 模式启动

1. 刷机准备

CH340 usb 转 TTL + 杜邦跳钱

U盘(4G以上,烧录armbian OS镜像使用)

tftpd64 (windows tftp server)

diskgenius (从img镜像导出文件)

rufus 4.4 (烧录 镜像到 U盘)

普通网线一条 + 刷机电脑一台

2. 配置 tftp server

先下载 armbian OS 镜像,使用 ophub/amlogic-s9xxx-armbian 镜像,
ophub镜像下载地址
https://github.com/ophub/amlogic-s9xxx-armbian/releases

下载对应版本的 img 镜像 解压

使用 diskgenius 打开 解压出来的 img 镜像文件,提取需要的 内核文件/dtb/启动参数文件

dtb 文件可以查看 uEnv.txt 文件内的 FDT 路径指向。







打开 tftp server ,设置文件目录/ 监听IP地址(实际路径修改)




3. 提取启动参数环境变量

文本编辑器打开 提取出来的 boot.ini   uEnv.txt

复制文件内环境变量到新建文本内,内容如下,每个镜像文件内容可能有区别,照着具体文件内容复制。

注意: APPEND 变量内有空格,需要加 双引号括起来。
APPEND="root=UUID=1b75a9d0-6d14-4eb0-94a1-2fcf84176ddf rootflags=data=writeback rw rootfstype=ext4 console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 max_loop=128 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1"

# 设置内存文件地址
setenv kernel_addr 0x11000000
setenv initrd_addr 0x15000000
setenv dtb_addr 0x1000000

# 设置启动参数/fdt 地址参数

setenv bootargs ${APPEND}
fdt addr ${dtb_addr}

# 启动命令

booti ${kernel_addr} ${initrd_addr} ${dtb_addr}
先保存新环境参数文件,后面 uboot 启动时会使用。

4. 制作 armbian U盘启动



选择 对应的 img 镜像,插入U盘,开始烧录U盘启动盘。

5. Uboot TFTP模式启动进行刷机

通过CH340 TTL 连接PC电脑





打开设备管理器(快捷键 Win+X,选 M),查看com 串口通道 (本机使用COM4, 根据实际使用修改com口)



打开putty 设置 串口 COM4 , 波特率 115200



将U盘启动盘插入盒子USB口上,插上网线连接PC ,打开盒子电源,查看putty 输出



看到 U-boot , 快速按 Ctrl + Z (动作要快,跳过后可以断电重启多试几次) ,打断正常模式启动,进入 Uboot 命令模式



设置 IP 地址 / 网关地址 / tftp server 地址(本机IP地址,根据实际IP地址修改)

putty 窗口 输入以下命令
setenv ipaddr 192.168.5.200
setenv gatewayip 192.168.5.1
setenv serverip 192.168.5.106
saveenv


测试网络连接,ping 网关IP



通过 tftpboot 加载 armbian 启动文件,内存地址 从 启动参数环境变量 复制过来的,

映射关系如下表。



putty 窗口 依次输入以下命令,加载文件到S905盒子内存中
tftpboot0x11000000   zImage
tftpboot0x15000000   uInitrd
tftpboot0x1000000    meson-gxl-s905l3b-m302a.dtb




将之前保存的 启动参数环境变量 复制过来的,输入 putty 窗口,进行命令模式启动

APPEND="root=UUID=1b75a9d0-6d14-4eb0-94a1-2fcf84176ddf rootflags=data=writeback rw rootfstype=ext4 console=ttyAML0,115200n8 console=tty0 no_console_suspend consoleblank=0 fsck.fix=yes fsck.repair=yes net.ifnames=0 max_loop=128 cgroup_enable=cpuset cgroup_memory=1 cgroup_enable=memory swapaccount=1"

# 设置内存文件地址
setenv kernel_addr 0x11000000
setenv initrd_addr 0x15000000
setenv dtb_addr 0x1000000

# 设置启动参数/fdt 地址参数

setenv bootargs ${APPEND}
fdt addr ${dtb_addr}

# 启动命令

booti ${kernel_addr} ${initrd_addr} ${dtb_addr}





进入系统初始化界面,设置系统配置。







执行 armbian-install命令,将 armbian 系统安装到emmc





看到 [ SUCCESS ] Installation successful.代表安装 emmc 已完成;

刷机完成,重启盒子,通过ssh 登录。

ophub/amlogic-s9xxx-armbian 默认登陆信息如下

**** Hidden Message *****

https://www.znds.com/static/image/hrline/2.gif

相关阅读:
海思hi3798芯片盒子刷乌班图系统做家用NAS教程

S905L-P211盒子秒变神器!Android TV+EmuELEC 4.4/4.5刷入教程大揭秘

月下桥 发表于 2024-5-23 11:12

正好再找,感谢分享

myfgwc 发表于 2024-5-23 13:06

谢谢分享

18756737988 发表于 2024-5-28 15:19

不错不错不错

a71276799 发表于 2024-5-30 04:20

预计会

shylock2000 发表于 2024-6-6 01:20

谢谢楼主分享

wys1977 发表于 2024-7-7 09:33

看看

WesteCobra 发表于 2024-7-11 08:42

默认登陆信息如下

1234asdfghjkl 发表于 2024-9-6 22:35


正好再找,感谢分享

维修哥 发表于 2024-10-14 10:03

谢谢分享
页: [1] 2 3
查看完整版本: S905L3b盒子刷armbian Uboot tftpboot 救砖刷机教程