不死 U-Boot 使用全攻略

上传人:da****ge 文档编号:63851137 上传时间:2022-03-20 格式:DOC 页数:17 大小:443.50KB
收藏 版权申诉 举报 下载
不死 U-Boot 使用全攻略_第1页
第1页 / 共17页
不死 U-Boot 使用全攻略_第2页
第2页 / 共17页
不死 U-Boot 使用全攻略_第3页
第3页 / 共17页
资源描述:

《不死 U-Boot 使用全攻略》由会员分享,可在线阅读,更多相关《不死 U-Boot 使用全攻略(17页珍藏版)》请在装配图网上搜索。

1、不死 U-Boot 使用全攻略楼主的 U-Boot 做了这么久,一直没有写个全面的使用说明,今天终于下决心写了。1楼: U-Boot 使用注意事项2楼: U-Boot 控制台通用功能说明3楼: U-Boot 控制台专用功能说明4楼: U-Boot 命令行使用说明5楼: TFTP 命令使用说明6楼: 其他非主流用法U-Boot 使用注意事项此 U-Boot 的正常开机状态:1. 上电,所有 LED 点亮(与 PCI-E 无线芯片相连的 LED 不会亮)。AR724x 和 AR9331 点亮持续5秒左右,其它的均为12秒;2. LED 点亮后判断复位键状态,如果复位键按下,则使用默认频率启动;3.

2、 LED 熄灭,硬件初始化完成,串口输出 CPU 频率等信息;4. 检测复位键和WPS键状态,若有任何一个按键按下,则将启动延时设为5s,否则为1s;5. 若启动延时为5s,则继续检测按键状态,若按下时间超过3s,则启动 U-Boot 控制台,否则正常启动固件;6. 固件启动,U-Boot 结束运行。进入 U-Boot 控制台:路由器上只在 LAN 口上接入网线,且只能有一根网线接入路由,按住路由上的复位键或WPS/QSS按键开机。直到所有 LED 都快速闪烁(4Hz * 1s)后,用浏览器访问 192.168.1.1 即可。说明: 由于使用默认频率启动对复位键状态的检测在 LED 点亮的一瞬

3、间进行,因此必须按住复位键再开机,才能起效;而进入 U-Boot 控制台则可以在所有 LED 都熄灭后再按键。 不死 U-Boot 带有 DHCP 服务功能,可以自动给电脑分配 IP 地址,因此不用手动修改 IP 地址。但要注意电脑得到的 IP 地址可能不是 192.168.1.2。华丽分割线.U-Boot 控制台通用功能说明U-Boot 控制台默认页面:系统信息页面列出 CPU 型号、内存大小等参数,编译日期用于判断 U-Boot 的发布版本。切换显示语言:U-Boot 控制台在默认情况下根据浏览器的 HTTP 请求来设定显示语言。如果需要强制修改语言,可以在 “关于” 选项卡里修改。固件更

4、新:更新固件可以更新两种类型的固件:常规固件(原厂的升级固件、OpenWrt、DD-WRT等固件)和编程器固件。另外可更新 U-Boot 和 ART (在 AR2317 里是 board_config)。闪存布局决定 U-Boot 和固件的最大刷入大小以及固件的刷入位置。可以自动检测。AR2317 的 U-Boot 不含此项,只接受 UBNT 布局的固件。一般来说一个 U-Boot 只有一种闪存布局,但是也有例外。如 AR724x 的 U-Boot 能同时支持 TP-LINK 固件和 UBNT 固件;360 安全路由 C301 的 U-Boot 能支持三种不同的刷入方式。更新编程器固件编程器固

5、件是用编程器从整个闪存里提取出来的数据。刷入整个编程器固件,要求固件大小必须是 4MB 的整倍数,因为能刷入 Linux 类型固件的闪存大小都是 4MB 的整倍数。有时候需要手动选择闪存布局才能刷入,如 AR724x UBNT 的编程器固件。如果要刷入 U-Boot 不支持的闪存布局的编程器固件,请手动指定任意一个闪存布局,然后取消保留现有 U-Boot,再刷入。在大容量 Flash 中刷入 TP-LINK 原厂固件首先刷入有效的 ART 数据,然后再刷入固件,或者固件和 ART 一起刷入。TP-LINK 原厂固件务必在 U-Boot 中刷入,否则原厂固件所带的 U-Boot 会覆盖不死 U-

6、Boot。UBNT 升级固件亦是如此。在大容量 Flash 中刷入 AR2317 固件AR2317 U-Boot 最大支持 16MB Flash,支持大部分常见 Flash 型号。U-Boot 会自动扩展固件,使用 OpenWrt 可以充分使用整个 Flash (非重复填充)。固件要求常规固件:任意官方升级固件或者是 OpenWrt、DD-WRT、石像鬼的 factory 或者 sysupgrade 固件。固件必须是 Linux 系统的固件,TP-LINK 小于 2MB 的固件为 VxWorks 固件,不被支持。编程器固件:要求文件大小为 4MB 的整倍数。另外注意:刷机开始后的进度条不是真实

