明日复明日,明日何其多。
我生待明日,万事成蹉跎。

openwrt固件备份、恢复及净化的方法

【备份固件方法】

一、编程器固件备份(所有分区)
——————————————————————————————————-
计算机telnet连接后,按如下操作输入命令
1、将固件保存到内存

dd if=/dev/mtd0 of=/tmp/all.bin

2、将内存固件映射到http目录

cd /www
touch all.bin
mount --bind /tmp/all.bin /www/all.bin

3、下载备份固件到计算机
计算机访问
http://192.168.2.1/all.bin
即可下载固件
192.168.2.1为K2P地址,如你已修改,则更改此地址
备份的固件大小为16M,为整个FLASH的备份(含boot、eeprom、固件及你的配置),这个就是所谓的编程器固件,适用于编程器刷入或用命令恢复整个FLASH

二、纯固件备份(firmware分区)
——————————————————————————————————-
如果要备份纯固件,则将mtd0改成mtd5,只备份纯固件(firmware)部分:

dd if=/dev/mtd5 of=/tmp/fs.bin
cd /www
touch fs.bin
mount --bind /tmp/fs.bin /www/fs.bin

计算机访问
http://192.168.2.1/fs.bin
即可下载fs固件

三、EEPROM备份(出厂分区Factory)
——————————————————————————————————-
其实所谓的“EEPROM”就是FLASH中的Factory分区,标识为mtd3,包含了你K2P的一些关键参数信息,如MAC、无线出厂参数,此分区在编程器固件中已经包含
备份方法:

dd if=/dev/mtd3 of=/tmp/eeprom.bin
cd /www
touch eeprom.bin
mount --bind /tmp/eeprom.bin /www/eeprom.bin

计算机访问
http://192.168.2.1/eeprom.bin
即可下载eeprom固件
注:升级官方固件或官方定制固件不会更改eeprom

固件备份后建议重启一下路由器或”rm -f /tmp/*.bin”删除备份固件,否则会占用内存
重启后可以用“rm -f /www/*.bin”删除多余文件

【恢复固件方法】
注意:此操作为高危操作,请仔细阅读下面的说明

一、编程器固件恢复方法
——————————————————————————————————-
一定要是编程器固件【大小应该是16,777,216字节】哦,不然死给你看:
1、检查编程器固件all.bin的大小是否为16,777,216字节,不是的话不要刷
2、用winscp将编程器固件all.bin传到/tmp目录 
3、telnet连接K2P,输入

mtd -r write /tmp/all.bin ALL

注意ALL要大写
耐心等待FLASH写完,K2P会自动复位,启动后即恢复为原始固件

如果你刷了第三方固件,上面第3步的命令可能不一定合适,你需要先用cat /proc/mtd命令查看分区信息,然后mtd刷入包含整个FLASH的分区
比如潘多拉固件,他的分区信息如下:

整个flash的分区是mtd3(size大小为0x1000000),名称为fullflash,那么恢复编程器固件的命令为:

mtd -r write /tmp/all.bin fullflash

第3步改成上面的命令即可

二、单独分区的恢复方法
——————————————————————————————————-
如果你恢复了编程器固件,就不再需要恢复单独的分区了

如果你需要在官方或官改固件上单独恢复eeprom或firmware,只需执行如下操作:
恢复eeprom:
用winscp将编程器固件eeprom.bin传到/tmp目录,执行“mtd -r write /tmp/eeprom.bin Factory
恢复firmware纯固件:
用winscp将编程器固件fs.bin传到/tmp目录,执行“mtd -r write /tmp/fs.bin firmware
其他第三方固件操作方式类似,但命令需根据分区名称来修改

赞(0) 打赏
未经允许不得转载:致明日 » openwrt固件备份、恢复及净化的方法
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

坚持,总会看见蓝天和白云

联系我们你来了,你就是最棒的!

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