找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 503057|回复: 493

【U-Boot】U-Boot 刷机方法大全

 火... [复制链接]
发表于 2014-12-11 22:21 | 显示全部楼层 |阅读模式
本帖最后由 hackpascal 于 2016-10-24 14:19 编辑

U-Boot 刷机方法大全

1楼: OpenWrt + SSH 刷机方法
2楼: U-Boot + TTL 刷机方法
3楼: 使用 HFS 上传文件 (配合1楼方法)


OpenWrt + SSH 刷机方法

如果要刷 U-Boot,则必须事先刷入解锁 u-boot 分区的 OpenWrt 固件。

准备工具:
PuTTY: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
WinSCP: http://winscp.net/eng/download.php

PuTTY 可以作为 SSH 客户端,登录路由器的 Shell 环境,以执行各种命令。
WinSCP 是一个图形化的 SCP 协议 (基于 SSH 的文件传输协议) 客户端,用于本地和路由的文件传输。

设置 OpenWrt 管理密码 (root 密码):
只有设置了 root 密码,才能使用 SSH 协议工具。
如果已经设置了密码,请跳过这一步。

以下步骤任选一个就行

1. 在 LuCI 里设置管理员密码(针对有 LuCI 的固件):
[系统] → [管理权]


2. 使用 telnet 登录路由设置密码(针对没有 LuCI 的固件):
telnet 协议是一种类似于 SSH 的协议,只是它不经过加密,因此在外网环境中不太安全。
OpenWrt 只有在未设置 root 密码时,才能使用 telnet 协议。

PC [开始]→[所有程序]→[附件]→[命令提示符]

Win + R 组合键→输入 cmd→回车

输入 telnet <路由IP地址>



输入 passwd,回车
输入两次密码,分别以回车结束。
注意:输入密码时,密码不会显示,直接输入即可。



使用 WinSCP 传输要刷入的文件 (以 U-Boot 为例):

打开 WinSCP
File Protocol 选择 SCP
Host name 填入路由器 IP 地址
User name 填入 root
Password 填入 root 的密码

单击 [Login]



如果是第一次使用 WinSCP 登录路由,那么 WinSCP 会弹出如下对话框:
其大意是第一次连接此主机,其 RSA 指纹 Key 未被登记,是否要信任此主机
这里单击 Yes,以确认信任此路由。



WinSCP 主界面
左侧切换到要上传的文件的目录
右侧切换到 /tmp 目录
选择 /tmp 目录的原因是:/tmp 目录挂载于内存中,而且容量较大,这样刷写固件时不会跟 Flash 产生冲突。



选择要上传的文件,右键菜单选择 [Upload]



直接单击 [OK] 继续
文件即可上传到路由中。

使用 PuTTY 登录路由:

打开 PuTTY
Host Name 填入路由器 IP 地址
Connection type 选择 SSH (默认)

单击 [Open]



跟 WinSCP 一样,如果是第一次使用 PuTTY 登录路由,那么会有如下提示:
单击 [Yes] 即可。



然后 PuTTY 会要求输入用户名和密码:
用户名填入 root
密码填入 root 密码。这里一样在输入密码时不会显示。
如果用户名密码无误,就会进入 Shell 环境。



输入 cd /tmp 命令进入 /tmp 目录。
输入 mtd write <文件名> <mtd分区名> 命令以进行刷机操作

下图是以刷入 U-Boot 为例的:



有些教程会在 mtd 命令后加入 -r 参数,此参数的意思为刷写完成后立即重启路由
但这里不建议这么做,因为一旦刷机文件选错,这里还有补救的机会。

关于获取 MTD 分区名:
运行 cat /proc/mtd 命令即可查看


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

新手马克  发表于 2017-1-24 21:16
想请问楼主如何解锁UBOOT  发表于 2015-7-8 15:57

评分

