openwrt(三) 固件的烧录
导航:
方法1: tftp;
方法2: 在线升级
方法3: BIOS烧录
方法1:TFTP
这应该是最万能的一种方法了。TFTP是一种依靠网口传送数据的一种通信协议,没错,只是传输数据,并不是烧录,所以实现烧录这个功能的还是uboot的功能。
准备:机子有uboot。
步骤:
- 连线。将电脑的网口连上路由器的随便一个口。然后用ssh也好,用串口也好,(我一般用串口),进入到路由器的后台linux系统。
- 电脑ip设置。
- 在路由器后台,执行reboot,在路由器重启时,根据提示进入boot模式。
- 用帮助命令查看 查询当前环境变量的命令。我的是printenv。找到我们要的server_ip.
- 在电脑上,将IPV4设置为静态地址,就填刚刚的服务器地址。保存,退出。
- 将固件放在TFTP指定的路径下,(可百度TFTP的使用方法),然后执行uboot命令。
- 传输: tftp 0x80060000 lede.bin //0x80060000是flash的固件保存地址,这个根据UNI自己的uboot决定,每个人都不同,可以执行2.2命令查看。lede.bin是我要烧录的文件。
- 擦除:erase 0x9f050000 +$filesize //0x9f050000 是固件的启动地址 $filesize 是变量,会自动带入固件的大小。不要漏掉了+号。
- 拷贝:cp.b 0x80060000 0x9f050000 $filesize
- 设置启动地址:set bootcmd 0x9f050000;save;
- 这里可真的是一个坑。我也不知道怎么描述,我的情况是,
- 当我烧录openwrt15版本的时候,启动地址是0x9f050000
- 当我烧录lede17版本的时候,启动地址要设置为0x9f800000,才能启动。
- 启动:boot。
方法2:在线升级
这是最方便的方法了。但是仅仅支持同一版本的系统才行在线更新。比如我15版本只能更新15,而不能刷lede版本。
步骤:进入路由器网页管理界面,找到系统升级,选择固件升级即可。
方法3:BIOS烧录(最终版)
为什么会写这么一个版本呢?因为我有一次在用TFTP烧录,erase的时候,记错地址 ,把uboot给擦没了。这样子uboot用不了,系统又无法启动,彻彻底底成为砖了。
这个时候我只能把flash芯片卸下来,然后把uboot重新烧录进去。BIOS烧录要用到烧录器,就是一个专门烧写falsh的小设备。然后配合烧录软件,就可以完成烧录。这是最底层的烧录。也是uboot的烧录。然后再把flash重新焊接上去,成功救活。
上面是我自己使用过的烧录方法。好修昂还有其他方法,我就不研究了。工作中慢慢总会碰到很多烧写固件的方法,再总结。
以上。
openwrt(三) 固件的烧录的更多相关文章
- nodemcu固件的烧录及lua开发
一.板子介绍 NodeMCU 1.0/ESP 8266 12E 该模块是安信可公司生产的,并且提供全部开发资料. 对该模块的开发有两种方式: 一种是基于乐鑫官方推出的SDK开发包在 安信可ESP的一体 ...
- 交叉编译OpenWrt 定制固件
在Centos7上交叉编译生成OpenWrt固件 安装ss-* 获取最新的ss, 当前是 wget https://github.com/shadowsocks/shadowsocks-libev/a ...
- openwrt MT7620 固件编译记录
下载,安装相关软件 git clone git@github.com:openwrt-mirror/openwrt.git sudo apt-get install gcc g++ binutils ...
- openwrt装载固件
方法1. 确定串口号以后(在设备管理器可以查看) 打开SecureCRT软件,选择串口,设置合适的波特率(我用的115200),然后快速连接, 板子通电启动,在启动的时候会提示按任意键中断,这时按下任 ...
- openwrt官方固件怎么中继网络
关键一点,取消勾
- 路由器刷机常见第三方固件及管理前端种类(OpenWrt、Tomato、DD-Wrt)
目前路由器折腾刷机,除了采用各品牌的原厂固件外,第三方路由器固件,基本就是:Tomato.DD-WRT.OpenWRT三种. 基本上所有第三方路由器固件的架构上可分为前端(Frontend)和后端(B ...
- TL-WR703Nv1.7刷写openwrt固件
TP-LINK TL-WR703N是一个小型的路由器,可以有线转WiFi,3G转WiFi,很多人拿它刷openwrt系统,然后可以在上面各种搞事. V1.7以前 通常刷openwrt的做法是, 下载一 ...
- J-Link固件烧录以及使用J-Flash向arm硬件板下载固件程序
这篇文章的最初版本是在15年写的https://blog.csdn.net/u010592722/article/details/45575663,后来又遇到了一些新问题,故更新在了这里. 一.始于安 ...
- arduino远程刷新(烧录)固件
在车间部署了十几个网络版的温湿度采集器(基于arduino的),这些采集器分布在不同的地方,现在要更新一下上面的固件.最笨的方法是一个一个地取下来,插到电脑的USB接口上进行固件更新,这样做显然很麻烦 ...
随机推荐
- window.open方法解析
一.前言 最近在项目中需要新窗口打开一个第三方的页面,大家都知道,使用window.open打开新窗口某些情况下会被浏览器的屏蔽程序阻止.如果要打开的URL是通过AJAX获取的,就一定会被浏览器拦截. ...
- node-sass 安装报错解决办法
npm install安装node-sass时出现以下问题: Cannot download https://github.com/sass/node-sass/releases/download/v ...
- SpringCloud的学习记录(1)
最近一段时间重新学习一边SpringCloud(有半年不用了),这里简单记录一下. 我用的是IntelliJ IDEA开发工具, SpringBoot的版本是2.1.3.RELEASE. 1. 构建M ...
- 离线安装vscode vsix插件
VS代码扩展市场 通过扩展增强Visual Studio代码的强大功能 https://marketplace.visualstudio.com/vscode Visual Studio Code包含 ...
- 【转】WebSocket 是什么原理?为什么可以实现持久连接?
WebSocket是HTML5出的东西 也就是说HTTP协议没有变化 但HTTP是不支持持久连接的(长连接,循环连接的不算)或者说WebSocket干脆就不是基于HTTP来执行的.但是...说不通啊. ...
- 20145238-荆玉茗 《Java程序设计》实验三
20145238-荆玉茗-实验三 实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营 ...
- 为什么实例没有prototype属性?什么时候对象会有prototype属性呢?
为什么实例没有prototype属性?什么时候对象会有prototype属性呢? javascript loudou 1月12日提问 关注 9 关注 收藏 6 收藏,554 浏览 问题对人有帮助,内容 ...
- npm包发布过程
在上一章节中,我封装了一个基于react的树状组件,后来想把它发布到npm上,下面主要介绍一下发布过程中遇到的问题: 1.去注册npm账号,注册地址(https://www.npmjs.com), 再 ...
- Vuex基础-Mutation
借助官网的一张图,更改 Vuex 的 store 中的状态的唯一方法是提交 mutation.不可以直接对其进行赋值改变.需要注意的是,mutations只能做一些同步的操作. 代码结构: ...
- 居中未知元素(翻译https://css-tricks.com/centering-in-the-unknown/)
在web开发中,当你遇到居中元素时,知道越多关于元素本身和父级元素的信息,居中做起来就很轻松.但是,当遇到你一点都不知道的元素该怎么办? It's still kinda doable. 不会很难:已 ...