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
Openwrt:mtd/mtd_write烧写固件的更多相关文章
- 解决:j-link V8下载器灯不亮,无法正常烧写固件
昨天j-link V8下载仿真F4正常,下午下载仿真F1后吃了个饭,然后它的灯就不亮了...按照这个例程弄了好几遍都不行,http://www.cr173.com/soft/98542.html,卡在 ...
- NodeMCU入坑指南-烧写固件并连接WIFI
写在前面 今天入手了一个NodeMCU的板子,准备学习一下物联网相关的知识.不过由于博主学艺不精,在第一步烧写固件上就踩坑了,所以就想着把自己的踩坑经历写出来分享给大家,希望能有一些帮助~ 材料准备 ...
- s3c2440 移值u-boot-2016.03 第6篇 支持mtd yaffs 烧写
1, 解决启动时的错误 Warning - bad CRC, using default environment 搜索发现 在 /tools/env/fw_env.c 中 /* 放在NAND FLAS ...
- 利尔达NB-IOT模块烧写固件的步骤
1. NB-IOT是3个内核,用户开发的是A核,就是应用核,用Eclipse软件打开软件SDK之后,会生成一个bin文件(应用核的bin),现在就是要把bin文件合并到包里面(3个内核的bin),一起 ...
- 蓝牙DA14580开发:固件格式、二次引导和烧写
嵌入式企鹅圈原创团队成员黄鑫提供. 相比NRF52832和CC254X,蓝牙单芯片DA14580在OTA和二次引导上要复杂一些,不仅体现在memory map.引导过程等流程上,而且在固件格式.生成和 ...
- [Micropython]TPYBoardV102 Dfu固件烧写教程
TPYBoardv10x固件烧写一直是大家比较关心的问题,上次教大家用SWD接口烧写TPYBoard的固件,这次教大家用另一种方式烧写我们TPYBoardv10x的固件,直接用dfu模式烧写固件. 用 ...
- 【linux项目】lichee nano linux烧写
目录 前言 参考: 安装交叉编译链 搭建 SPI FLASH 烧录环境 让芯片进入烧写模式 sunxi 烧写命令 u-boot 裁剪 拉取 u-boot 源码 配置 u-boot 检查 flash 驱 ...
- [Intel Edison开发板] 06、Edison开发在linux中烧写、配置、搭建开发环境
1.前言 linux上烧写.配置.搭建Edison环境,千万不要用默认的setup tool for ubuntu!!! (即使,你用的就是ubuntu) 因为,其默认的工具会从一个坏链接下载配置文件 ...
- Davinci DM6446开发攻略-UBOOT-2009.03移植2 nand flash的烧写
很长一段时间没有更新博客了,是因为要推出新开发方案和做好客户服务工作,忙得不易乐乎.有关DAVINCI U-BOOT的移植,以前写过一篇u-boot-1.3.4(2008年的),其实和这个u-bo ...
随机推荐
- L23模型微调fine tuning
resnet185352 链接:https://pan.baidu.com/s/1EZs9XVUjUf1MzaKYbJlcSA 提取码:axd1 9.2 微调 在前面的一些章节中,我们介绍了如何在只有 ...
- Python - 实现文件名自动更改,避免同名文件被覆盖的两个解决方法
[原创]转载请注明作者Johnthegreat和本文链接. 在一些不多的数据下载和生成的时候,我们倾向于直接保存为文件,当我们修改某些参数后再一次运行时,之前运行时生成的文件就被覆盖了.为了解决这个问 ...
- mapstruct使用详解
我们都知道,随着一个工程的越来越成熟,模块划分会越来越细,其中实体类一般存于 domain 之中,但 domain 工程最好不要被其他工程依赖,所以其他工程想获取实体类数据时就需要在各自工程写 mod ...
- [YII2] 文件上传类
//测试文件上传类 public function actionCreate() { $model = new Lvyou(); $upload_model = new \app\models\Upl ...
- 牛顿迭代法的理解与应用( x 的平方根)
题目来源与LeetCode算法题中的第69题,具体内容如下(点击查看原题): 实现 int sqrt(int x) 函数. 计算并返回 x 的平方根,其中 x 是非负整数. 由于返回类型是整数,结果只 ...
- ElasticSearch的高级复杂查询:非聚合查询和聚合查询
一.非聚合复杂查询(这儿展示了非聚合复杂查询的常用流程) 查询条件QueryBuilder的构建方法 1.1 精确查询(必须完全匹配上,相当于SQL语句中的“=”) ① 单个匹配 termQuery ...
- 安装和使用redis
我现在只是在window上使用redis在其他平台上暂时没有操作过,如果你有其他好的意见欢迎提出来! 安装redis具体可查看:http://www.runoob.com/redis/redis-in ...
- Auth认证中的think_auth_rule type字段干嘛用的?
昨晚认真研究了一下这个类,设计的很巧妙,但是你说的这个字段,我认为应该是作者想加功能但还没写,在session判断的地方可以看到,type这个字段实际是对应的 1-实时验证,2登陆验证 ,显然,这个字 ...
- 数据库SQL---数据库、基本表、视图、索引的定义、修改、删除
1.SQL(结构化查询语言)的组成:数据定义语言DDL.数据操纵语言DML.数据控制语言DCL.其他. 2.SQL语言的功能: 1)数据查询:SELECT 2)数据定义:CREATE DROP ...
- 鸟哥Linux私房菜(基础篇)——第五章:首次登入与在线求助 man page笔记
1.X Winsows与文本模式的切换 ●[Ctrl] + [Alt] + [F1] ~ [F6] :文字接口登入 tty1 ~ tty6 终端机. ●[Ctrl] + [Alt] + ...