参与人数 23恩山币 +27 收起 理由
zhiqiang6908 + 1 试试效果怎样
eep01 + 1 强大的恩山!(以下重复1万次)
HkX + 1 率全体恩山路由党以及党魁向你学习!
lvchengshang + 1 强大的恩山!(以下重复1万次)
goochenlong + 1 强大的恩山!(以下重复1万次)
gylzd + 1 强大的恩山!(以下重复1万次)
micromaster + 1 我来恩山就是为了撩你!
yjfwin + 1 教程详细,感谢!
regedit110 + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
asun119 + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~~
3ax31a + 1 亲,你太牛逼了,走,我请你吃鳇鱼头去~~.
lizhendong + 1 楼主威武—我就想问问挖掘机技术哪家强?
okay008 + 1 高手!感谢分享。
jmpxwh + 1 楼主威武—我就想问问挖掘机技术哪家强?
jimmydong + 1 太感谢大神了
CoCoShen + 1 楼主威武—我就想问问挖掘机技术哪家强?
aikesi + 1 强大的恩山!(以下重复1万次)
hspo + 1 一看就是觉得高端、大气、上档次!
1281926469 + 1 楼主威武—我就想问问挖掘机技术哪家强?
pupie + 3 一看就是觉得高端、大气、上档次!
dengsha + 1 切糕党手持切糕刀强势围观楼主!
斯琴贝刂 + 1 楼主威武—我就想问问挖掘机技术哪家强?
WeDone + 3 奉上最高加分

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2014-12-11 22:21 | 显示全部楼层
本帖最后由 hackpascal 于 2014-12-11 23:33 编辑

U-Boot + TTL 刷机方法

此方法适用于任何 U-Boot。

准备工具:
PuTTY: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
TFTPd32: http://tftpd32.jounin.net/tftpd32_download.html

TFTPd32 是一个 TFTP 协议 (简单文件传输协议) 的服务端,用于向 U-Boot 传输文件。

使用 PuTTY 通过串口进入 U-Boot 命令行模式:
这里请自行查找相关资料

设置 PC 网络参数:
需要设置本机网卡的IP地址为静态IP,才能通过 U-Boot 传输数据

1. 查看 U-Boot 中的 IP 地址信息:
在 U-Boot 命令行中运行 printenv 命令



ipaddr 表示 U-Boot 即路由使用的 IP 地址
serverip 表示服务器即 PC 机使用的 IP 地址

这里需要将本机IP改为 serverip 的 IP 地址



设置 TFTP 服务器参数:
打开 TFTPd32
Current Directory 选择要上传文件的目录
Server interfaces 选择本机跟路由相连的网卡 (参考刚才设置的 IP 地址)



在 U-Boot 中使用 tftpboot 命令获取文件:
tftpboot 命令用于向 TFTP 服务器请求文件,并存入内存
tftpboot 命令在无歧义的情况下可简写为 tftp

tftp <内存地址> <文件名>

在 MIPS 架构下内存地址从 0x80000000 开始,一般也选择 0x80000000,因为这样可以尽可能使用更多的内存



文件传输成功的标志为 Loading: 后出现一连串 #
其中可能出现 checksum bad 的提示,这不影响数据传输。
如果每隔10s出现一个T,则表明通信超时,此时需要检查网络连接情况及IP地址是否正确。

Bytes transferred = 后面的第一个数字为传输的数据字节数,10进制;括号里的为对应的16进制大小,后面会用到16进制的大小。

在 U-Boot 中擦除 Flash:
任何一种 Flash 都有一个擦除块大小,擦除大小必须为此大小的整数倍,如果不是,则要进行对齐。

例如:
SPI Flash 的常见擦除块大小为 64KB,其字节数的16进制为 0x10000
如果擦除大小为 0x30000 (192KB),则此大小为 0x10000 的整数倍,是对齐的;
如果擦出大小为 0x12345 (72KB),则此大小未对齐,需要使用比它大但又最接近的是 0x10000 倍数的大小,即 0x20000 (128KB)。

erase <flash地址> +<擦除大小>

其中 Flash 地址在不同的芯片下有所不同,会在后文列出

以在 TP-LINK 路由中刷入 U-Boot 为例:

erase 0x9f000000 +0x20000



在 U-Boot 向 Flash 写入数据:
向 Flash 写入数据的大小可以是任意正整数

cp.b <源地址> <目的地址> <长度>

其中
cp.b 表示以字节为单位进行写入
源地址为通过 tftpboot 命令获取的文件数据的存放地址
目的地址为 Flash 地址
长度为通过 tftpboot 命令获取的文件的大小,16进制表示,带0x前缀

以在 TP-LINK 路由中刷入 U-Boot 为例:

cp.b 0x80000000 0x9f000000 0x20000




常见路由固件各成分的起始地址及大小:

