标签:style blog http color io ar 使用 for strong
***************************************************************************************************************************
作者:EasyWave 时间:2014.10.26
类别:Linux应用-开源路由器OpenWRT的编译与下载 声明:转载,请保留链接
注意:如有错误,欢迎指正。这些是我学习的日志文章......
***************************************************************************************************************************
一:开源路由器OpenWRT简介与特性
OpenWRT是一个高度模块化、高度自动化的嵌入式Linux系统,拥有强大的网络组件和扩展性,常常被用于工控设备、电话、小型机器人、智能家居、路由器以及VOIP设备中。 同时,它还提供了100多个已编译好的软件,而且数量还在不断增加,而 OpenWrt SDK 更简化了开发软件的工序。
OpenWRT不同于其他许多用于路由器的发行版,它是一个从零开始编写的、功能齐全的、容易修改的路由器操作系统。实际上,这意味着您能够使用您想要的功能而不加进其他的累赘,而支持这些功能工作的linux kernel又远比绝大多数发行版来得新。
对于开发人员,OpenWrt 是使用框架来构建应用程序,而无需建立一个完整的固件来支持;对于用户来说,这意味着其拥有完全定制的能力,可以用前所未有的方式使用该设备。
二:开源路由器OpenWRT官网与下载
目前开源路由器OpenWRT的最新版本为:OpenWrt (Barrier Breaker) 14.07,当前主要更新和改进如下:
RC3 之后的重大改进
原生 IPv6 支持
OpenWRT开发网址:dev.openwrt.org,如下所示:
上图的红色圈中的部分,是告诉我们如何去下OpenWRT的代码,点击进入之后,可以看到有git和svn两种方法下载,不过我选择git的方式来下载。如下所示:
上图中蓝色圈中部分的为现在一直在开发的版本,而红色圈中的部分为Rlease版本,具体想下载那个版本,就看自己的想法啦,不过我建议是下载红色圈中的部分,在采用git命令下载之前,需要先确保自己的机器上是否有安装git-core,如果没有的话,请用 sudo apt-get install git-core来安装git工具。安装完git工具之后,采用命令:git clone git://git.openwrt.org/14.07/openwrt.git 下载,下载期间必须确保网络一直畅通。下载完之后的OpenWRT的目录基本结构如下所示:
之后需要采用命令:./scripts/feeds updata -a去更新OpenWRT的源码包,如下所示:
更新完之后,需要采用命令:./scripts/feeds install -a去下载更新包,如下所示:
需要注意的是,这个时候并没有将OpenWRT的任何源码下载下来,而是需要通过make命令之后才会去下载OpenWRT项目中所需要的源码的,这一点请一定要注意哦,这也是为什么编译的速度会很慢的根本原因。在OpenWRT项目中有个README文件,有些注意事项需要看看,如下所示:
上图中已经说的很清楚啦,首先需要安装一些必须的工具和第三方库,比如:gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff, unzip, gawk, getopt, subversion, libz-dev and libc headers.安装完这些工具和三方库之后,就采用make defconfig命令设置默认的配置文件,然后在这个配置文件的基础上去修改和配置自己项目所需的配置,后续的配置就都可以采用:make menuconfig来配置和修改,这个跟Linux配置菜单是一样的,当然里面的配置项目很多,需要花点时间去熟悉,目前我也在熟悉当中,不能讲太多的东西。
三:开源OpenWRT的编译
前面已经详细的介绍了如何下载OpenWRT,这个部分就简单地说明如何编译,编译过程出错之后,如何查看错误信息,一般来说,都是采用make命令来编译代码,而采用make V=s来编译和查看错误的信息。如下所示:
编译的过程会很漫长,这是因为在编译的过程中,会去下载相关的源码压缩包,一般第三方库是放在dl目录下,而其它的会放在toolchain目录下,如下所示:
四:开源OpenWRT的总结
在编译和下载过程中要非常有耐性,因为有些时候网络并不是很好,就需要去查找是哪里导致停止等等。。
标签:style blog http color io ar 使用 for strong
原文地址:http://blog.csdn.net/wavemcu/article/details/40476857