您好,欢迎访问三七文档
之一------openwrt简介讲在开始现阶段openwrt官方支持的路由列表:wiki.openwrt.org/toh/start如果要学习openwrt的话,买些列表中二手的路由器来实践下更容易学习,大部分要升级一下rom芯片和内存芯片,典型配置都是4M、64M。大家先学习一下,等待小米开放时刻的到来,有备无患……OpenWrt可以被描述为一个嵌入式的Linux发行版,(主流路由器固件有dd-wrt,tomato,openwrt三类)而不是试图建立一个单一的、静态的系统。OpenWrt的包管理提供了一个完全可写的文件系统,从应用程序供应商提供的选择和配置,并允许您自定义的设备,以适应任何应用程序。对于开发人员,OpenWrt是使用框架来构建应用程序,而无需建立一个完整的固件来支持;对于用户来说,这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备。开发原因当Linksys释放WRT54G/GS的源码后,网上出现了很多不同版本的Firmware去增强原有的功能。大多数的Firmware都是99%使用Linksys的源码,只有1%是加上去的,每一种Firmware都是针对特定的市场而设计,这样做有2个缺点,第一个是难以集合各版本Firmware的长处,第二个是这版本距离Linux正式发行版越来越远。OpenWrt选择了另一条路,它从零开始,一点一点的把各软件加入去,使其接近Linksys版Firmware的功能,而OpenWrt的成功之处是它的文件系统是可写的,开发者无需在每一次修改后重新编译,令它更像一个小型的Linux电脑系统。发展历程OpenWrt项目由2004年1月开始,第一个版本是基于Linksys提供的GPL源码及uclibc中的buildroot项目,这个版本称为“stable”版,在网上至今仍有很多项目使用这个版本,较为有名Freifunk-Firmware和Sip@Home.到了2005年初,一些新的开发人员加入了这项目,几个月后他们释出了第一个“experimental”版本,这和以前版本不同的是,这版本差不多完全舍弃了Linksys的GPL源码,使用了buildroot2作为核心技术,将OpenWrt完全模块化,OpenWrt使用Linux正式发行的核心源码(2.4.30),加上了一些补丁和网络驱动,开发队伍更为OpenWrt添加了许多免费的工具,可以直接把Image写入Flash(mtd)里面,设定无线功能和VLAN交换功能,这个版本名为“WhiteRussian”,而1.0版本于2005年底公布。特点OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。同时,它还提供了100多个已编译好的软件,而且数量还在不断增加,而OpenWrtSDK更简化了开发软件的工序。OpenWRT不同于其他许多用于路由器的发行版,它是一个从零开始编写的、功能齐全的、容易修改的路由器操作系统。实际上,这意味着您能够使用您想要的功能而不加进其他的累赘,而支持这些功能工作的linuxkernel又远比绝大多数发行版来得新。优势如果对Linux系统有一定的认识,并想学习或接触嵌入式Linux的话,OpenWRT很适合。而且OpenWRT支持各种处理器架构,无论是对ARM,X86,PowerPC或者MIPS都有很好的支持。其多达3000多种软件包,囊括从工具链(toolchain),到内核(linuxkernel),到软件包(packages),再到根文件系统(rootfs)整个体系,使得用户只需简单的一个make命令即可方便快速地定制一个具有特定功能的嵌入式系统来制作固件。开发过程一般嵌入式Linux的开发过程,无论是ARM,PowerPC或MIPS的处理器,都必需经过以下的开发过程:1、创建Linux交叉编译环境;2、建立Bootloader;3、移植Linux内核;4、建立Rootfs(根文件系统);5、安装驱动程序;6、安装软件;熟悉这些嵚入式Linux的基本开发流程后,不再局限于MIPS处理器和无线路由器,可以尝试在其它处理器,或者非无线路由器的系统移植嵌入式Linux,定制合适自己的应用软件,并建立一个完整的嵌入式产品。劣势由于CPU内核体系不同,造成很多应用程序移植到OpenWrt上的时候经常崩溃。由于ADSL硬件模块的驱动程序没有开放源代码,造成很多ADSL一体无线路由的ADSL模块不能工作而造成功能缺失(RG100A和DB120除外)。由于OpenWRT并不是官方发布的路由器固件,所以要使用(刷入该固件)有困难,而且其基于Linux,导致OpenWRT的入门门槛较高。历史版本WhiteRussianOpenWRT的初始版本,从2005年7月的WhiteRussianRC1开始发展,一直到2007年1月才发布WhiteRussian0.9。KamikazeOpenWRT的第二个版本,从2007年6月开始发布Kamikaze7.06,一直更新到2010年1月的Kamikaze8.09.2结束。这期间OpenWRT进行了大量改进,并为它的发展打下了坚实的基础。Backfire2010年03月04日,OpenWrtBackfire10.03Beta发布,该版本是开源的路由器固件,基于linux,功能强大,支持很多主流的平台和路由器,甚至支持国内的君正jz4740平台,是学习和开发嵌入式,也是工业、商业应用理想平台。更新方面:brcm-2.4更新到2.4.37kernel,othertargets更新到2.6.30or2.6.32,arm/mips平台的gcc更新到4.3.3,powerpc的gcc更新到4.4.3,uClibc更新到0.9.30.1,Broadcom11g芯片组的b43无线网卡驱动更新到2.6kernel,支持Atheros11nath9k,支持很多新的ar71xx设备,magicbox归入ppc40x平台。2010年03月25日,OpenWrt发布Backfire10.03-rc1,支持国内留下的tp-link最新多款11n的路由器,是不是想让路由器支持万能中继呢,或者增加路由器的多wan口支持呢,更多的这些高端路由才有的功能,或许能让家用路由轻松具备。2010年04月07日,OpenWRT放出Backfire10.03正式版。2010年08月29日OpenWRT放出了Backfire10.03.1。修正了很多BUG,提高了兼容性。TP-LINKWR841Nv2已经可以正常使用了,包括无线部分和上网部分。自rc1之后的变动:改进了防DNS重绑定攻击,改进了uhttpd稳定性,Rootfs生成修复(Orion景象),修正了基于BRCM47XX的PCI初始化,添加了rtl8366vlan改变的整合脚本,还原了一般x86镜像GRUB控制台,提高了ar71xx系列以太网驱动程序性能,添加了ar7240交换机驱动,一些swconfig和交换机驱动的改进,RDC使用启动加载器支持波特率,允许原生HID支持通过添加kmod-input-hid,6in4:适当的处理了PPPoE连接并且修复了终端隧道更新。国内版本鉴于开源软件在国内的发展态势,目前国内有基于OpenWRT改进而来的OpenWRT-DreamBox。这个版本的OpenWRT集成了了很多常用功能(包括脱机下载等),而通过这个版本的OpenWRT便可以把一个路由器的功能发挥的淋漓尽致。之二------编译openwrt现在有越来越多的Maker开始折腾OpenWrt,但作为一个Maker新手来讲,在网上还是很难找到一份系统的入门级资料。查找资料很辛苦,而且OpenWrt的门槛相对较高,希望这篇文章所提供的从零开始学OpenWrt编译+刷机+使用教程能降低新手们的入门难度,当然,编译过程非必须,一般的路由都可找到可用的稳定固件直接刷机。搭建编译环境1、安装Ubuntu(编译需要Linux环境),到其官网下载,版本根据自己所需选择即可。可以选择安装到虚拟机或者物理机,图形化安装而且是中文版,连安装都搞不定的,可以关闭本页面了;(下载地址可以百度,回复贴中会提供)2、切记不要改动软件源,同时按住Ctrl+Alt+T,调出终端;3、逐条输入下列命令(及时验证是否安装成功):sudoapt-getinstallg++sudoapt-getinstalllibncurses5-devsudoapt-getinstallzlib1g-devsudoapt-getinstallbisonsudoapt-getinstallflexsudoapt-getinstallunzipsudoapt-getinstallautoconfsudoapt-getinstallgawksudoapt-getinstallmakesudoapt-getinstallgettextsudoapt-getinstallgccsudoapt-getinstallbinutilssudoapt-getinstallpatchsudoapt-getinstallbzip2sudoapt-getinstalllibz-devsudoapt-getinstallasciidocsudoapt-getinstallsubversionsudoapt-getinstallsphinxsearchsudoapt-getinstalllibtoolsudoapt-getinstallsphinx-common至此编译环境搭建完成。下载OpenWrt源码OpenWrt源码分两种,一种是最新但不是最稳定的Trunk开发版,一种是最稳定的Backfire版,建议下载官方源码。下载前先在本地创建文件夹:mkdiropenwrtsudochmod777openwrtcdopenwrt选择你想要的版本然后执行下载命令,下载结束会显示版本号:Trunk版下载命令:svncosvn://svn.openwrt.org/openwrt/trunk/Backfire版下载命令:svncosvn://svn.openwrt.org/openwrt/branches/backfire/添加软件扩展包,将feeds.conf.default修改为feeds.conf:cpfeeds.conf.defaultfeeds.conf更新扩展,安装扩展:./scripts/feedsupdate-a./scripts/feedsinstall-a注:如果不是刚下载的源码,为保持代码为最新状态,应定期运行svnupdate命令更新源码。测试编译环境:makedefconfig到这里就可以开始编译自己的固件了。进入定制界面:makemenuconfig如果一切正常,会出现一个配置菜单,可以选择要编译的固件平台(芯片类型)、型号,还能选择固件中要添加的功能和组件,配置好后保存并退出菜单即可。openwrt-make如果你想修改源码,应该在此步进行,如支持大容量Flash之类的修改,自己上网查到修改什么文件什么地方后,就在ubuntu图形界面上进去找到文件,双击打开文本编辑器修改保存。开始编译:make或者makeV=99或者make-jV=99make是编译命令,V=99表示输出debug信息,V一定要大写,如果要让CPU全速编译,就加上-j参数,第一次编译最好不带-j参数。编译过程保持联网(会从网上下载一些源码包),所以断网可能造成编译中断,编译所需时间与电脑CPU及网络环境有很大关系,第一次编译时间较久,快则半小时长则2、3个小时,之后的编译所需时间较短。编译完成后会在源码文件目录出现bin文件夹(如trunk/bin/XXXX),如果你手里的路由是原版固件需要刷OpenWrt需要选用XXX-factory.bin固件,如果路由已经刷了OpenWrt,选用升级固件XXXX-sysupgrade.bin升级用的,在
本文标题:OPENWRT入门
链接地址:https://www.777doc.com/doc-2847591 .html