openwrt刷机

转载 2016年08月28日 16:25:07

openwrt刷机一直是新手所需要面对的问题。现在我介绍一下,刷机的方法 。

刷机前,我们必须弄清楚几个概念,固件分一般固件和编程器固件两大类。编程器固件,以AR的openwrt为例,包括三部分,uboot、firmware、art。

uboot相当于电脑的bios,是用来引导firmware的,art则是无线的配置。AR的uboot大小为128KB,程序部分一般只有前面的64KB,后面部分只保存mac和pin码。我编译的uboot是利用网上pep2k源码的,大小为64KB,hackpascal编译的是tp官方的源码修改的,他的文件大小超过了64KB,故直接发出来是128KB。uboot写入的方法有两种,一种是用把芯片焊下来,直接写入芯片的前64KB位置。另一种是先刷入解锁uboot的openwrt固件,再用mtd方法写入,方法会在后面说到。

firmware部分也就是我们常说的固件,openwrt编译出来factory固件。我们通常刷的就是用这个固件。下面是编译出来的固件,一般TP系列分 factory.bin和sysupgrade.bin,网件系列分factory.img,和sysupgrade.bin(如网件3800系列)或者sysupgrade.tar(如网件4300系列),另巴法络还有一个tftp.bin格式。凡包含factory字样的,是在原机界面上直接刷机用的,包含sysupgrade字样的,是在op系统里的界面,更新固件用的。tftp固件是用tftp方式 刷机用的。网件和巴法络都支持tftp方式 刷机,这个方式相当于不死uboot。所以网件和巴法络基本是不可能砖的。另网件用如果用tftp方式刷机,要选择img格式的固件。tar格式的固件是不支持mtd方式来刷机的。另tar格式是直接在界面上传刷机,不需要解压,在刷机的时候它自动在路由里进行解压。


16M的factory.bin大小于16252928字节。所以16Mfactory.bin都一样大。factory.bin固件大小是固定的,不会因软件的多少而变化 。


8M的factory.bin大小为8126464字节,大小刚好为16M的一半。


另外还会生成一种sysupgrade.bin,这种格式的固件随软件大小而变化的,编译的软件多,就会大一些,软件少就会小一些。但是这两种固件的内容是一样的。一般来说刷入固件后,我们在软件列表,会看到闪存的剩余空间,这个剩余空间,除了一部分用来保存配置以外,就是显示的实际剩余空间。


也就是sysupgrade.bin+空间空间+系统的配置空间=factory.bin的大小。

两种用途上的区别以下:如果你的路由原厂的闪存是8M,现在是原厂的系统,你就得选择相对应型号的factory.bin来刷。刷好之后,就是openwrt系统了。在原厂系统里刷sysupgrade.bin固件是不可以的。如果是16M的闪存的原厂系统,就得用16M的factory.bin来刷机。由于本人没有发过factory.bin固件,要用我的固件请先到openwrt官网先下载factory.bin先在web刷上,然后再下载我的sysupgrade固件,从官方的op里刷上即可。以后的版本,原厂的闪存是8M或者16M的,将发factory.bin以方便大家。

当你的路由已经是openwrt系统后,如果是8M闪存,你可以选择8M的factory.bing也可以选择8M以下的sysupgrade.bin来刷机。如果是16M闪存,只能选择16M的factory.bin来刷机,也可以选择小于16M的sysupgrade.bin来刷机。换句话说,已经是openwrt系统后,再刷openwrt如果用factory.bin,就得使用和固件一样大的固件。如果用sysupgrade.bin就得选择比固件小的。

以上是通过浏览器界面刷机,还有一种方法是,把固件上传到路由上用mtd方法来刷机。这种方法只适用于openwrt和dd等第三方系统,原厂是不可以的。操作方法是ssh登录路由,或者用winscp、putty等软件来登录到路由,把固件上传到路由的/tmp里,比如你的固件名称为xxxxx.bin。就执行如下命令:

mtd -r write xxxx.bin firmware

-r是刷完机后重启的意思。

用这个方法也可以刷uboot和art,前提得是这个openwrt固件是没我锁定uboot和art分区的,openwrt官方的固件是全部锁定的,mtd刷uboot和art是不行的。明月系列TP固件解锁了uboot的 ,为了安全,没有解锁art。因此,在这系列固件里可以用这种方法刷uboot。如果uboot名为xxxx.bin,则命令如下:

mtd -r write xxxx.bin  u-boot

mtd刷机方法不常用,主要用来刷其它型号的固件,比如tp的4310/4300/3600,这三个型号的路由是一样的硬件,只要硬件一样,固件就可以通用。但我们用第一种方法是不可以直接刷入的。在浏览器刷机会校验固件头,那里有固件的型号,和路由当前系统对不上,会限制刷机。但用mtd方法,则可以突破这种限制,可以使用其它硬件完全相同的固件。