7、的刷机进度,只是一个大概进度。实际刷机情况以观察路由 LED 变化为准!在刷机进度条走完后再等待几分钟,以确保刷机完成。固件备份:备份整个闪存中的数据,即编程器固件。有时候 Chrome 和 Chromium 内核的浏览备份速度特别慢,只有几 KB/s,这时请尝试更换浏览器下载,如 IE10、Firefox、Opera 等。超频/降频:此功能用于路由超频。超频可以提升路由性能,也可能导致路由工作不稳定。如果超频后路由无法启动,所有 LED 长亮,则说明超频太高。需按住复位键再上电,此时路由以默认频率启动,然后进入 U-Boot 控制台重新设置频率。恢复出厂设置:此功能用于恢复固件的出厂设置。U

8、-Boot 能自动检测当前固件的闪存布局和大小,如果不准确,需要手动选择。恢复出厂设置前请务必确认选择了正确的固件类型及闪存布局!仅 TP-LINK 和 UBNT 类型的固件需要选择正确的固件大小,其它固件可以忽略。网络控制台:网络控制台用于将 U-Boot 的串口输入输出重定向到网络连接,以方便在无串口线时访问 U-Boot 命令行。网路控制台使用 UDP 协议通信,默认端口为 6666。在 Windows 下一般使用 Hercules SETUP Utility 进行连接。Hercules SETUP Utility 下载地址:http:/www.hw-(Downloads & Links

9、 里)使用方法1. 打开 Hercules SETUP Utility,选项卡选择 UDP;2. 右侧 Module IP 填上路由器的 IP 地址,即 192.168.1.1,Port 和 Local port 填写相同的端口;3. 单击 Listen 按钮,以开始通信;4. U-Boot 控制台中填上刚才设置端口,启动网络控制台(此时 U-Boot Web 控制台已经停止运行了,不能再被访问);5. 如果操作无误,Hercules SETUP Utility 里会有输出,此时即可进行操作。具体的 U-Boot 命令行操作,请参阅4楼。U-Boot 控制台专用功能说明UBNT 设置:UBNT

10、 路由在刷入有效的 ART 后,可以修改无线 MAC 地址和路由机型。路由机型是目前所有可用的,不一定是当前路由的硬件配置,需要酌情修改。修改路由型号可以使用不同的固件功能。Netgear WNDR3700v2/WNDR3800/WNDRMAC/WNDRMACv2 设置:这里的设置是路由恢复出厂设置时的默认设置。其中可以修改路由的识别型号,以便能刷入不同型号的原厂固件。360 安全路由 C301 设置:同上是恢复出厂设置时使用的设置。其中 sn 不要轻易修改,以免冲突.U-Boot 命令行使用说明U-Boot 是一个交互式的 bootloader,因此其有一个命令行,可以进行内存操作、闪存操作

11、等。通过串口(TTL)连接或者网络控制台可以使用 U-Boot 命令行。PuTTY 下的界面:U-Boot 中命令行的运行方式为输入后回车。输入 help 命令可以查看全部支持的命令。以下介绍常用的命令:autoboot1. autoboot复制代码自动识别当前刷入的固件类型,并启动Netgear WNDR3700v2/WNDR3800/WNDRMAC 和 AR2317 的固件只能以此命令启动。bootm1. bootm addr arg,arg,复制代码从指定地址启动固件,并可指定启动参数addr为启动地址,可选arg为传递给 Linux 内核的启动参数,可选,最多14个例如启动 TP-LI

12、NK 固件的命令为bootm 0xbf020000 (AR71xx AR913x) 或bootm 0x9f020000 (AR724x AR9331 AR934x QCA953x QCA955x);启动 UBNT 固件的命令为bootm 0xbf050000 (AR71xx) 或bootm 0x9f050000 (AR724x)。cp1. cp.b;.w;.l 复制代码内存复制src 为起始地址dst 为目的地址len 为复制单位数cp 命令后可以紧跟.b.w或.l;其中.b是指以字节为单位,.w指以字(双字节)为单位,.l指以双字(四字节)为单位。默认是.l。在使用.w为单位时,src 和

13、dst 都必须是2的倍数;使用.l时,则都必须是4的倍数。否则会引发系统异常。AR71XX 地址空间中,0xbf000000 0xbfffffff (AR71xx AR913x) / 0x9f000000 0x9fffffff (AR724x AR9331 AR934x QCA953x QCA955x) 保留为 Flash 映射空间,从此范围内读取的数据为实际 Flash 中的数据;向此范围内写入数据会直接写入到 Flash 中(需要先进行擦除操作)。另在 360 安全路由 C301 的专用 U-Boot 中,0x9e000000 0x9effffff 保留为第二 Flash 的地址空间,使用

