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 ...
随机推荐
- stand up meeting 12/25/2015 & weekend 12/26/2015~12/27/2015
part 组员 工作 工作耗时/h 明日计划 工作耗时/h UI 冯晓云 在pdf阅读页面添加生词本显示:UI美化 6 完善显示 ...
- Unity 游戏框架搭建 2019 (二十九) 方法所在类命名问题诞生的原因
我们在整理阶段解决了一些意外的问题.但是这些问题仅仅只是被解决而已,我们并没有去思考过这些问题是为什么产生的?以及在以后我们如何去避免这些问题的产生? 方法所在类的命名问题,最后我们通过方法分类解决了 ...
- 《并发编程的艺术》阅读笔记之Volatile
来源 在 JDK1.2 之前,Java的内存模型实现总是从主存(即共享内存)读取变量,是不需要进行特别的注意的.而在当前的 Java 内存模型下,线程可以把变量保存本地内存(比如机器的寄存器)中,而不 ...
- MySQL笔记总结-TCL语言
TCL语言 事务 一.含义 事务控制语言 Transaction Control Language 事务:一条或多条sql语句组成一个执行单位,一组sql语句要么都执行要么都不执行 二.特点(ACID ...
- 解析一下阿里出品的泰山版 Java 开发手册
说起华山,我就想起岳不群,不,令狐冲:说起泰山,我就想起司马迁,他的那句名言"人总有一死,或重于泰山,或轻于鸿毛",真的发人深省啊.这就意味着,阿里出品的泰山版 Java 开发手册 ...
- 前端日期时间处理建议使用Momen
使用方法 下载: http://momentjs.cn/downloads/moment.js 多语言版本:http://momentjs.cn/downloads/moment-with-local ...
- 前端JS—显示赋值(一)
一:js代码必须位于<script>js代码</script> 把js代码放到<body>元素的地步,可以改善显示速度 二:js显示数据 使用 window.ale ...
- ELK6.3版本安装部署
一.Elasticsearch 安装 1.部署系统以及环境准备 cat /etc/redhat-release CentOS Linux release 7.4.1708 (Core) uname - ...
- CentOS上安装配置 mongodb
CentOS 首先yum list mongo* 查看是否有关于mongo的安装包,检查后安装即可 mongo 分client端和server端,server启动db服务,client可以连接到s ...
- 抖音人脸识别Autojs脚本
title: 抖音人脸识别Autojs脚本 用Autojs写的抖音人脸颜值检测脚本 疫情期间宅家久了,昨天闲着没事(好吧,有事情,但是我不想做) ,消费之火熊熊燃烧.一咬牙把Autojs入正了.我 ...