openWrt入门2——初步认识工程

  学习openWrt,首先要从工程入手,这你需要知道一些makefile的知识。从编译入手。首先,你需要将代码checkout或clone下来。

  如果是使用git进行代码管理,那么执行以下的命令,在我接触openwrt的时候,还不支持git代码管理,只有svn。

  trunk:

    工程:

软件包:

12.09 branch:

    工程:

软件包:

如果是使用svn的话,则执行下面的命令:

  trunk:

    工程:

软件包:

12.09:

    工程:

软件包:

如果你想吧整个的openwrt都checkout下来也可以,包含所有的版本的软件包以及分支版本的工程:

代码checkout/clone可能要一段时间,接下来,就以12.09为主进行说明吧,还有一点需要注意的就是,最好使用对应版本的软件包,虽然不是对应版本的软件包也是可以使用的,但是对应的,有经过官方的测试,会有对应的维护,而如果是跨版本的,那么出现的一些异常情况,可能就需要你自己解决了。还有就是自己移植的软件包,那么也需要自己维护了。可以先make help,看看有什么帮助说明。

从帮助中,知道你需要安装gcc, binutils, patch, bzip2, flex,make, gettext, pkg-config, unzip, libz-dev and libc headers.也就是除了对应的一些开发工具,还有就是开发对应的头文件。

  Ubuntu/debian的话,执行下面的命令,安装对应的开发工具,有玩过内核的,应该都知道make menuconfig,openwrt也支持字符界面的操作。

如果出现Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h)的错误,那是执行make menuconfig的时候,缺少ncurses库或头文件的支持。因为make menuconfig是使用ncurses来实现的字符界面。执行下面的命令,安装编译需要的头文件及库文件。

make_menuconfig

  在执行了对应的一系列操作后,字符界面就出来了。由于没有设备,那么我们也只能继续在虚拟机上玩了,那就把配置修改成x86版本的。先使用默认的配置。退出,并保存配置,会在工程的目录下生成.config的隐藏配置文件。然后就可以开始编译了,执行make进行编译操作。

编译需要一段的时间,openwrt工程会帮你生成编译工具链,安装包,以及会帮你生成img文件系统。是个非常强大的工程。好了,现在这篇文章就先到这里了,下一篇文章,将对openwrt的目录进行适当的解析。

参考资料:

https://dev.openwrt.org/wiki/GetSource

http://wiki.openwrt.org/doc/howto/build?s[]=make

转载请注明: 转载自elkPi.com

本文链接地址: openWrt入门2——初步认识工程

发表评论

电子邮件地址不会被公开。 必填项已用*标注

Scroll to top