添加新软件到Buildroot

添加新软件到Buildroot

1.创建Config.in文件如下:

  1. config BR2_PACKAGE_LIBFOO  
  2.     bool "libfoo"  
  3.     help  
  4.       This is a comment that explains what libfoo is.  
  5.   
  6.   
  7.       http://foosoftware.org/libfoo/  
Config的语法要求如下http://lxr.free-electrons.com/source/Documentation/kbuild/kconfig-language.txt

2.创建 xx.mk文件
build支持三种makefile格式。
  • Makefiles for generic packages (not using autotools)他需要编写定义软件包是怎么编译的,怎么安装和清除,据官方说明,这种方式方便移植到其他地方,但程序员的工作会变大。
  • Makefiles for autotools-based software (autoconf, automake, etc.)automake会提供一些列工具,让你轻松编译系统。
  • Manual Makefiles看见Mannual就知道头痛,逐渐淘汰的东西,官方也不推荐。
总结,要添加一个新软件只需要关注两件事情,一个是config.in一个是xx.mk文件。下面我将举一个实际的例子来说明

添加Apache到Buildroot

        查了一下资料,发现在嵌入式系统方面,比较流行的web服务器应用是thttpd,这个在buildroot默认目录,已经存在了,没什么好说,说到web服务器,肯定不得不提apache,我的目标是搭建apache+php+mysql的网络服务应用环境,Buildroot上并没有apache,所以我需要添加apache。

        以下的操作的是基于buildroot的根目录下

mkdir package/apache

vi package/apache/apache.mk

  1. APACHE_VERSION = 2.2.21             //软件版本   
  2. APACHE_SOURCE = httpd-$(APACHE_VERSION).tar.bz2  //软件压缩包简写   
  3. APACHE_SITE = http://apache.etoak.com/httpd  //软件下载地址   
  4. APACHE_INSTALL_STAGING = YES  //安装在根目录上   
  5. APACHE_INSTALL_TARGET = YES   //安装   
  6. APACHE_CONF_OPT = --enable-modules=so \   //  ./configure所配置的内容   
  7.                   --enable-rewrite  
  8.   
  9. $(eval $(call AUTOTARGETS, package,apache))     //call AUTOTARGETS 表示使用automakefile模式  
vi package/apache/Config.mk

  1. config BR2_PACKAGE_APACHE  
  2.         bool "apache"  
  3.         help  
  4.                 this is a comment that explain what "apache" is.  

vi package/Config.in

添加

source "package/apache/Config.in"


        最后打开make menuconfig把apache选项选上,进行编译,当然编译的过程并不顺利,这并不是因为编译工具的问题,只是代码对交叉编译的兼容性不好,当然问题经过一番努力后,还是解决,以后有机会再聊这个,过于详细就离题了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值