添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
dev:    size   erasesize  name
mtd0: 00050000 00010000 "u-boot"
mtd1: 00020000 00010000 "u-boot-env"
mtd2: 00f80000 00010000 "firmware"
mtd3: 00107440 00010000 "kernel"
mtd4: 00e78bc0 00010000 "rootfs"
mtd5: 00810000 00010000 "rootfs_data"
mtd6: 00010000 00010000 "art"

其中,mtd2就是固件分区(firmware)

2 备份固件firmware

dd if=/dev/mtd2 of=/tmp/firmware_backup.bin

使用winscp登陆路由器tmp目录,将固件文件firmware_backup.bin保存到电脑中。

dd指令的使用,可以在终端输入man dd,查看man手册,本文不赘述;

3 恢复固件firmware

先用winscp将固件文件firmware_backup.bin传至路由器tmp目录,然后:

mtd -r write /tmp/firmware_backup.bin firmware

即可恢复,恢复完成路由器会自行重启,-r的参数是reboot的作用。

4 备份恢复Openwrt路由器配置

备份自定义路由器信息,包括新安装软件:

dd if=/dev/mtd5 of=/tmp/overlay.bin

恢复备份设置并重启:
先用winscp将备份文件overlay.bin上传到路由器tmp目录(因为一般来说系统可能是readonly,但是tmp对于用户都是有读写权限的),然后:

mtd -r write /tmp/overlay.bin rootfs_data

仅备份路由器配置:

sysupgrade -b /tmp/back.tar.gz

恢复路由器配置:

sysupgrade -f /tmp/back.tar.gz

5 恢复Openwrt路由器默认设置

删除/overlay分区所有文件,重启即恢复默认设置:

rm -rvf /overlay/* && reboot

使用mtd清除/overlay分区信息后重启即恢复默认设置:

mtd -r erase rootfs_data

6 刷新路由器固件

使用mtd刷新:
先用winscp将固件文件xxx.bin传至路由器tmp目录,然后:

mtd -r write /tmp/xxx.bin firmware

刷新完成后路由器会自动重启。

使用sysupgrade更新,推荐这种方式:
sysupgrade相比mtd更加安全,变砖的可能性比较少;
先用winscp将固件文件xxx.bin传至tmp目录,然后:

sysupgrade /tmp/xxx.bin
dev: size erasesize name 
mtd0: 00050000 00010000 “u-boot” 
mtd1: 00020000 00010000 “u-boot-env” 
mtd2: 00f80000 00010000 “firmware” 
mtd3: 00107440 0001000
				
本来是想按照代码流程往下讲bbt的,但是写着写着,还是要先介绍下mtd的几个基本flash读写擦函数接口。那就调整下,先讲基本接口函数,再讲到bbt的时候,就不用回头来讲基本读写函数了,这样主线清楚些。 忽然觉得我讲的流程有些乱:) 还没有讲flash的具体操作命令,要是穿插在下来的章节里面讲,会更乱,那就在这里补充下吧:) 前面这章已经提到了一些东西,但我光顾着分解代码了,没有把他们
我可以为你提供一些关于 OpenWrt 的基本信息,并向你推荐一些可以参考的教程。 OpenWrt 是一个嵌入式操作系统,专为路由器和其他网络设备设计。它可以帮助用户定制路由器的固件,以满足他们的网络需求。 如果你想要学习 OpenWrt,你可以参考以下教程: 1. OpenWrt 官方文档:https://openwrt.org/docs/guide-user/ 2. OpenWrt Wiki:https://wiki.openwrt.org/ 3. 洛谷技术博客:https://www.luogu.org/blog/PureEase/ 4. 运维生存时间:https://www.ttlsa.com/openwrt/ 这些教程都可以帮助你了解 OpenWrt 的基本原理,并学习如何使用它来配置路由器。希望这些信息能帮到你。