openwrt使用mtd备份/恢复系统

1.获取 rootfs_data

设备 OpenWrt-18.06.5-newifi-d2
cat /proc/mtd
得到如下输出
dev: size erasesize name
mtd0: 00030000 00010000 “u-boot”
mtd1: 00010000 00010000 “u-boot-env”
mtd2: 00010000 00010000 “factory”
mtd3: 01fb0000 00010000 “firmware”
mtd4: 001c0fb0 00010000 “kernel”
mtd5: 01def050 00010000 “rootfs”
mtd6: 01b80000 00010000 “rootfs_data”

可用于mtd烧写和复制的分区是 rootfs_data,如上,位于mtd6,在磁盘的位置 /dev/mtd6
如果设备设置支持nand flash,rootfs_data 也位于 /dev/mtdblock6

2.备份openwrt系统

例如备份到 /tmp 目录
上述例子 rootfs_data 分区位于 mtd6 ,因此使用dd命令 将其写到 /tmp/backup-*-overlay.bin文件

dd if=/dev/mtd6 of=/tmp/backup-`echo $(cat /etc/banner|grep OpenWrt|awk -F "," '{print $1}')|sed 's/ /-/g'`-`uname -n`-`date  "+%Y-%m-%d"`-overlay.bin

或者 nand设备 /dev/mtdblock6

dd if=/dev/mtdblock6 of=/tmp/backup-`echo $(cat /etc/banner|grep OpenWrt|awk -F "," '{print $1}')|sed 's/ /-/g'`-`uname -n`-`date  "+%Y-%m-%d"`-overlay.bin

使用dd 命令 位于 rootfs_data分区的内容包括已经安装的软件和配置会原原本本地写入 overlay.bin文件,这就像 ghost克隆,而不像 openwrt提供的备份功能,只恢复配置文件

将 /tmp/backup-*-overlay.bin 保存到其他主机,当需要恢复的时候 用做恢复源镜像,重启后/tmp目录下的内容丢失

3.还原openwrt系统

将备份的文件 使用 mtd -r write 烧写到 路由的 rootfs_data分区
例如 使用scp 将 /tmp/backup-*-overlay.bin 复制到 openwrt

scp /data/openwrt-backup/backup-OpenWrt-18.06.5-newifi-d2-2020-3-11-overlay.bin root@192.168.1.1:/tmp/backup-OpenWrt-18.06.5-newifi-d2-2020-3-11-overlay.bin

mtd烧写固件

mtd -r write /tmp/backup-OpenWrt-18.06.5-newifi-d2-2020-3-11-overlay.bin rootfs_data
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值