另外,本人的TP系列固件有fullflash分区,支持用mtd方式来刷入编程器固件。其命令如下:

mtd -r write 编程器固件名  fullflash

还有一种方法,是使用不死uboot来刷机,AR的系列的机器 原厂基本上是没有不死uboot,所谓的不死uboot,就是刷错固件时,路由系统启动不了时,我们可以通过特别的方法来通过浏览器再刷上路由固件。不死uboot基本是第三方的,像基于pep2k的,hackpascal基于tp的版本。要使用不死uboot,我们首先得用第二次方法 ,或者直接用编程器先写入不死uboot。然后通过选定的方法来启动路由进入不死界面。本人编译的不死uboot的界面如下:



上图是默认的界面,默认可以刷factory.bin和sysupgrade.bin,也可以点击下面蓝色的字uboot和art来切换刷uboot或art。使用说明请看截图上的说明。

下图为刷uboot的界面。


从本地磁盘选择好文件上传即可,本人的不死uboot只能刷64KB和128KB的其它uboot,如果大小不是这两种会限制刷入。这样可以避免选错文件。刷uboot是得非常小心,得确定你所用的uboot在别人机上正常运行。否则,刷坏了,你只能焊下来,上编程器了。

uboot刷固件也和mtd一样,不会校验固件头,你上传任何文件,都会写入。所以得看清楚文件,刷firmware部分还好,出错可以重来。如果刷错uboot,麻烦就大了。刷错art也不太好。art推荐用原厂的,因为路由出厂时,一批批精心调整过,也就是说这一批的art用于其它批次可能出现信号不好,或者无线断网的问题。另外需要注意的是,第三方的不死uboot基本都不支持原厂的固件,如果要刷回原厂就比较麻烦了。只有找到即支持原厂又支持openwrt的uboot先刷好,才能在新的不死刷回原厂。以前试过用木头人的不死,即支持原厂也支持第三方固件。不过,他的不死,功能少,只能刷firmware部分,且不是所有型号的路由都有。所以在刷不死前得三思,其实,如果想保留原厂系统,最理想的办法是,硬改为双系统的路由,用一个开关来切换原厂和第三方的系统。这要求有一定的硬件知识,和动手能力,不在今天的讨论范围了。


本文由明月永在原创,转自:https://myop.cf/archives/546


相关文章推荐

OpenWrt固件编译刷机完全总结

OpenWrt固件编译刷机完全总结 openwrt编译过程详解,固件手把手刷写,采用tftp命令传输bin文件,设置打开wifi模式,以及Luci web登录页面设置

通过ssh更新openwrt的Firmware的教程

准备工具 1.能执行ssh的电脑,如Linux系统的电脑; 2.待烧写的固件(只是firmware,不含art和uboot); 3.串口工具; 烧写步骤 1.通过串口工具进入系统,设置系统r...

OpenWRT刷机入门

这里默认我们的本地机器是用的Linux操作系统,这篇文章主要是提供刷固件的主要概念,所以在看完后可以自行根据提到的概念搜索不同操作系统下的做法:) [TOC]OpenWRT简介首先这个名字是不是很有...

小米路由器mini--OpenWrt刷机/adhoc网络配置/视频传输测试

1.小米路由器配置              1.1开发版刷机 新的小米MINI路由器自带稳定版系统,该系统不能进行刷机,因此需要升级为开发版操作系统。 开发版下载地址:http:...

网件WNR2200 Openwrt固件, 改进刷机方法

本文来源 由于网件的bootloader是经过定制的,固件打包方式也不同,因此我一直以为openwrt直接编译出的固件不能直接刷在路由器上。后来有一次我无意中打开了openwrt生成的 openwr...
  • gt945
  • gt945
  • 2013-10-14 16:20
  • 11801

wr841刷机固件(openwrt)

  • 2013-05-14 14:54
  • 3.75MB
  • 下载

openwrt刷机

  • 2014-06-13 10:29
  • 151KB
  • 下载

三星i997刷机过程(2)

还有前言,还没了解准备工作和线刷的可以参考上一篇章三星i997刷机过程(1) 卡刷 1.先将ROM包(zip)放入手机SD卡的根目录或者任意目录,在压缩包中有两个ROM,一个是MIUI的,一个是LEG...

RG100-AA刷机openwrt系统

  • 2017-08-30 10:17
  • 9.00MB
  • 下载

OpenWRT刷机教程

  • 2013-03-14 14:57
  • 151KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)