buildroot和在buildroot下新增包(动态库)

buildroot是一个构建嵌入式系统的工具,开发者可以根据对其进行配置实现自动生成交叉编译工具链(toolchain)、根文件系统(rootfs)、Linux内核映像(linux kernel)和目标引导程序(bootloader)。buildroot常用来构建根文件系统,不仅集成了 busybox,而且还集成了各种常见的第三方库和软件供用户选择,极大的方便了嵌入式Linux开发人员构建实用的根文件系统。

一、buildroot使用

1.下载安装源码: http://buildroot.org/downloads/
2.图形化配置:make menuconfig(make n/x/gconfig)
3.编译和构建系统:make
4.在buildroot/output/image目录下可找到相关镜像

二、在buildroot下新增包

1.新建包目录buildroot/package/package_name/
2.在pakage_name下添加Config.in和package_name.mk文件(类似Makefile)
3.在package/Config.in添加source “package/package_name/Config.in”
4.在package/xxx.mk添加include $(sort package/package_name/package_name.mk) (如果想不自动安装包可以加上判断语句ifeq(xxx,y)endif)
5.在buildroot/configs/xxx_defconfig 添加配置选项 BR2_PACKAGE_PACKAGE_NAME=y
6.make buildroot(或make package_name-rebuild)重新编译根文件系统

Config.in文件(具体格式参考官网文档)



config BR2_PACKAGE_PACKAGE_NAME
bool "package name"
help
package name 

package_name.mk 文件



PACKAGE_NAME_VERSION = 1.0                  /*自定义说明包的版本,注意大写,否则识别不出来*/
PACKAGE_NAME_SITE = $(TOPDIR)/../xxx_path(httpxxx)    /*自定义说明包的本地路径或者下载路径,路径中必须有Makefile或相关源码*/
PACKAGE_NAME_SITE_METHOD = local                  /*自定义说明包从本地获得还是网上下载,这里是本地获得*/

define PACKAGE_NAME_BUILD_CMDS
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) all armhf=1       //编译包的命令,可自定义
endef

define PACKAGE_NAME_INSTALL_TARGET_CMDS                          //在target目录下安装包的命令,可自定义
$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) install
endef

$(eval $(generic-package))

参考资料:https://buildroot.org/downloads/manual/manual.html

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Buildroot添加私有项目的步骤如下: 1. 将您的私有项目添加到`buildroot/packages/`目录下,创建一个新的目录,以项目名称命名。例如,`buildroot/packages/myproject/`。 2. 在您的私有项目目录中,创建一个描述文件。该文件应该命名为`myproject.mk`,其中`myproject`是您的项目名称。在此文件中,您需要定义以下内容: - `MYPROJECT_VERSION`:项目的版本号。 - `MYPROJECT_SITE`:项目的来源(可以是本地路径或远程URL)。 - `MYPROJECT_LICENSE`:项目的许可证。 - `MYPROJECT_DEPENDENCIES`:项目的依赖项(如果有)。 - `MYPROJECT_CONF_OPTS`:项目的配置选项,可以根据需要进行设置。 示例: ``` MYPROJECT_VERSION = 1.0.0 MYPROJECT_SITE = file:///path/to/myproject.tar.gz MYPROJECT_LICENSE = GPLv2+ MYPROJECT_DEPENDENCIES = libfoo libbar MYPROJECT_CONF_OPTS = --enable-feature1 --disable-feature2 ``` 3. 在Buildroot的主配置文件(通常是`buildroot/.config`)中,找到并编辑`BR2_EXTERNAL`变量。将其设置为您的私有项目目录的路径,以冒号分隔。例如,如果您的私有项目目录是`buildroot/packages/myproject/`,则添加以下行: ``` BR2_EXTERNAL=/path/to/buildroot/packages/myproject ``` 4. 运行Buildroot构建。 ``` make ``` Buildroot将根据您的配置构建并安装您的私有项目。 请注意,这只是一个基本的指南,您可能需要根据您的项目的具体要求进行额外的配置和修改。有关更详细的信息和高级配置选项,请参阅Buildroot的文档和手册。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值