最近接触到的都是OpenWrt开发项目,把所了解的做个总结。
一、去哪找资料
能得到以下信息:
能得到以下信息:
二、去哪找源码
https://github.com/openwrt/openwrt/tree/master
https://dev.openwrt.org/wiki/GetSource
三、编译
本文实验采用CentOS7的系统进行编译,README中给出了编译步骤,根据目标板的架构选好配置,就可以开始编译了。列举一些实验中遇到过的编译问题,以供参考:
(1)权限问题
openwrt默认不允许root操作,最简单的方法,不用root编译就好了,当然,网上还有一些其他的解决方案来解决这个问题(例如https://blog.csdn.net/sessos/article/details/78460851),但如果是新手的话,还是先不要引入更多的麻烦了吧。
(2)缺少库文件
提示少啥就安装啥,其中遇到一个问题“Unbound module Parmap”,貌似是对OCaml版本有要求,4.01.1可以,4.05.0就不行。如果系统没有做过其他开发,可能会缺比较多的库,例如:gcc binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils libncurses5-dev ncurses-term zlib1g-dev wget perl-Thread-Queue openssl-devel zlib-static ncurses-devel gcc-c++
四、添加自己的应用
可以在package路径下创建自己的应用,新建应用目录,该目录下的Makefile按照openwrt提供的模板写;如果有源码,在应用目录下创建src,src目录下可以定义Makefile指定本应用源码编译方式。如果Makefile没有写错,在配置界面可以找到新定义的应用,如果要编译,需要在配置界面选中该应用。之后可以单独编译应用也可以整个工程一起编译。