今天开始往固件方面去研究。

今天开始往固件方面去研究。
首先了解主流的第三方固件有DD-WRT,番茄(Tomato)、OpenWRT等等。
据说,DD-WRT的功能多谢,OpenWrt可定制性高些,tomato是稳定之选,这些只是网上的个人之谈而已,
具体,咱们也要真正尝试过才知道。
在网上找到个小技巧,想知道路由器的具体硬件配置,可以到
DDWRT的路由数据库和OpenWrt官方网站上的wiki查询,基本绝大部分的路由都能在上面找到具体的硬件配置信息。
下面看看三种路由器各自的特点:
1、DD-WRT:官方固件自动的功能最丰富,支持的路由也比较多
而且比较迅速的支持新路由,但是bug多。不过网上大侠说DDWRT适合新手,因为大部分机子的reset都是有效的。
路由设置变砖后容易重生,呵呵。
2、Tomato:稳定。对于性的BCM的11n芯片的路由和arrt芯片的路由没有支持,大侠们吹嘘它会走向灭忙,呵呵。
3、OpenWrt:三大固件中扩展性最好的固件,通过扩展,可以实现路由本职以外的很多事情如(脱机下载、网站、论坛、Qos等),
   且OpenWrt对新的路由迅速支持,可以在新路由强劲CPU的支持下获得很好的性能表现。不过因为OpenWrt的系统设置不是特别简单,易用性还不是很好,
   容易变砖啊,小心为妙啊。(在刷机之前最好学习怎么进入安全模式恢复设置,如果真变砖了,还可以有点措施)。
 
 在网上找了各个固件支持的路由:
 1、DD-WRT:
 Asus
WL-500g Premium, v1 (tested with v24 SP1))
WL-500g Premium, v2 (tested with v24 SP1)
Buffalo
WHR-HP-AG108 (product search)
WHR-G54S (product search)
WHR-G125 (product search) (special build for G125 no longer required; Very stable with Eko NEWD pre-SP2 versions)
WHR-HP-G54 (product search)
WZR-HP-G54 (product search)
WZR-RS-G54 (product search)
WVR-G54-NF (product search)
WBR-G54 (product search)
WBR2-G54 (product search)
WBR2-G54s (product search)
WLA-G54 (product search)
WLA-G54C (product search) (sp3 builds)
WLI-TX4-G54HP (product search)
D-Link
DIR-300 (product search)
FON
LaFonera_(en) see LaFonera_Software_Flashing
Linksys (List of WRT54G versions and their hardware capabilities)
WRT54G v1.0, v1.1, v2.0, v2.2, v3.0, v3.1, v4.0, v5.0 (2mb flash), v5.1 (2mb flash), v6.0 (2mb flash), v8.0, (2mb flash, DD-WRT v24 RC3), v8.1 (2 mb flash -supports micro-plus builds!) (product search)
WRT54GL v1.0, v1.1 (product search)
WRT54GS v1.0, v1.1, v2.0, v2.1, v3.0, v4.0, v5.0 (2mb flash), v5.1 (2mb flash), 6.0 (2mb flash), v8.0 (2mb flash, DD-WRT v24 RC3) (product search)
WRT54GS2
WRTSL54GS v1.0 (as of 2006-0630 nightly builds)
WRT150N v1.0 (flashed with generic v24 beta) (product search)
WRT300N (as of v24 beta 2006-1210) (product search)
WRT320N v1.0
WRT350N v1.0; not the EU-Version v2.0 (as of v24 beta 2006-1212) (product search)
WAG54GP2 (ONLY VERSION 2)
WRT160N ( ONLY VERSION 1 ) , Had been tested with v24-build.9517 ( First mini then
2、Open—Wrt
 在wiki的官网有支持路由的详细信息:http://wiki.openwrt.org/toh/start#supported.hardware.-.router.type
http://wiki.openwrt.org/TableOfHardware
咱比较关心,用的比较多的D-Link大部分型号都支持,而且价格在200左右。
如:DIR-300、DIR-600、DIR-825这些等等。
3、Tomato支持的比较少,不列举了。

终上所述,我们选定一个方向:网OpenWrt方面研究。

上面我们说到,在玩刷机之前,要学习在安全模式下恢复设置,下面我们来学习研究一下吧。
方法如下:
一般路由器都会有个复位键,不过有些是直接电源键。
以tp-link为例,在路由器后面板上有一个小孔,旁边有个单词:Reset
要用笔尖类的尖物按住Reset键,无线路由器为System灯闪烁三次,复位成功。
不过不知道这个是不是所说的安全模式下恢复设置啊。

        对OpenWrt进行更深入的了解
既然选择这个固件,我们首先要对它进行更深入的了解先。
百科一下,OpenWrt为一个嵌入式设备的Linux发行版(何为嵌入式呢?下面会补充说明),OpenWrt的包管理提供
了一个完全可写的文件系统,适应任何应用程序通过使用包。OpenWrt是框架来构建程序,而无需建立一个完整的固件。
OpenWrt的文件系统是可写的,开发者无需在每次修改后重新编译,令它更像一个小型的Linux电脑系统。
无论是ARM、PowerPC、MIPS(这3个是微处理器)的处理器,都必需经过一下的开发过程:
1、创建Linux交叉编译环境
2、建立Bootloader
3、移植Linux内核
4、建立Rootfs(根文件系统)
5、安装驱动程序
6、安装软件
7、调试

1)    嵌入式开发试制在嵌入式操作系统下进行开发。
2)交叉编译:简单理解就是在一个平台上生成另一个平台上的可执行代码。
           由于大多数嵌入式设备的硬件平台大多数时间和你的开发机器的硬件不兼容,
    因此需要这个交叉编译,才能编译并生成一个的Linux发行版本运行在你的设备上。
3)交叉编译的一些基础知识:
   宿主机(host):编辑和编译程序的平台,一般是基于X86的PC机,通称为主机。
   目标机(target):用户开发的系统,通常都是非X86平台,host编译得到的可执行代码在target上运行。
  
    

原文地址:https://www.cnblogs.com/zknu/p/2762990.html