TP-LINK 固件:
U-Boot固件ART
4M Flash 地址:0xbf000000 (AR71xx, AR913x) / 0x9f000000 (AR724x 及之后)
大小: 0x20000
Flash 地址:0xbf020000 / 0x9f020000
大小: 0x3c0000
Flash 地址:0xbf3f0000 / 0x9f3f0000
大小: 0x10000
8M Flash 地址:0xbf000000 (AR71xx, AR913x) / 0x9f000000 (AR724x 及之后)
大小: 0x20000
Flash 地址:0xbf020000 / 0x9f020000
大小: 0x7c0000
Flash 地址:0xbf7f0000 / 0x9f7f0000
大小: 0x10000
16MFlash 地址:0xbf000000 (AR71xx, AR913x) / 0x9f000000 (AR724x 及之后)
大小: 0x20000
Flash 地址:0xbf020000 / 0x9f020000
大小: 0xfc0000
Flash 地址:0xbfff0000 / 0x9fff0000
大小: 0x10000
32M
(仅楼主不死 U-Boot)
Flash 地址:0xbf000000 (AR71xx, AR913x) / 0x9f000000 (AR724x 及之后)
大小: 0x20000
Flash 地址:0xbf020000 / 0x9f020000
大小: 0x1fc0000
Flash 地址:0xc0ff0000 / 0xa0ff0000
大小: 0x10000


网件 WNDR3700v2/WNDR3800/WNDRMAC:
仅 U-Boot 及 ART,因为原厂升级固件不能直刷
U-BootART
16MFlash 地址:0xbf000000
大小: 0x50000
Flash 地址:0xbfff000
大小: 0x10000


AR2317 UBNT:
仅 U-Boot 及 board_config,因为原厂升级固件不能直刷
仅适用于楼主的不死 U-Boot
U-BootART
4MFlash 地址:0xa8000000
大小: 0x30000
Flash 地址:0xa83f000
大小: 0x10000
8MFlash 地址:0xa8000000
大小: 0x30000
Flash 地址:0xa87f000
大小: 0x10000
16MFlash 地址:0xa8000000
大小: 0x30000
Flash 地址:0xa8ff000
大小: 0x10000


AR7161 AR724x AR934x UBNT:
仅 U-Boot 及 EEPROM/ART,因为原厂升级固件不能直刷
U-BootART
4MFlash 地址:0xbf000000 (AR7161) / 0x9f000000 (AR724x 及之后)
大小: 0x40000
Flash 地址:0xbf3f0000 / 0x9f3f0000
大小: 0x10000
8MFlash 地址:0xbf000000 (AR7161) / 0x9f000000 (AR724x 及之后)
大小: 0x40000
Flash 地址:0xbf7f0000 / 0x9f7f0000
大小: 0x10000


MT7620 公版类型的固件 (U-Boot 大小为 192KB):
U-Boot固件EEPROM
4M Flash 地址:0xbc000000 (其它 U-Boot) / 0x9c000000 (楼主不死 U-Boot)
大小: 0x30000
Flash 地址:0xbc050000 / 0x9c050000
大小: 0x3b0000
Flash 地址:0xbc040000 / 0x9c040000
大小: 0x10000
8MFlash 地址:0xbc000000 (其它 U-Boot) / 0x9c000000 (楼主不死 U-Boot)
大小: 0x30000
Flash 地址:0xbc050000 / 0x9c050000
大小: 0x7b0000
Flash 地址:0xbc040000 / 0x9c040000
大小: 0x10000
16MFlash 地址:0xbc000000 (其它 U-Boot) / 0x9c000000 (楼主不死 U-Boot)
大小: 0x30000
Flash 地址:0xbc050000 / 0x9c050000
大小: 0xfb0000
Flash 地址:0xbc040000 / 0x9c040000
大小: 0x10000
32M
(仅楼主不死 U-Boot)
Flash 地址:0x9c000000
大小: 0x30000
Flash 地址:0x9c050000
大小: 0x1fb0000
Flash 地址:0x9c040000
大小: 0x10000

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

你好😁  详情 回复 发表于 2023-4-19 13:10
netgear wndr3800 uboot Flash 地址:0xbf000000 大小: 0x50000 art Flash 地址:0xbfff000 大小: 0x10000 请问,art 地址是不是最后少了一个0? 应该是 0xbfff0000  详情 回复 发表于 2021-1-7 03:58
H大NAND FLASH 地址怎么办。  详情 回复 发表于 2019-10-30 00:23
恕我直言,“使用 PuTTY 通过串口进入 U-Boot 命令行模式”,我就是为了刷uboot,你一开始就让我进入uboot  详情 回复 发表于 2015-7-28 03:38
请教哪里出错了,谢谢  详情 回复 发表于 2015-7-27 21:51
请教哪里出错了,谢谢 tftp 0x80000000 uboot.bin erase 0x9f000000 +0x10000 cp.b 0x80000000 0x9f000000 0x10000 uboot> printenv bootcmd=bootm 0x9F020000 bootdelay=1 baudrate=115200 ipaddr=  详情 回复 发表于 2015-7-27 21:51
万分感谢!这是迄今为止我见过的最好的教程~  发表于 2015-4-19 19:38
7620A+7612e+ip1001的用ttl如何刷  详情 回复 发表于 2015-3-17 10:12
不好意思点错了,点了"反对",论坛都没撤销的地方  详情 回复 发表于 2015-3-7 11:51
你好,我的703N刷了openwrt,但是没有刷入不死u-boot。我把网口改成WAN口,配置PPPOE,但是失败了。导致我现在进不去LUCI WEB管理界面。板子引出了TTL线,我现在可以用TTL连到路由器里。 请问我该如何恢复? 刷你  详情 回复 发表于 2014-12-21 23:49
您好。请问OpenWrt + SSH 刷机,这种刷U-BOOT方法,在刷入U-BOOT之前,是否需要修改UBOOT中的MAC,把UBOOT的MAC改成我们刷机的机子对应MAC。谢谢!  详情 回复 发表于 2014-12-12 18:56
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2014-12-11 23:10 | 显示全部楼层
本帖最后由 hackpascal 于 2014-12-12 12:15 编辑

