yocto bb文件直接编译压缩包里面的源码

本文详细描述了如何在Linux构建环境中使用zlog和readline库进行编译,包括设置SRC_URI,执行编译命令do_compile,以及安装步骤do_install。特别关注了如何通过EXTRA_OEMAKE传递编译参数和安装文件的管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

zlog 库编译

DESCRIPTION = "zlog"
#SECTION = "libs"
LICENSE = "MIT"
#LIC_FILES_CHKSUM = "file://hellomake.cpp;md5=7640784d694e3913a9a87f74aef487ed"

#PV = "3"
#PR = "r0"

# 默认就已经继承base.bbclass,以下语句可以省略
# inherit base

SRC_URI = " \
          file://zlog.tar.gz \
          "

# 这里必须添加,默认S路径不一样为 ${B}
S = "${WORKDIR}"

# 通过 EXTRA_OEMAKE 带入参数
# 例: EXTRA_OEMAKE += 
EXTRA_OEMAKE += "'CC=${CC}' 'CXX=${CXX}' 'LD=${LD}'"
do_compile () {
    cd zlog
    oe_runmake
}


do_install () {
    
    install -d ${D}${libdir}/
    install -m 0755 ${S}/zlog/src/libzlog.so ${D}${libdir}
    install -d ${D}/usr/include
    install -m 0755 ${S}/zlog/src/zlog.h ${D}/usr/include
}

# # FILES 表示这个软件包,需要打包进映像的文件是hellocmake,但决定这个软件包是否参与打包,需要在其他地方配置
FILES_${PN} = " ${libdir}/libzlog.so "

readline库编译

DESCRIPTION = "readline"
#SECTION = "libs"
LICENSE = "MIT"
#LIC_FILES_CHKSUM = "file://hellomake.cpp;md5=7640784d694e3913a9a87f74aef487ed"

PV = "8.1.2"
PR = "r0"

# 默认就已经继承base.bbclass,以下语句可以省略
# inherit base

SRC_URI = " \
          file://readline-8.1.tar.gz \
          "

# 这里必须添加,默认S路径不一样为 ${B}
S = "${WORKDIR}"

# 通过 EXTRA_OEMAKE 带入参数
# 例: EXTRA_OEMAKE += 
EXTRA_OEMAKE += "'CC=${CC}' 'CXX=${CXX}' 'LD=${LD}'"
do_compile () {
    cd readline* 
    ./configure --host=aarch64-poky-linux  --disable-static  --enable-shared
    oe_runmake
}


do_install () {
    
    install -d ${D}${libdir}/
    install -m 0755 ${S}/readline-8.1/shlib/libreadline.so.8.1 ${D}${libdir}/libreadline.so
    install -d ${D}/usr/include/readline
    install -d 0755 ${S}/recipe-sysroot-native/usr/include/readline ${D}/usr/include/
    cp ${S}/recipe-sysroot-native/usr/include/readline/* ${D}/usr/include/readline
}

# # FILES 表示这个软件包,需要打包进映像的文件是hellocmake,但决定这个软件包是否参与打包,需要在其他地方配置
FILES_${PN} = " ${libdir}/libreadline.so "

### RK3588 平台文件系统编译实验 #### 准备工作 为了成功进行RK3588平台上的文件系统编译实验,需先准备好必要的工具链和源码。确保已安装好适用于ARM架构的交叉编译器,并获取最新的Linux内核源码。 #### 获取并配置Yocto Project环境 对于嵌入式系统的开发而言,采用像Yocto这样的自动化构建框架可以极大简化流程[^3]。具体操作如下: - 安装依赖项:根据官方文档指导,在宿主机上部署所需的各类库和支持组件; - 下载BitBake及其他必需脚本:这是执行整个过程的关键所在; - 配置本地.conf文件来指定目标机器型号和其他参数设定。 #### 构建根文件系统镜像 一旦完成了上述准备工作,则可着手创建适合于特定硬件平台(此处即为iTOP-RK3588)运行的基础环境图像。这一步骤涉及到了解如何定义自己的layer层以及修改已有recipes配方以适应项目需求。 ```bash bitbake core-image-minimal ``` 此命令会基于预设好的最小化模板生成一个精简版的操作系统实例,其中仅包含了最基本的命令和服务集。 #### 自定义文件系统内容 如果希望进一步调整最终产物中的软件构成,可以通过编辑image recipes或者直接添加新的packages包进来达成目的。比如增加SSH服务支持以便远程登录调试等功能模块。 #### 测试与验证 最后但同样重要的环节就是对所得到的结果进行全面测试。将生成好的rootfs.tar.gz压缩包解压至SD卡或其他存储介质之上,随后按照常规方式启动设备查看其表现情况是否正常无误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无v邪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值