添加新软件到Buildroot
1.创建Config.in文件如下:
- config BR2_PACKAGE_LIBFOO
- bool "libfoo"
- help
- This is a comment that explains what libfoo is.
- http://foosoftware.org/libfoo/
build支持三种makefile格式。
- Makefiles for generic packages (not using autotools)他需要编写定义软件包是怎么编译的,怎么安装和清除,据官方说明,这种方式方便移植到其他地方,但程序员的工作会变大。
- Makefiles for autotools-based software (autoconf, automake, etc.)automake会提供一些列工具,让你轻松编译系统。
- Manual Makefiles看见Mannual就知道头痛,逐渐淘汰的东西,官方也不推荐。
添加Apache到Buildroot
查了一下资料,发现在嵌入式系统方面,比较流行的web服务器应用是thttpd,这个在buildroot默认目录,已经存在了,没什么好说,说到web服务器,肯定不得不提apache,我的目标是搭建apache+php+mysql的网络服务应用环境,Buildroot上并没有apache,所以我需要添加apache。
以下的操作的是基于buildroot的根目录下
mkdir package/apache
vi package/apache/apache.mk
- APACHE_VERSION = 2.2.21 //软件版本
- APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2 //软件压缩包简写
- APACHE_SITE = http://apache.etoak.com/httpd //软件下载地址
- APACHE_INSTALL_STAGING = YES //安装在根目录上
- APACHE_INSTALL_TARGET = YES //安装
- APACHE_CONF_OPT = --enable-modules=so \ // ./configure所配置的内容
- --enable-rewrite
- $(eval $(call AUTOTARGETS, package,apache)) //call AUTOTARGETS 表示使用automakefile模式
- config BR2_PACKAGE_APACHE
- bool "apache"
- help
- this is a comment that explain what "apache" is.
vi package/Config.in
添加
source "package/apache/Config.in"最后打开make menuconfig把apache选项选上,进行编译,当然编译的过程并不顺利,这并不是因为编译工具的问题,只是代码对交叉编译的兼容性不好,当然问题经过一番努力后,还是解决,以后有机会再聊这个,过于详细就离题了。