使用 HFS 上传文件
如果觉得使用 WinSCP 上传文件比较麻烦,那么可以考虑 HTTP 方式上传文件,即将PC设置为 HTTP 服务器,在路由上下载文件。
如果PC上已经搭建有 HTTP 服务器,那么可以直接将要上传的文件存放于 HTTP 根目录,再在路由上通过 wget 命令来下载。

准备工具:
HFS: http://www.rejetto.com/hfs/?f=dl

HFS 是一个轻量级的 HTTP 文件服务器 (HTTP File Server)

配置 HFS:
配置 HFS 很简单,只需指定监听 IP 地址和要下载的文件。
[Menu]→[IP address] 选择本机网卡的 IP 地址



左侧 Virtual File System 里右键菜单,Add files...,选择要上传的文件。




路由里下载文件:
参考1楼的方法,使用 SSH 或 telnet 进入路由
执行 cd /tmp 进入 /tmp 目录
执行 wget http://<HFS的监听IP地址>/<文件名> 以下载文件

如:
wget http://192.168.1.2/u-boot-tp9343.bin




之后的操作同1楼的方法。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

点评

再次学习,看来最主要是要找的解锁uboot的固件,先刷入这个固件之后,其他的就按教程来!  详情 回复 发表于 2017-3-13 16:09
你太强大了,写的好专业的刷BOOT文章。用力顶你。  详情 回复 发表于 2016-3-18 23:58
941V5 DD下可以用此方法吗?怎么总是找不到设备?  发表于 2015-9-24 16:00
楼主精神可嘉  详情 回复 发表于 2015-1-18 10:01
楼主辛苦了,就是问下楼主两个问题,1、能不能提供三种方式的硬件连接情况啊,比如是用网线连接路由器的lan口神马的,还是用串口线的形式连接,2、Uboot+TTL的方式中,Uboot是已经刷进路由器了还是没有就开始使用PuT  详情 回复 发表于 2014-12-15 22:24
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-4-19 13:10 | 显示全部楼层
hackpascal 发表于 2014-12-11 22:21
U-Boot + TTL 刷机方法

此方法适用于任何 U-Boot。

你好&#128513;
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-4-13 18:30 | 显示全部楼层
感谢分享!!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-4-13 14:51 | 显示全部楼层
感谢大佬
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-1-4 13:14 | 显示全部楼层
karnal 发表于 2022-1-11 04:03
详细是详细 但是我成功卡在第一步
不ROOT路由无法PUTTY 也无Telnet权限
泪流满面

你找到方法了吗?我也是第一步弄不懂
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-12-18 12:18 来自手机 | 显示全部楼层
支持,继续。yyyyyyyy
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-12-15 19:51 | 显示全部楼层
收藏备用哈
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-30 22:27 | 显示全部楼层
高手这个界面按照操作不走了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-9 13:14 来自手机 | 显示全部楼层
学习下谢谢分享。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-8-31 10:22 | 显示全部楼层
太好了  感谢啊
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-6-5 16:46 | 显示全部楼层
吾尝跂而望矣,不如登高之博见也!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-5-21 18:58 | 显示全部楼层
U-Boot + TTL 刷机方法
putty下printenv
/sbin/sh: printenv: not found

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-5-1 22:48 | 显示全部楼层
大佬终于找到你了,谢谢分享辛苦了!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-4-6 22:44 | 显示全部楼层
感谢分享,为大神加油
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-3-30 14:19 | 显示全部楼层

老大的帖子太详细了,支持
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-2-27 13:47 | 显示全部楼层
这是啥原因

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-29 17:00

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表