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 镜像,
下载对应版本的 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盒子内存中
tftpboot 0x11000000 zImage
tftpboot 0x15000000 uInitrd
tftpboot 0x1000000 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 默认登陆信息如下
![]()
相关阅读:
海思hi3798芯片盒子刷乌班图系统做家用NAS教程
S905L-P211盒子秒变神器!Android TV+EmuELEC 4.4/4.5刷入教程大揭秘
|