C
如何创建 Qt 开机映像
本主题描述了如何构建自定义 Qt 开机映像。在开始构建映像之前,请确保您已经按照《设置 Qt 开机构建环境》中的说明设置了 Yocto 环境。
初始化 Yocto 构建环境
使用 Google repo 工具初始化 Yocto 环境
cd <BuildDir> repo init -u https://code.qt.io/yocto/boot2qt-manifest -m <manifest> repo sync
其中 manifest
是 boot2qt-manifest 存储库中可用的 XML 清单文件之一。为每个 Qt 版本都提供了一个单独的清单文件,所有当前的开发分支都有遵循最新 Qt 变化的清单。一些硬件厂商的目标使用他们自己的清单。有关目前支持的设备和它们的清单的更多信息,请参阅下表。
设置 Yocto 环境 后,您需要为目标设备配置构建环境。
要配置 Linux 的构建环境,请在终端中运行以下命令
export MACHINE=imx8qm-mek source ./setup-environment.sh
以下表格列出了当前支持的设备所使用的 MACHINE
值。其他目标设备可能可在其他元层中可用。
板 | MACHINE | manifest |
---|---|---|
Amazon AWS EC2 ARM64 | aws-ec2-arm64 | aws/v6.7.2.xml |
Intel NUC | intel-skylake-64 | v6.7.2.xml |
NVIDIA Jetson AGX Xavier 开发者套件 | jetson-agx-xavier-devkit | v6.7.2.xml |
NVIDIA Jetson AGX Orin 开发者套件 | jetson-agx-orin-devkit | v6.7.2.xml |
NXP i.MX 8M Mini LPDDR4 评估套件 | imx8mm-lpddr4-evk | v6.7.2.xml |
NXP i.MX 8M Nano LPDDR4 评估套件 | imx8mn-lpddr4-evk | v6.7.2.xml |
NXP i.MX 8M Plus LPDDR4 评估套件 | imx8mp-lpddr4-evk | v6.7.2.xml |
NXP i.MX 8MQuad 评估套件 | imx8mq-evk | v6.7.2.xml |
NXP i.MX 8MQuadMax 多感官启用套件 | imx8qm-mek | v6.7.2.xml |
NXP i.MX 8MQuadXPlus 多感官启用套件 | imx8qxp-mek | v6.7.2.xml |
Qualcomm Robotics RB5 开发者套件 | qcom-armv8a | qcom/v6.7.2.xml |
NXP i.MX 93 11x11 LPDDR4X 评估套件 | imx93-11x11-lpddr4x-evk | v6.7.2.xml |
Raspberry Pi 4 64 位 | raspberrypi4-64 | v6.7.2.xml |
Renesas R-Car M3 开发者套件专业版 | m3ulcb | renesas/v6.7.2.xml |
Renesas R-Car H3 开发者套件高级版 | h3ulcb | renesas/v6.7.2.xml |
瑞萨R-Car H3 M3 Salvator-X(S) | salvator-x | renesas/v6.7.2.xml |
ST STM32MP15 评估 | stm32mp15-eval | st/v6.7.2.xml |
ST STM32MP15 开发板 | stm32mp15-disco | st/v6.7.2.xml |
德州仪器SK-AM62 | am62xx-evm | ti/v6.7.2.xml |
德州仪器SK-AM69 | j784s4evm | ti/v6.7.2.xml |
托拉德斯Apalis iMX6 | apalis-imx6 | toradex/v6.7.2.xml |
托拉德斯Apalis iMX8 | apalis-imx8 | toradex/v6.7.2.xml |
托拉德斯Colibri iMX6ULL | colibri-imx6ull | toradex/v6.7.2.xml |
构建引导到Qt
引导到Qt嵌入式Linux的主要构建目标是Qt板级支持包,它由目标镜像和外部工具链组成,可以与Qt Creator一起用于构建Qt应用程序。按照以下方式运行构建:
bitbake meta-b2qt-embedded-qbsp
如果您不需要完整的QBSP构建,您也可以分别构建镜像或工具链,如下所示:
bitbake b2qt-embedded-qt6-image bitbake meta-toolchain-b2qt-embedded-qt6-sdk
构建结果位于您的Yocto构建目录中的tmp/deploy/qbsp/
、tmp/deploy/images/
和tmp/deploy/sdk/
下。
注意:您还可以使用Flashing Wizard进行Yocto构建。
~/Qt/Tools/b2qt/b2qt-flashing-wizard tmp/deploy/images/${MACHINE}
开发主机
QBSP和工具链构建可以针对不同的开发主机平台。这可以通过使用环境变量SDKMACHINE
来选择。
SDKMACHINE | 开发主机 |
---|---|
x86_64 | Linux 64位(默认值) |
aarch64 | Linux 64位ARM |
x86_64-mingw32 | Windows 64位 |
您还可以在macOS主机上使用x86_64
和aarch64
主机目标:如果您使用的是基于Intel的Mac,则使用x86_64
;如果使用的是苹果硅Mac,则使用aarch64
。
安装QBSP
新构建的QBSP位于您的Yocto构建目录的tmp/deploy/qbsp/
下。Qt板级支持包安装指南描述了如何通过Qt在线安装程序安装QBSP文件。安装QBSP后,将QBSP中包含的镜像文件刷写到目标设备中。
配置Qt Creator
如果您已构建并安装了QBSP,您已经将工具链配置到了Qt Creator中,无需遵循本节中的说明。但是,如果您已单独构建工具链,您需要安装它并将其设置到Qt Creator中,以便为您的设备开始开发。
Linux
在Linux上,通过运行位于Yocto构建目录下tmp/deploy/sdk/
处的生成.sh
脚本来安装工具链。安装完成后,用以下脚本配置Qt Creator:
<TOOLCHAIN_DIR>/configure-qtcreator.sh
这将在Qt Creator中设置一个新的kit,使用已安装工具链中的工具链和Qt。新kit在编辑 > 首选项 > 套件下可见。
Windows
在Windows上,您首先需要提取位于Yocto构建目录下tmp/deploy/sdk/
处的生成.7z文件。然后您必须手动设置Qt Creator,以便为您的设备开始开发。要添加Qt版本、kit、编译器和调试器,请参阅检查构建和运行设置。
Windows工具链使用环境变量SDKPATH
,必须指向提取的工具链位置。您必须在Qt Creator的Kit设置中添加此变量。请记住使用正斜杠作为路径分隔符。例如:
SDKPATH=C:/Qt/Boot2Qt/device/toolchain
在不使用 Qt Creator 的情况下使用工具链
您也可以在不使用 Qt Creator 的情况下使用工具链。对于基于 QMake 的项目,使用 sysroots/x86_64-pokysdk-linux/usr/bin/qmake
,对于基于 CMake 的项目,使用 sysroots/x86_64-pokysdk-linux/usr/bin/qt-cmake
。
要使用工具链进行更通用的交叉开发,您需要从工具链中加载环境配置脚本来设置环境。更多信息,请参阅 Yocto 项目 文档。
在某些 Qt 许可下可用。
了解更多。