This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
我正在将 Yocto 设置从 dunfell 更新到 Kirkstone
在该过程中、我将 TI-SDK 从8.01升级到9.2、从8.01升级到 Poky 9.00。 我正在 Yocto 设置中使用 QT6.5
我将我的自定义层升级为 Kirkstone 层
当我尝试在图像中添加"ti-SGX-DDK-km ti-SGX-DDK-um"创建任何图像时、我将看到低于误差、但我不确定背后的原因是什么以及如何解决该问题。
ERROR: core-image-minimal-1.0-r0 do_rootfs: Postinstall scriptlets of ['ti-sgx-ddk-um'] have failed. If the intention is to defer them to first boot, then please place them into pkg_postinst_ontarget:${PN} (). Deferring to first boot via 'exit 1' is no longer supported. Details of the failure are in /data/Bhavesh/fsp-release-9/build-lrd-am437x-lrd-5.10-rt-test/tmp/work/am437x_lrd-poky-linux-gnueabi/core-image-minimal/1.0-r0/temp/log.do_rootfs. ERROR: Logfile of failure stored in: /data/platform/build-lrd-am437x-lrd-5.10-rt-test/tmp/work/am437x_lrd-poky-linux-gnueabi/core-image-minimal/1.0-r0/temp/log.do_rootfs.2356180 ERROR: Task (/data/platform/yocto/poky/meta/recipes-core/images/core-image-minimal.bb:do_rootfs) failed with exit code '1'
到目前为止、我知道 preferred_provider_virtual/gpudriver?="ti-SGX-DDK-KM"用于 meta-ti/meta-ti-bsp/conf/machine/include/ti43x.inc、ti-SGX-DDK-km 取决于 ti-SGX-DDK-um。
即使我创建的是最小核心映像并在 映像中添加"ti-SGX-DDK-km ti-SGX-DDK-um"、也会出现相同的错误
如上所述、我们刚刚发布了 AM437x PROCESSOR-SDK-LINUX v9.3、请参阅 https://www.ti.com/tool/download/SDK-AM437X。 它具有 改进/固定得多的图形堆栈。 我强烈建议您切换到此模式。 如果您仍然看到构建问题、我们需要将您应该能够重新创建的已知良好的 SDK 构建/设置与您的自定义端口进行比较。
[报价 userid="544898" url="~/support/processors-group/processors/f/processors-forum/1456869/am4378-do_rootfs-frailer-ti-sgx-ddk-um-after-updating-the-meta-ti-sdk-to-9-2 "]在这个过程中、我将 TI-SDK 升级至9.2请勿为 AM335x/AM437x 使用9.2标签进行构建。 使用此标签的这些器件没有发布 SDK、因此未进行测试、结果可能无效。
此致、Andreas
感谢您发送编修。
我还希望为 AM437x 和 AM335x 使用相同的 Yocto 设置、另外我也希望在相同的 Yocto 设置下获得 AM62xx 支持。
我看到、正如您建议的、SDK v9.3也可用于 AM335x、而且我可以使用它。
不存在问题、我应该使用哪一个最新的单 SDK 版本、它允许我使用 Kirkstone Yocto 为 AM335x 和 AM62xx 电路板构建映像。
问题不在于、我应该使用哪一个最新的单个 SDK 版本、该版本允许我使用 Kirkstone Yocto 为 AM335x 和 AM62xx 电路板构建映像
我不建议对 AM6x 器件使用 v9.x。 此后又进行了很多改进、比如 MMC/SD 驱动程序例程、DM 固件 PLL 例程等等。 识别所有更改并从 SDK v10.1将它们反向移植将非常困难。
此致、Andreas
总之、建议对 AM335x 和 AM437X 器件使用 SDK v9.3、对 am62xx 建议使用 SDKv10.1。 这是正确的吗?
我尝试了在 meta-ti 中切换到 SDK v9.3、 提交了963140e3b5820d6ebf54a4418946a628e0flu2c6 (head、tag:cicd.kirkstone.202412041235、tag:09.03.05)并重新编译了映像。 我仍然看到中出现相同的错误。
我仍在寻找在全新的 SDK 9.3基础上编译映像的方法、并在 映像中添加"ti-SGX-DDK-km ti-SGX-DDK-um"包、同时检查是否完成了映像构建。
最后、建议对 AM335x 和 AM437x 器件使用 SDK v9.3、对 am62xx 使用 SDKv10.1。 这是正确的吗?
正确。
[报价 userid="544898" url="~/support/processors-group/processors/f/processors-forum/1456869/am4378-do_rootfs-frailer-ti-sgx-ddk-um-after-updating-the-meta-ti-sdk-to-9-2/5589729 #5589729"]我还在寻找在新 SDK 9.3的基础上编译映像的方法、并在 映像中添加"ti-SGX-DDK-km ti-SGX-DDK-um"软件包、并检查是否完成了映像构建。我建议按预期重新创建 SDK 构建、然后对其进行检查以查看与您的设置之间有哪些显著差异。 这通常是一个涉及大量字符串搜索(`grep`)的练习。
此外、您是否查看过原始帖子中"console build error"消息中引用的详细错误日志文件? 可能是安装后脚本不适合您更改的 文件系统、因此您可能需要将重点放在这一点上、看看需要在其中调整哪些内容。
此致、Andreas
您好 Andreas、正如您建议我为9.3.5 SDK 压缩了 TI SDK 构建、我曾尝试添加 ti-SGX-DDK-km 和 ti-SGX-DDK-um 驱动程序。 它在这里给出了相同的误差。 之后、我研究了 ti-SGX-DDK-um 的较旧配方(TI-SDK 08.01.001)后、发现使用了 udev、并且如果 Yocto 系统是 sysvinit、则它们包含 update-rc.d 类
INITSCRIPT_NAME = "rc.pvr" INITSCRIPT_PARAMS = "defaults 8" PACKAGECONFIG ??= "udev" PACKAGECONFIG[udev] = "UDEV=true,,,udev" def use_sysvinit(d): return d.getVar('VIRTUAL-RUNTIME_init_manager') == 'sysvinit' inherit ${@oe.utils.ifelse(use_sysvinit(d), 'update-rc.d', '')}
从错误我怀疑关于这个错误是与 update-rc.d 文件有关的东西,这是导致错误在 rootfs 时。
如果我更新 PACKAGECONFIG ="" 这样就可以创建最终图像。
我进行了更改、并将添加到了用于创建自定义映像的 Yocto 设置中。 我能够创建最终图像。 但是、如果我测试图像、则无法在板上看到任何图形。 (我正在 AM437X-SK 板上进行测试、在使用较旧 TI-SDK 8和 DUNFALL Yocto 的旧图像中、我正在使用基于 qt 的应用、该应用在电路板启动后会显示标识)我将遇到以下错误
Setting environment variables...Starting UI app... UI app started. root@Node:~# Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8. Qt depends on a UTF-8 locale, and has switched to "C.UTF-8" instead. If this causes problems, reconfigure your locale. See the locale(1) manual for more information. MESA: info: Loaded libpvr_dri_support.so PVR:(Error): PVRDRICreateScreenImpl: Failed to create display device (err=19) [0, ] MESA: info: Unloaded libpvr_dri_support.so MESA-LOADER: failed to open zink: /usr/lib/dri/zink_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib/dri, suffix _dri) failed to load driver: zink drmModeGetResources failed (Operation not supported) Cannot create window: no screens available
我的问题是
我的最终目标是让旧版 QT 应用程序与更新的 Yocto 和 meta-ti SDK 一起使用
我想,在升级 Yocto 的过程中,有些点从我的目的漏掉了,这可能会导致这个问题。
我目前正在国际商务旅行中的客户网站工作、无法进一步了解这一点;下周回到办公室后、我将发表评论。
此致、Andreas