zoukankan      html  css  js  c++  java
  • Openwrt:mtd/mtd_write烧写固件

    比较简单,亲测有效,中途不要断电,当心变砖。

    1 查看当前系统分区信息

    cat /proc/mtd
    显示:

    dev:    size   erasesize  name
    mtd0: 00050000 00010000 "u-boot"
    mtd1: 00020000 00010000 "u-boot-env"
    mtd2: 00f80000 00010000 "firmware"
    mtd3: 00107440 00010000 "kernel"
    mtd4: 00e78bc0 00010000 "rootfs"
    mtd5: 00810000 00010000 "rootfs_data"
    mtd6: 00010000 00010000 "art"
    

    其中,mtd2就是固件分区(firmware)

    2 备份固件firmware

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

    使用winscp登陆路由器tmp目录,将固件文件firmware_backup.bin保存到电脑中。

    dd指令的使用,可以在终端输入man dd,查看man手册,本文不赘述;

    3 恢复固件firmware

    先用winscp将固件文件firmware_backup.bin传至路由器tmp目录,然后:

    mtd -r write /tmp/firmware_backup.bin firmware
    

    即可恢复,恢复完成路由器会自行重启,-r的参数是reboot的作用。

    4 备份恢复Openwrt路由器配置

    备份自定义路由器信息,包括新安装软件:

    dd if=/dev/mtd5 of=/tmp/overlay.bin
    

    恢复备份设置并重启:
    先用winscp将备份文件overlay.bin上传到路由器tmp目录(因为一般来说系统可能是readonly,但是tmp对于用户都是有读写权限的),然后:

    mtd -r write /tmp/overlay.bin rootfs_data
    

    仅备份路由器配置:

    sysupgrade -b /tmp/back.tar.gz
    

    恢复路由器配置:

    sysupgrade -f /tmp/back.tar.gz
    

    5 恢复Openwrt路由器默认设置

    删除/overlay分区所有文件,重启即恢复默认设置:

    rm -rvf /overlay/* && reboot
    

    使用mtd清除/overlay分区信息后重启即恢复默认设置:

    mtd -r erase rootfs_data
    

    6 刷新路由器固件

    使用mtd刷新:
    先用winscp将固件文件xxx.bin传至路由器tmp目录,然后:

    mtd -r write /tmp/xxx.bin firmware
    

    刷新完成后路由器会自动重启。

    使用sysupgrade更新,推荐这种方式:
    sysupgrade相比mtd更加安全,变砖的可能性比较少;
    先用winscp将固件文件xxx.bin传至tmp目录,然后:

    sysupgrade /tmp/xxx.bin
    
  • 相关阅读:
    JVM对象
    JVM如何加载Java类
    JVM内存模型
    JVM的直接内存
    docker run命令
    JVM调优-CPU占用过高
    JVM调优工具
    Java爬虫爬取京东商品信息
    Linux下设置Tomcat虚拟路径
    Java设计模式之-------->"代理模式"
  • 原文地址:https://www.cnblogs.com/unclemac/p/12783446.html
Copyright © 2011-2022 走看看