请教如何备份当前 openwrt 固件

2014-09-05 21:19:59 +08:00
 mygoare
自己折腾了个openwrt固件,
请教下怎么 备份(不是备份配置文件),好下次折腾坏了恢复到自己比较满意的状态

谢谢!
5800 次点击
所在节点    OpenWrt
19 条回复
ma0dan
2014-09-05 21:26:39 +08:00
好像有个snapshot功能,我不会用,你可用google一下
hellov22ex
2014-09-05 21:34:21 +08:00
我安装了luci,里面有备份的选项,还有升级的。。。。
nanpuyue
2014-09-05 21:50:46 +08:00
1.cat /proc/mtd
查看 firmware 分区所对应的 mtd 设备,比如:
dev: size erasesize name
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
2.dd if=/dev/mtd9 of=/tmp/firmware_backup.bin
得到固件备份文件 firmware_backup.bin,在 /tmp 目录下
3.恢复该固件:
将 firmware_backup.bin 上传至 /tmp,使用命令 mtd -r write /tmp/firmware_backup.bin firmware 即可恢复,恢复完成路由器会自行重启
nanpuyue
2014-09-05 21:59:42 +08:00
不过,如果在没有重刷固件的情况下,我建议仅对 /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
ChangeTheWorld
2014-09-05 22:24:04 +08:00
@nanpuyue 照你这样操作备份出来的固件比刷进去的固件 大了7-8M,我的设备是WNDR3800,mtd2是firmware,这是怎么回事,谢谢
kttde
2014-09-05 23:03:57 +08:00
@ChangeTheWorld 大是肯定的,你刷原来的openwrt固件后,难道不装一些软件吗?比如中文语言包,这都会增加体积
Rocketime
2014-09-06 01:49:17 +08:00
最简单的方法(至少我是这样认为的),用编程器把flash里的数据读出来。之后随你怎么折腾,有问题了,再用编程器把数据写进去就是了😁
no13bus
2014-09-06 08:55:49 +08:00
@hellov22ex 请问点击界面上面的配置选项,然后点击 save&apply的作用是不是跟修改配置文件 比如cgminer的作用是一回事。为什么我手工修改cgminer的时候,添加一个频率配置选项不成功,但是在界面上就可以。
hellov22ex
2014-09-06 08:59:00 +08:00
@no13bus 是的,你的后一个问题我不清楚了,我这两个都能成功的
no13bus
2014-09-06 09:02:31 +08:00
@hellov22ex 就是加频率。类似这样的。option freq '17:250:1286' 有时候我直接手动加一条这个信息到配置文件里面去,Luci界面报错。说是lua脚本出问题了。
mygoare
2014-09-06 12:20:24 +08:00
@ma0dan
@hellov22ex
@nanpuyue
@ChangeTheWorld
@kttde
@Rocketime
@no13bus

感谢大家的回复与帮助, 用 @nanpuyue 所说的第二种备份 overlay 的方法成功了,我的设备是hg255d, 用第一种备份 固件的时候,每次都失败,hg255d路由会自行重启。。
hellov22ex
2014-09-06 13:35:42 +08:00
@no13bus 这个我就不知道了,我对Luci的脚本不了解,不知道你这么改是否会造成错误
xcmsgdtc
2014-12-30 12:27:09 +08:00
感觉很有用,mark一下
kqz901002
2015-02-08 22:32:22 +08:00
@mygoare 可能是内存太小,你可以直接备份到USB设备
mygoare
2015-02-09 17:50:22 +08:00
@kqz901002 谢谢!!现在在折腾极路由了
hzqim
2015-02-26 23:41:04 +08:00
@nanpuyue 请问这两种方法有什么不同?
除了固件之外,软件的配置文件是否也一并备份了?

谢谢回答!
hzqim
2015-02-27 00:02:20 +08:00
@nanpuyue 抱歉,自己看帖不仔细!
前者备份有 15.8 M
后者备份只有 几百K,只包含一些配置文件而已

只是还没有验证前者备份的bin有没有配置文件。
ddqp
2015-03-21 13:58:57 +08:00
我备份完后,有60M这么大,为啥啊
kqz901002
2015-11-27 23:54:52 +08:00
@ddqp 这个应该和你的 flash 大小一样,你的 flash 应该是 64M 的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/131986

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX