V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
mygoare
V2EX  ›  OpenWrt

请教如何备份当前 openwrt 固件

  •  
  •   mygoare · 2014-09-05 21:19:59 +08:00 · 5994 次点击
    这是一个创建于 3734 天前的主题,其中的信息可能已经有所发展或是发生改变。
    自己折腾了个openwrt固件,
    请教下怎么 备份(不是备份配置文件),好下次折腾坏了恢复到自己比较满意的状态

    谢谢!
    19 条回复    2015-11-27 23:54:52 +08:00
    ma0dan
        1
    ma0dan  
       2014-09-05 21:26:39 +08:00
    好像有个snapshot功能,我不会用,你可用google一下
    hellov22ex
        2
    hellov22ex  
       2014-09-05 21:34:21 +08:00
    我安装了luci,里面有备份的选项,还有升级的。。。。
    nanpuyue
        3
    nanpuyue  
       2014-09-05 21:50:46 +08:00   ❤️ 2
    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
        4
    nanpuyue  
       2014-09-05 21:59:42 +08:00   ❤️ 6
    不过,如果在没有重刷固件的情况下,我建议仅对 /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
        5
    ChangeTheWorld  
       2014-09-05 22:24:04 +08:00
    @nanpuyue 照你这样操作备份出来的固件比刷进去的固件 大了7-8M,我的设备是WNDR3800,mtd2是firmware,这是怎么回事,谢谢
    kttde
        6
    kttde  
       2014-09-05 23:03:57 +08:00
    @ChangeTheWorld 大是肯定的,你刷原来的openwrt固件后,难道不装一些软件吗?比如中文语言包,这都会增加体积
    Rocketime
        7
    Rocketime  
       2014-09-06 01:49:17 +08:00 via Android
    最简单的方法(至少我是这样认为的),用编程器把flash里的数据读出来。之后随你怎么折腾,有问题了,再用编程器把数据写进去就是了😁
    no13bus
        8
    no13bus  
       2014-09-06 08:55:49 +08:00
    @hellov22ex 请问点击界面上面的配置选项,然后点击 save&apply的作用是不是跟修改配置文件 比如cgminer的作用是一回事。为什么我手工修改cgminer的时候,添加一个频率配置选项不成功,但是在界面上就可以。
    hellov22ex
        9
    hellov22ex  
       2014-09-06 08:59:00 +08:00
    @no13bus 是的,你的后一个问题我不清楚了,我这两个都能成功的
    no13bus
        10
    no13bus  
       2014-09-06 09:02:31 +08:00
    @hellov22ex 就是加频率。类似这样的。option freq '17:250:1286' 有时候我直接手动加一条这个信息到配置文件里面去,Luci界面报错。说是lua脚本出问题了。
    mygoare
        11
    mygoare  
    OP
       2014-09-06 12:20:24 +08:00
    @ma0dan
    @hellov22ex
    @nanpuyue
    @ChangeTheWorld
    @kttde
    @Rocketime
    @no13bus

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

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

    只是还没有验证前者备份的bin有没有配置文件。
    ddqp
        18
    ddqp  
       2015-03-21 13:58:57 +08:00
    我备份完后,有60M这么大,为啥啊
    kqz901002
        19
    kqz901002  
       2015-11-27 23:54:52 +08:00
    @ddqp 这个应该和你的 flash 大小一样,你的 flash 应该是 64M 的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1133 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:55 · PVG 06:55 · LAX 14:55 · JFK 17:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.