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

相关推荐
A小辣椒4 小时前
TShark:Wireshark CLI 功能
linux
A小辣椒8 小时前
TShark:基础知识
linux
AlfredZhao10 小时前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao1 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334661 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪1 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠2 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush42 天前
嵌入式linux学习记录十四、术语
linux·嵌入式
载数而行5202 天前
Linux 11 动态监控指令top
linux
不会C语言的男孩2 天前
Linux 系统编程 · 第 8 章:进程基础
linux·c语言