加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

openwrt系统使用uboot更新固件

(2015-08-11 20:56:09)
标签:

it

分类: Linux
1.httpd方式:    
    Uboot启动时按住reset键,设置电脑ip:192.168.1.x
    在电脑端登入192.168.1.1 进入升级界面升级
2. MTD
    启动路由器,进入linux环境。
    通过winscp 连接ssh  然后将 _ar71xx_.bin 拷贝到 /tmp 目录
    切换到tty,在命令行下输入 mtd
    mtd -r write /tmp/_ar71xx_.bin firmware
    
    同理:如果刷Uboot 则执行如下命令
              mtd -r write /tmp/uboot.bin u-boot
    附录1:分区备份
    备份art:dd if=/dev/mtd4 of=/tmp/art.bin
    写入art:mtd -r write /tmp/art.bin art
    附录2:查看Flash分区
root@OpenWrt:/# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 00020000 00010000 "u-boot"
mtd1: 000ecf6c 00010000 "kernel"
mtd2: 006e3094 00010000 "rootfs"
mtd3: 00550000 00010000 "rootfs_data"
mtd4: 00010000 00010000 "art"
mtd5: 007d0000 00010000 "firmware"
附录3:
如果你想从原来的tp-link固件升级到op 那就刷带factory的固件
如果你想从某个版本的op升级到新的op  那就sysupgrade固件
无论是从tp-link还是op升级 都可以用factory固件
如果你需要更新系统后还保持原来的设置和安装的软件,就用sysupgrade
3.TFTPD32 
    1.在Windows上搭建TFTPD32 服务,然后把固件放在tftp服务器下
    2.设置路由器的IP和IPserver
ar7240>setenv ipaddr 192.168.1.2
ar7240>setenv serverip 192.168.1.10
    3.在uboot命令下,就可以把tftp上的固件刷到路由器
           //1.将固件加载到内存0x8000 0000
          ar7240> tftpboot 0x80000000 wr841n-v5.bin  
           //2.擦除Flash地址0x9F02 0000 大小0x3C0000的空间
ar7240> erase 0x9f020000 +0x3c0000
//3.将RAM中的数据拷贝到Flash中 cp.b src dst size[b w l]
ar7240> cp.b 0x80000000 0x9f020000 0x3c0000
//4.启动内核
ar7240> bootm 0x9f020000

附录:
Easy-Link> printenv
bootargs=console=ttyS0,115200 root=31:02 rootfstype=squashfs init=/sbin/init mtdparts=ar7240-nor0:128k(u-boot),1024k(kernel),2816k(rootfs),64k(config),64k(ART)
bootcmd=bootm 0x9F020000
bootdelay=2
baudrate=115200
ipaddr=192.168.1.1
serverip=192.168.1.100
bootfile="firmware.bin"
loadaddr=0x80800000
ncport=6666
stdin=serial
stdout=serial
stderr=serial
ethact=eth0

Environment size: 364 bytes

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有