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

相关推荐
恒53917 小时前
Linux文件系统I
linux·运维·服务器
阿成学长_Cain17 小时前
Linux ipcs 命令超全详解:查看共享内存 / 消息队列 / 信号量,IPC 运维必备
linux·运维·服务器·网络·数据库
黯然神伤88817 小时前
AlmaLinux设置软件下载源
linux·alma
青瓦梦滋18 小时前
协议定制/序列化-反序列化(Linux视角)
linux·服务器·网络·c++
阿成学长_Cain20 小时前
Linux dirs命令详解|Bash目录堆栈管理快速切换目录实战教程
linux·运维·前端·数据库
ICECREAM21 小时前
Linux 进程间通讯(IPC)——总结
linux
想你依然心痛1 天前
嵌入式Linux安全加固:SELinux、Capabilities与Seccomp——强制访问控制与沙箱
linux·运维·安全
REDcker1 天前
macOS 挂载 Linux 远程目录详解
linux·运维·macos
2601_961593421 天前
Mac 上搭建Linux环境吗?VMware + CentOS Stream 9 镜像快速部署
linux·运维·ide·macos·centos
dddwjzx1 天前
嵌入式Linux C应用编程入门——线程 (二)
linux·嵌入式