linux yocto bitbake构建系统生成SDK包

前提条件

Yocto 环境已正确设置(source 环境脚本,如 source poky/oe-init-build-env)

构建目录为 /home/hongrongkun/xinghe/v20/LE.PRODUCT.11/build-qti-distro-fullstack-debug

至少完成一次完整镜像构建(如 bitbake <image>),以确保工具链组件已生成

cd /home/hongrongkun/work/xinghe/v20/LE.PRODUCT.11

source poky/oe-init-build-env build-qti-distro-fullstack-debug

步骤 2: 生成 SDK 包

运行以下命令生成 SDK(我们项目的目标镜像为qti-multimedia-image ):

bitbake qti-multimedia-image -c populate_sdk

步骤 3: 查找生成的 SDK 包

SDK 包生成后,位于:

/home/hongrongkun/work/xinghe/v20/LE.PRODUCT.11/build-qti-distro-fullstack-debug/tmp/deploy/sdk/

文件名类似:qti-distro-glibc-x86_64-qti-distro-fullstack-image-aarch64-toolchain-<version>.sh

这是一个自解压安装脚本

步骤 4: 安装 SDK

cd /home/hongrongkun/work/xinghe/v20/LE.PRODUCT.11/build-qti-distro-fullstack-debug/tmp/deploy/sdk/

chmod +x <sdk-script-name>.sh

./<sdk-script-name>.sh

./fullstack-debug-x86_64-qti-multimedia-image-aarch64-canoe-toolchain-170a460.sh

安装时会提示选择安装路径(默认通常是 /opt/<sdk-name>/)

安装后,SDK 会设置环境变量和路径

步骤 5: 使用 SDK

安装后,每次使用前 source 环境脚本:

source /opt/<sdk-name>/environment-setup-aarch64-oe-linux

然后可以使用 aarch64-oe-linux-gcc 等工具进行交叉编译

CMake 项目可以直接使用,无需自定义 toolchain.cmake

注意事项

如果需要特定组件的 SDK,可以修改 conf/local.conf 添加 TOOLCHAIN_TARGET_TASK 或 TOOLCHAIN_HOST_TASK

SDK 包较大(几 GB),确保磁盘空间充足

如果构建失败,检查日志:bitbake -c populate_sdk -v qti-distro-fullstack-imag

相关推荐
程序员-Benothing11 小时前
Linux安全加固指南:账号、权限、服务、审计基线
linux·运维·安全
木子欢儿13 小时前
openconnect Linux客户端安装 以及开机自启和登录
linux·运维·服务器
..Dauntless..14 小时前
【Linux】文件系统(一)
linux·运维·服务器
GeW16 小时前
新质生产力路线图:从Linux到数据库,企业落地要点都在这
linux
IMPYLH16 小时前
Linux 系统备份与镜像
linux·服务器·网络
qetfw17 小时前
Bash 字符串处理:参数展开、序列与脚本执行方式
linux·开发语言·chrome·bash
hhwyqwqhhwy17 小时前
设备树之 provider 和 consumer
java·linux·前端
aaa最北边17 小时前
Linux 上的交叉编译
linux·运维·服务器
小张成长计划..18 小时前
【Linux】27:日志
linux·运维·服务器
别动我齐刘海18 小时前
机器人 C++ / 系统联调补强2——异常处理、Protobuf
linux·c++·人工智能·学习·算法·机器学习·机器人