有事您说话 发表于 2017-8-10 17:24:55

OpenWRT固件如何实现备份与还原

今天与大家分享如何将OpenWRT中CFE进行备份还原。 至于为什么备份CFE这里我就不多讲了,总之如果你想通过此方法实现备份看这里就是了。 第一步,查看 firmware 分区所对应的 mtd 设备

1

cat /proc/mtd




显示:

1
2
3
4
5
6
7
8
9
10
11

mtd0: 00040000 00020000 "u-boot"
mtd1: 00040000 00020000 "u-boot-env"
mtd2: 00040000 00020000 "caldata"
mtd3: 00080000 00020000 "pot"
mtd4: 00200000 00020000 "language"
mtd5: 00080000 00020000 "config"
mtd6: 00300000 00020000 "traffic_meter"
mtd7: 00200000 00020000 "kernel"
mtd8: 07700000 00020000 "ubi"
mtd9: 07900000 00020000 "firmware"
mtd10: 00040000 00020000 "caldata_backup"




这里就是mtd9
第二部,得到固件备份文件 firmware_backup.bin,在 /tmp 目录下

1

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




第三部,恢复该固件:
将 firmware_backup.bin 上传至 /tmp,使用命令

1

mtd -r write /tmp/firmware_backup.bin firmware




即可恢复,恢复完成路由器会自行重启不过,如果在没有重刷固件的情况下,我建议仅对 /overlay 进行打包并备份:

1

tar -czvf /tmp/overlay_backup.tar.gz /overlay




然后下次直接将 overlay_backup.tar.gz 上传至 /tmp ,然后清空 /overlay 并恢复备份:

1
2

rm -rvf /overlay/*
cd / && tar -xzvf /tmp/overlay_backup.tar.gz





lianyungang 发表于 2017-8-10 19:20:29

学习一下。感谢分享。
页: [1]
查看完整版本: OpenWRT固件如何实现备份与还原