看了本站很多大神的贴子,无法一一列举了。找了4年前lqinyli在GITHUB上的2个镜像(内核和根系统),最后让AI整理了下思路,准备晚上刷机。现记录如下
华为 EC6108V9U 临时引导 OpenWRT(U-Boot 阶段指定 LAN IP + 不修改原厂配置)
核心前提:保持环境(盒子 ADB 已连、U盘 FAT32 放 kernel.bin / rootfs.ext4 、原厂 U-Boot 不固化修改、目标 LAN IP 192.168.1.111 )
关键调整:在 U-Boot 临时参数中通过 ip= 内核参数直接指定 LAN IP,无需引导后手动修改,避免电脑直连改 IP 操作
一、 备份原厂 DATA 分区(优先必做)
1. 核对 DATA 分区路径(后续操作以此为准,避免写错变砖)
bash
adb shell ls -l /dev/mmcblk0p*
记录原厂 DATA 分区(通常为 /dev/mmcblk0p8 )
2. 挂载 U 盘存放备份文件
bash
adb shell mkdir -p /mnt/usb
adb shell mount /dev/sda1 /mnt/usb
adb shell ls /mnt/usb # 验证挂载成功
3. DD 备份 DATA 分区到 U 盘
bash
adb shell dd if=/dev/mmcblk0p8 of=/mnt/usb/data_backup.img bs=1M
执行完毕后卸载 U 盘,将备份文件复制到 PC 保存
bash
adb shell umount /mnt/usb
二、 写入 OpenWRT rootfs.ext4 到 DATA 分区
1. 重新挂载 U 盘(确认 rootfs.ext4 已放入 U 盘根目录)
bash
adb shell mkdir -p /mnt/usb
adb shell mount /dev/sda1 /mnt/usb
adb shell ls /mnt/usb | grep rootfs.ext4 # 验证文件存在
2. 写入 rootfs 镜像到 DATA 分区
bash
adb shell dd if=/mnt/usb/rootfs.ext4 of=/dev/mmcblk0p8 bs=1M
写入完成后卸载 U 盘
bash
adb shell umount /mnt/usb
三、 U-Boot 临时引导(指定 LAN IP + 不修改原厂配置)
核心原理
OpenWRT 支持通过内核参数 ip= 直接指定网口 IP,格式为 ip=<LAN_IP>::<网关_IP>::<子网掩码>::<主机名>::<网口名称>:off
针对你的需求,配置为 ip=192.168.1.111::192.168.1.1::255.255.255.0:😮penWRT::eth0:off
- 192.168.1.111 :目标 LAN IP
- 192.168.1.1 :主路由网关(根据你的网络环境调整)
- eth0 :盒子 LAN 网口(若无效可尝试 eth1 ,不同设备网口命名有差异)
操作步骤
1. 打开 STB 工具,通过 ADB 连接盒子(IP 填 192.168.1.99 ),确认串口连接成功
2. 逐行输入临时 U-Boot 参数,严禁执行 saveenv(否则会修改原厂 U-Boot)
bash
设置 bootargs:指定串口、根分区、LAN IP 内核参数,不指定 rootfstype 和 init
setenv bootargs console=ttyS0,115200 root=/dev/mmcblk0p8 ip=192.168.1.111::192.168.1.1::255.255.255.0:😮penWRT::eth0:off
设置 bootcmd:从 U 盘加载 kernel.bin 并启动
setenv bootcmd 'usb start; fatload usb 0:1 0x80000000 kernel.bin; bootm 0x80000000'
立即执行启动命令,临时参数仅当前会话有效
run bootcmd
3. 等待盒子重启,无需修改电脑 IP,直接在浏览器输入 192.168.1.111 即可访问 OpenWRT WEB 界面
四、 启动失败回滚方案
若引导失败(如无法访问 WEB、串口无输出),直接断电重启盒子,原厂 U-Boot 会自动加载原厂系统,无任何副作用。
关键注意事项
1. 网口名称验证:若 eth0 无效,可在启动失败后,临时直连电脑改 IP 进入 OpenWRT,执行 ip link 查看网口名称,替换到 ip= 参数中
2. 网关参数调整:若你的主路由网关不是 192.168.1.1 ,需对应修改 ip= 中的网关地址
3. 永不执行 saveenv:此命令会永久覆盖原厂 U-Boot 环境变量,导致无法恢复原厂系统