如何备份 OpenWrt 固件
新刷好的OpenWrt装了一大堆软件,然后一个不小心被你给搞挂了?
又要重新刷固件重新装软件重新配置?神烦?
Just Backup It!
如果路由器被你搞挂了,完全无法启动,那么你需要重刷固件并且恢复,按照这个来备份:
首先,查看你的 firmware 所对应的 mtd 编号 cat /proc/mtd
,比如我的,
root@ABigBug:~# cat /proc/mtd
dev: size erasesize name
mtd0: 00020000 00010000 "u-boot"
mtd1: 000e43ec 00010000 "kernel"
mtd2: 00eebc14 00010000 "rootfs"
mtd3: 004c0000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "art"
mtd5: 00fd0000 00010000 "firmware"
这里就是 mtd5.
然后备份 firmware 到 /tmp 下就可以了
dd if=/dev/mtd5 of=/tmp/firmware_backup.bin
得到固件备份文件 firmware_backup.bin,在 /tmp 目录下.
以后要恢复固件的时候,首先想办法连上SSH,比如刷一个新固件,然后将 firmware_backup.bin 上传到 /tmp 下,利用 mtd 命令恢复即可。
mtd -r write /tmp/firmware_backup.bin firmware
如果路由器配置被你完全搞乱了,但是还能启动并且可以连上SSH,那么按照下面来备份:
仅对 /overlay 打包备份即可
tar -czvf /tmp/overlay_backup.tar.gz /overlay
需要恢复的时候将 overlay_backup.tar.gz 上传至 /tmp ,然后清空 /overlay 并恢复备份:
rm -rvf /overlay/*
cd /
tar -xzvf /tmp/overlay_backup.tar.gz
OK, 我个人建议你两种备份都预留一份,随时应对各种情况。