给buildroot添加自己的软件包,自动安装到rootfs

5 篇文章 0 订阅

官网本身有详细教程,这里只是简单说一下。

0. 源码 hello.c和Makefile一起放在了 ~/buildroot-2020.08.1/dl/helloworld 文件夹

hello.c

#include <stdio.h>

int main()
{
    printf("buildroot helloworld\n");
    return 0;
}

Makefile:

OPT    = -O2
DEBUG  = -g
OTHER  = -Wall -Wno-deprecated
CFLAGS = $(OPT) $(OTHER)
INCDIR = -I
LIBDIR = -L
LIBS =
APP=helloworld
SRCS=hello.c

all:
    $(CC) -o $(APP) $(SRCS) $(CFLAGS) $(LIBDIR) $(INCDIR) $(LIBS)
clean:
    rm $(APP)

1. 加menuconfig项目

改这个文件:

~/buildroot-2020.08.1/package/Config.in 

……
menu "Text editors and viewers"
    source "package/ed/Config.in"
    source "package/joe/Config.in"
    source "package/less/Config.in"
    source "package/mc/Config.in"
    source "package/most/Config.in"
    source "package/nano/Config.in"
    source "package/uemacs/Config.in"
    source "package/vim/Config.in"
endmenu

menu "myown helloworld"
    source "package/helloworld/Config.in"
endmenu

endmenu

注意要在最后这个 endmenu 前插入。

2.  新建 ~/buildroot-2020.08.1/package/helloworld/Config.in

config BR2_PACKAGE_HELLOWORLD
bool "helloworld"
help
  This is a demo to add myown helloworld.

此时menuconfig就有了。

3. 新建 ~/buildroot-2020.08.1/package/helloworld/helloworld.mk

################################################################################
#
# helloworld
#
################################################################################

HELLOWORLD_VERSION:= 1.0.0
HELLOWORLD_SITE:= $(CURDIR)/dl/helloworld
HELLOWORLD_SITE_METHOD:=local
HELLOWORLD_INSTALL_TARGET:=YES

define HELLOWORLD_BUILD_CMDS
    $(MAKE) CC="$(TARGET_CC)" LD="$(TARGET_LD)" -C $(@D) all
endef

define HELLOWORLD_INSTALL_TARGET_CMDS
    $(INSTALL) -D -m 0755 $(@D)/helloworld $(TARGET_DIR)/bin
endef

define HELLOWORLD_PERMISSIONS
    /bin/helloworld f 4755 0 0 - - - - -
endef

$(eval $(generic-package))

我把工程代码放到 ~/buildroot-2020.08.1/dl/helloworld 里了

完成,直接在~/buildroot-2020.08.1 下 make menuconfig 使能helloworld包,然后make。helloworld会自动安装到根文件系统的/bin目录下。

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值