Openwrt常用烧写命令 (tftp)

本文详细介绍了AR系列设备中不同容量Flash的分区地址,并提供了通过命令行进行系统更新的方法,包括使用mtd命令和tftp上传工具进行固件、uboot、fw、art的更新流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AR系列分区地址

4M flash的分区地址:
分区名        起始地址        结束地址         分区长度 
uboot        0x9f000000    0x9f020000     0x20000 
firmware    0x9f020000    0x9f3e0000     0x3c0000
art              0x9f3f0000     0x9f3e0000     0x10000

8M flash的分区地址:
分区名        起始地址        结束地址         分区长度 
uboot        0x9f000000    0x9f020000     0x20000 
firmware    0x9f020000    0x9f7e0000     0x7c0000
art              0x9f7f0000     0x9f7e0000     0x10000

1.命令行刷系统

固件传至/tmp

  1. cd /tmp
  2. cat /proc/mtd
  3. dev: size erasesize name
  4. mtd0: 00020000 00010000 “u-boot”
  5. mtd1: 000e01c4 00010000 “kernel”
  6. mtd2: 002efe3c 00010000 “rootfs”
  7. mtd3: 00060000 00010000 “rootfs_data”
  8. mtd4: 00010000 00010000 “art”
  9. mtd5: 003d0000 00010000 “firmware”

从上面的命令可以得知,mtd5是 firmare

#使用mtd更新系统

  1. mtd -r write factory.bin firmware

#使用sysupgrade更新系统,推荐。

  1. sysupgrade factory.bin

2.ttl刷新编程器固件、fw、uboot、art

4M的:

刷编程器固件:

  1. tftp 0x80000000 full.bin
  2. erase 0x9f000000 +0x400000
  3. cp.b 0x80000000 0x9f000000 0x400000

刷uboot:

  1. tftp 0x80000000 uboot.bin
  2. erase 0x9f000000 +0x20000
  3. cp.b 0x80000000 0x9f000000 0x20000

刷fw:

  1. tftp 0x80000000 fw.bin
  2. erase 0x9f020000 +0x3c0000
  3. cp.b 0x80000000 0x9f020000 0x3c0000

刷art:

  1. tftp 0x80000000 art.bin
  2. erase 0x9f3f0000 +0x10000
  3. cp.b 0x80000000 0x9f3f0000 0x10000

8M的:

刷编程器固件:

  1. tftp 0x80000000 full.bin
  2. erase 0x9f000000 +0x800000
  3. cp.b 0x80000000 0x9f000000 0x800000

刷uboot:

  1. tftp 0x80000000 uboot.bin
  2. erase 0x9f000000 +0x20000
  3. cp.b 0x80000000 0x9f000000 0x20000

刷fw:

  1. tftp 0x80000000 fw.bin
  2. erase 0x9f020000 +0x7c0000
  3. cp.b 0x80000000 0x9f020000 0x7c0000

刷art:

  1. tftp 0x80000000 art.bin
  2. erase 0x9f7f0000 +0x10000
  3. cp.b 0x80000000 0x9f7f0000 0x10000


本地启用tftp上传

        tftp -i 192.168.1.1  put  uboot.bin

        -i 上传二进制文件  192.168.1.1  是目标IP地址   put 是上传命令  uboot.bin 是文件名

### OpenWRT 编译教程 对于希望深入了解并定制化配置OpenWRT系统的用户来说,掌握编译过程是一项重要技能。以下是关于如何编译适用于特定硬件平台的OpenWRT固件的方法。 #### 准备工作环境 为了能够顺利编译OpenWRT源码,在本地计算机上需搭建Linux开发环境,并安装必要的依赖包。推荐使用Ubuntu作为宿主机操作系统。确保已安装Git版本控制系统用于获取最新源代码仓库副本;同时还需要安装一系列构建工具链以及库文件来支持后续操作[^3]。 ```bash sudo apt-get update && sudo apt-get install build-essential libncurses5-dev zlib1g-dev gawk git ccache gettext python unzip file screen wget time xz-utils automake autoconf libtool flex bison quilt pkg-config subversion patchelf cmake ninja-build ``` #### 获取源码与初始化设置 访问官方GitHub页面下载目标分支或标签对应的完整源树。之后进入项目根目录执行`./scripts/feeds update -a`命令同步所有外部软件包定义至本地缓存区,紧接着运行`./scripts/feeds install -a`完成这些额外组件的实际安装动作。 ```bash git clone https://github.com/openwrt/openwrt.git cd openwrt/ ./scripts/feeds update -a ./scripts/feeds install -a ``` #### 配置内核选项及其他特性开关 启动菜单驱动界面调整各项参数直至满足个人需求为止。这里可以根据具体设备型号挑选合适的架构类型(比如ar71xx),并且开启某些实验性质的功能模块以便测试新特性或是修复现有漏洞等问题[^4]。 ```bash make menuconfig ``` #### 执行实际编译流程 当一切就绪后便可以直接调用Makefile中的默认规则触发整个项目的自动化组装进程。视乎机器性能高低不同而定,此阶段可能耗费数小时甚至更长时间才能结束。期间建议保持网络连接稳定以免中途失败重头再来造成不必要的麻烦。 ```bash time make -j$(nproc) ``` --- ### 录方法及固件刷机指南 成功产出镜像文件之后就可以着手准备将其部署到真实物理节点上了。下面介绍几种常见的加载途径供参考: #### Web界面在线升级 如果当前使用的固件已经内置了Luci图形管理后台,则可通过浏览器登录进去找到对应入口上传提前打包好的二进制映像实施无缝切换作业。这种方式最为简便直观易于新手接受[^2]。 #### SSH远程指令推送 针对那些不具备可视化面板控制能力的老款产品而言,借助SSH客户端发送专门设计过的shell脚本或许是个不错的选择。只需按照提示输入合法用户名密码建立安全通道后再依次敲下几条简单语句就能实现相同效果。 ```bash scp /path/to/firmware.bin root@router_ip:/tmp/new_firmware.bin ssh root@router_ip "sysupgrade -v /tmp/new_firmware.bin" ``` #### TFTP无盘引导恢复模式 部分高端企业级交换机允许管理员利用TFTP服务器临时挂载指定路径下的bootloader程序从而绕过原有ROM内容直接读取外接存储介质里的OS核心片段达到快速替换的目的。不过这通常仅限于初次激活或者遇到严重错误无法自行重启的情况下才会考虑采用这种方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值