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

相关推荐
动力 continue7 小时前
Linux 基础篇 · 压缩打包与用户管理
linux·服务器·基础命令linux
NJCloud8 小时前
Ansible(三)——Zabbix 监控系统部署与敏感信息加密
linux·运维·chrome·信息可视化·ansible·zabbix
ltl9 小时前
Cgroups v2:为什么内存限制设了,宿主机数据库还是被 OOM
linux
NJCloud9 小时前
TiDB 集群部署与 MySQL 兼容性适配实战
linux·运维·数据库·mysql·tidb
2401_868534789 小时前
UNIX常用命令英文全称与中文解释整理
linux·运维
阿祖zu10 小时前
开源项目-让本地 Codex 临时接管远程 Linux 服务,实现快速运维
linux·gpt·agent
Android系统攻城狮12 小时前
Linux PipeWire深度解析之pw_factory_create_object调用流程与实战(七十二)
linux·音频进阶·pipewire音频进阶
lsh曙光12 小时前
playbook剧本(2)--Ansible变量
linux·运维·网络
lengjingzju12 小时前
编译与调试完全指南—第14章 系统配置与调优
linux
大鹏的NLP博客13 小时前
通用 Linux 嵌入式板端 C/C++ ABI 与 Glibc 依赖治理规范
linux·c++·交叉编译