刷机步骤:
本文用到的文件已经打包,放在文章底部
1.通过WebUI更新无线宝提供的openwrt迁移固件(为获取ssh权限):
注意:升级OP后官方宣传会失去保修。
o 文件名称: 官方固件.bin
2. 重启后,使用Xshell或其他软件SSH登录192.168.68.1,端口22,用户名root,没有密码。
3. 备份原厂数据,备份后可以通过命令或其他软件下载到电脑上保存:
备份命令:
dd if=/dev/mmcblk0boot0 of=/mnt/mmcblk0p13/mmcblk0boot0_bl2.bin conv=fsync
dd if=/dev/mmcblk0p1 of=/mnt/mmcblk0p13/mmcblk0p1_PMBR.bin conv=fsync
dd if=/dev/mmcblk0 bs=512 skip=34 count=8158 of=/mnt/mmcblk0p13/mmcblk0p1_unpartitioned.bin conv=fsync
dd if=/dev/mmcblk0p2 of=/mnt/mmcblk0p13/mmcblk0p2_u-boot-env.bin conv=fsync
dd if=/dev/mmcblk0p3 of=/mnt/mmcblk0p13/mmcblk0p3_factory.bin conv=fsync
dd if=/dev/mmcblk0p4 of=/mnt/mmcblk0p13/mmcblk0p4_fip.bin conv=fsync
dd if=/dev/mmcblk0p5 of=/mnt/mmcblk0p13/mmcblk0p5_kernel.bin conv=fsync
dd if=/dev/mmcblk0p6 of=/mnt/mmcblk0p13/mmcblk0p6_rootfs.bin conv=fsync
dd if=/dev/mmcblk0p7 of=/mnt/mmcblk0p13/mmcblk0p7_kernel2.bin conv=fsync
dd if=/dev/mmcblk0p8 of=/mnt/mmcblk0p13/mmcblk0p8_rootfs2.bin conv=fsync
dd if=/dev/mmcblk0p9 of=/mnt/mmcblk0p13/mmcblk0p9_rootfs_data.bin conv=fsync
dd if=/dev/mmcblk0p10 of=/mnt/mmcblk0p13/mmcblk0p10_log.bin conv=fsync
dd if=/dev/mmcblk0p11 of=/mnt/mmcblk0p13/mmcblk0p11_plugin.bin conv=fsync
dd if=/dev/mmcblk0p12 of=/mnt/mmcblk0p13/mmcblk0p12_swap.bin conv=fsync
下载备份文件命令:
cmd运行以下命令,会直接将所有文件下载到cmd当前目录
scp root@192.168.68.1:/mnt/mmcblk0p13/* ./
4.复制gpt表,uboot等文件到路由器
首先打开分区表等文件的目录,在地址栏输入CMD打开命令行,然后运行以下命令将所有文件复制到路由器的tmp目录
scp ./* root@192.168.68.1:/tmp/
所有文件分别是
文件名 | 备注 |
---|---|
jdcloud_re-cp-03_rootfs256M_production256M-gpt.bin | GPT分区文件 |
mt7986_jdcloud_re-cp-03-bl2_mod-fit_20240918.bin | BL分区文件 |
mt7986_jdcloud_re-cp-03-fip_mod-fit_20240918.bin | Fip分区文件(Uboot) |
确保文件都复制成功后,在路由器ssh切换到tmp目录
4.写入新的GPT表:
执行命令:
dd if=jdcloud_re-cp-03_rootfs256M_production256M-gpt.bin of=/dev/mmcblk0 bs=512 seek=0 count=34 conv=fsync
5.擦除并写入新的BL2:
执行命令:
echo 0 > /sys/block/mmcblk0boot0/force_ro
dd if=/dev/zero of=/dev/mmcblk0boot0 bs=512 count=8192 conv=fsync
dd if=mt7986_jdcloud_re-cp-03-bl2_mod-fit_20240918.bin of=/dev/mmcblk0boot0 bs=512 conv=fsync
命令解释:
1.禁用只读模式
2.擦除BL2区域
3.写入BL2
6.擦除并写入新的FIP:
执行命令:
dd if=/dev/zero of=/dev/mmcblk0 bs=512 seek=13312 count=8192 conv=fsync
dd if=mt7986_jdcloud_re-cp-03-fip_mod-fit_20240918.bin of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
命令解释:
1.擦除FIP区域
2.写入FIP
刷入完成,重启进入uboot刷入固件
重启前一定要确保上面的BL,FIP分区刷入时没有报错,如果有请不要重启,重刷即可,否则重启变砖
设置电脑的IP为静态IP:
o IP:192.168.1.254/24
o 掩码:255.255.255.0
然后等路由重启完成后访问192.168.1.1进入Uboot界面刷机即可,
刷入其他版本Uboot
如果要更新为更新版本Uboot,下载好新版本的文件并上传到路由器,更改写入bl、fip的命令即可
示例:
dd if=BL分区文件名 of=/dev/mmcblk0boot0 bs=512 conv=fsync
dd if=FIP分区文件名 of=/dev/mmcblk0 bs=512 seek=13312 conv=fsync
扩容:
这里刷的分区文件为256M,刷完固件默认系统大小就是256M
主要为了方便把剩余空间全部用上,避免过于浪费,有需要可以替换为其他大小的分区文件
注:如果固件编译的root分区大于256M,可能会导致无法开机,这个情况未测试
剩余空间扩容详见:
资源下载
Uboot新版本下载及其他参考文档
自己寻找emmc-uboot的文件下载
暂无评论内容