14、 cp 命令直接从此处读取数据仍然是第一 Flash 的数据,但是向此处写入数据会直接写入到第二 Flash 中(需要擦除)。要从此地址空间读取第二 Flash 的数据,需要使用 flread 命令。使用举例:从 Flash 中读取 U-Boot 部分的数据(前 128KB)到内存地址 0x800000001. cp.b 0x9f000000 0x80000000 0x20000复制代码将内存 0x80000000 中的 TP-LINK 固件写入到 Flash 中(假设为 4M 的 factory 固件)1. cp.b 0x80000000 0x9f020000 0x3c0000复制代码era

15、se1. erase 2. erase +复制代码擦除 Flash 中的指定区域start 为起始地址,必须为 64KB 的整倍数end 为结束地址,必须为 64KB 的整倍数减一,且必须大于 startlen 为擦除长度,必须为 64KB 的整倍数两种命令格式任选一,一般使用第二种。Flash 的地址范围为:0xbf000000 0xc0ffffff* (AR71xx AR913x)0x9f000000 0xa0ffffff* (AR724x AR9331 AR934x QCA953x QCA955x)0x9e000000 0x9effffff (360 安全路由 C301 的第二 Flas

16、h,U-Boot 扩展)*结束地址依据 Flash 大小而定。0xbf000000 0xbfffffff 及 0x9f000000 0x9fffffff 为硬件支持的最大范围 (16MB)0xc0000000 0xc0ffffff 及 0xa0000000 0xa0ffffff 为 U-Boot 扩展的范围 (32MB)使用举例:擦除 TP-LINK U-Boot 部分1. erase 0x9f000000 +0x20000复制代码或1. erase 0x9f000000 0x9f01ffff复制代码擦除 TP-LINK 固件部分(假设为 4M 固件)1. erase 0x9f020000 +

17、0x3c0000复制代码或1. erase 0x9f020000 0x9f3effff复制代码flread1. flread 2. flread + 复制代码从 Flash 中读取数据start 为起始地址end 为结束地址,且必须大于 startlen 为读取长度dst 为存放读取数据的内存地址两种命令格式任选一,一般使用第二种。Flash 的地址范围为同 erase 命令。只有此命令可以读取 32M Flash 的后半 16MB 的数据以及第二 Flash 的数据。getlang1. getlang复制代码获取当前 U-Boot 控制台的显示语言setlang1. setlang lang

18、-id复制代码设置U-Boot 控制台的显示语言lang-id为语言 ID不带参数运行此命令可以线束可用的语言 IDsercon1. sercon复制代码切换到串口命令行仅在网络控制台下有效netcon1. netcon复制代码启动网络控制台仅在串口控制台下有效httpd1. httpd复制代码启动 U-Boot 控制台tftpboot1. tftpboot filename复制代码通过 TFTP 协议加载文件到内存addr 为加载数据的地址filename为要加载的文件名。可选,默认为 .img命令可简写为 tftp使用举例:1. tftp 0x80000000 u-boot.bin复制代码

19、setenv1. setenv value复制代码设置环境变量name 为环境变量名value为环境变量值。可以为空,表示删除此环境变量TFTP 命令使用说明TFTP 设置:由于此 U-Boot 带有 DHCP 功能,因此电脑得到的 IP 地址可能不是 U-Boot 中默认的 TFTP 服务器地址 192.168.1.2。如果遇到这种情况,需要手动修改电脑 IP 地址为 192.168.1.2 或者使用 setenv serverip 来设定 U-Boot 中 TFTP 服务器的 IP 地址。TFTP 软件:使用 tftpd32/tftpd64 软件将 Current Directory 设置

20、存放要加载文件的目录将 Server Interfaces 指定为连接到路由的网卡确保电脑防火墙没有屏蔽 UDP 69 端口(一般没问题)。电脑端就算配置完成了。TFTPBOOT 命令使用:tftp 0x80000000 为了方便一般都选择 0x80000000 即内存起始地址作为加载地址。加载成功的输出如下:需要确认出现了 Loading: 后面跟着 # 号;最后是 Bytes transferred = XXX,这里的 XXX 指的是传输的字节数,要检查是否正确其他非主流用法制作编程器固件:UBNT 的官方升级固件不能用来直接制作编程器固件,因此可以先用 U-Boot 刷入,再备份编程器固件。用作临时编程器:此用法的前提是路由器的上必须焊有 Flash 插座以便更换Flash。原理是 U-Boot 启动后运行在内存中,Flash 不被使用,因此可以带电拔出 Flash 而不影响 U-Boot 的正常工作;然后插入新的 Flash,用 U-Boot 控制台刷入新的 U-Boot 或者固件。一般操作方法为:1. 现有正常路由启动,进入 U-Boot 控制台2. 不断电,直接拔出现有 Flash,插入新的 Flash3. 刷入 U-Boot4. 将新的 Flash 装回路由,再开机刷入固件和 ART完.本文地址: 烟花梦整理QQ:295694859

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!