嵌入式爱好者

buildroot添加本地应用

2022-10-10 15:23| 发布者: 会飞的大灰狼| 查看: 477| 评论: 0

类目: 知识库  >  A40i/T3系列产品     文档编号: 785

本文章向大家介绍给buildroot添加自己的软件包,自动安装到rootfs,主要包括给buildroot添加自己的软件包,自动安装到rootfs
这里的软件包是helloworld测试程序。
1、新建源码文件
mkdir /home/forlinx/helloworld
vi helloworld.c
#include <stdio.h>
int main()
{
    printf("buildroot helloworld\n");
    return 0;
}

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

all:
        $(CC) -o $(APP) $(SRCS) $(CFLAGS) $(LIBDIR) $(INCDIR) $(LIBS)
clean:
        rm $(APP)
2、在lichee/buildroot-201611/package/Config.in里添加
menu "Daniel private app package"
source "package/helloworld/Config.in"
endmenu
添加在结尾
3、创建规则文件
在lichee/buildroot-201611/package新建helloworld
mkdir helloworld
vi Config.in
config BR2_PACKAGE_HELLOWORLD
bool "helloworld"
help
This is a demo to add local app.

vi helloworld.mk
################################################################################
#
# helloworld
#
################################################################################

HELLOWORLD_VERSION:= 1.0.0
HELLOWORLD_SITE:= /home/forlinx/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))
4、在lichee/buildroot‐201611/configs/sun8iw11p1_hf_defconfig
添加 BR2_PACKAGE_HELLOWORLD=y
buildroot‐201611 的配置文件位于 buildroot‐201611/configs/sun8iw11p1_hf_defconfig,可以修改该配置
文件对源码进行配置,配置完成后将该文件拷贝到
out/sun8iw11p1/linux/common/buildroot/.config,编译
时会按照
.config 编译。 
5. ./build.sh 全编译
6  ./build.sh pack  打包  


已解决

未解决

只是看看

QQ|小黑屋| 飞凌嵌入式 ( 冀ICP备12004394号-1 )

GMT+8, 2025-5-7 20:53

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

返回顶部