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.

[参考译文] PROCESSOR-SDK-J721E:基本哈希值已更改 — 构建时出错

Guru**** 2489685 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1554578/processor-sdk-j721e-basehash-value-changed---errors-when-building

器件型号:PROCESSOR-SDK-J721E


工具/软件:

与 ti-processor-sdk-linux-adas-j721e0evm11_00_00_08 配合使用。  已按照所有文档为我们的 J721e-EVM 电路板进行设置和构建。 我第一次能够构建 tisdk-base-image target。 然后、我正在应用补丁、但事情不会构建。   

我返回到 Clean 并再次构建整个映像、以查看 wouild 是否仍在构建、我得到 basehash 值更改错误。

MACHINE="j721e-evm" bitbake -c cleanall tisdk-base-image
MACHINE="j721e-evm" bitbake -k tisdk-base-image

ERROR: When reparsing /home/rstjohn/Repos/NTS2/ti-processor-sdk-linux-adas-j721e-evm11_00_00_00_08/yocto-build/sources/meta-arago/meta-arago-distro/recipes-core/images/tisdk-base-image.bb:do_image_tar, the basehash value changed from 74fe2d39fdc05688dae1a287b081c5ad07e353a93121deac7eb790b1b32122c4 to 6fca6af9e7ac6867f57a6d56fba09b124b16557fc81071f6d882037c07fa203e. The metadata is not deterministic and this needs to be fixed.
ERROR: The following commands may help:
ERROR: $ bitbake tisdk-base-image -cdo_image_tar -Snone
ERROR: Then:
ERROR: $ bitbake tisdk-base-image -cdo_image_tar -Sprintdiff

ERROR: When reparsing /home/rstjohn/Repos/NTS2/ti-processor-sdk-linux-adas-j721e-evm11_00_00_00_08/yocto-build/sources/meta-arago/meta-arago-distro/recipes-core/images/tisdk-base-image.bb:do_image_wic, the basehash value changed from 091887fbbcaa53e43bfe4c46db0698f50aabc7a45b406de0ffeb81c494cd7bdc to 2a9ced51b70d975aa65cb0d228add0ad001a07c0b45deeb85c7fa8fec1a548a0. The metadata is not deterministic and this needs to be fixed.
ERROR: The following commands may help:
ERROR: $ bitbake tisdk-base-image -cdo_image_wic -Snone
ERROR: Then:
ERROR: $ bitbake tisdk-base-image -cdo_image_wic -Sprintdiff

我确实看到了一些关于这个错误的类似帖子,他们建议做一个清洁,然后再建设。 我这样做了、如上所示、仍然得到相同的错误。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Randy:

    然后我正在努力应用补丁、但事情无法构建。   [/报价]

    这是什么意思? 您是否在构建过程中编辑了源代码?

    您是否执行了 bitbake 推荐的命令? 我能看到这些结果吗?

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Randy:

    我也看到 DevTool 修改问题。 不过、为什么您要尝试编辑 ti-linux-staging?

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我想编辑一个 dtso 文件、或者添加自己的重叠文件、以便将一些不同的信号从芯片多路复用到 GESI 板。 我们需要 I2C5 以及一些 GPIO 来连接到 GESI 板、这些 GPIO 不在默认构建中。 我们需要编辑 uEnv.txt 以添加叠加层。

    我刚刚在 board_support 目录中手动完成了该操作、但我当时尝试了解如何将补丁应用于 Yocto 构建、因此将来我们可以执行此类操作。

    我们所做的是独特的吗? 我们正在使用开发模式来帮助我们了解定制硬件需要什么、以及哪些接口和外设适合我们。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Randy:

    要添加您自己的覆盖层、您可以在自己的自定义元层中添加补丁: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1303384/sk-am62-using-custom-kernel-in-local-workspace-for-yocto-ti-sdk/4953153#4953153

    您还可以查看 Yocto 文档: https://docs.yoctoproject.org/kernel-dev/common.html#using-devtool-to-patch-the-kernel 

    要编辑 uEnv.txt、您需要添加 tisdk-uenv.bbappend 或修改 tisdk-uenv。

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是的、这就是我在处理错误时所做的工作。 我正在关注创建我自己的元层。 但层中的修补程序必须知道它是修补的配方。 在我的模型中、它似乎指向  ti-linux-staging 来修补 k3-j721e-gesi-exp-board.dtso、以添加一些 GPIO 多路复用。

    虽然做这一切是当我遇到的错误,提示这个论坛问题.

    作为一个旁白:我尝试用 bbappend 方法修补 uEnv.txt、但我不能告诉应用 tisdk-uenv.bbappend 文件的收件人要修补什么。 在我的大多数 Yocto 经验中、我遇到的最大难题是尝试确定需要修改哪些层/收件人。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Randy:

    ]在我的 模型中、它似乎指向 ti-linux-staging 来修补 k3-j721e-gesi-exp-board.dtso、以添加一些 GPIO 多路复用。

    下面是用于向 ti-linux-staging 添加补丁的目录结构示例。 该示例适用于 j721s2-EVM 和 Linux 6.6、因此您将更改机器和版本号、但应进行转换。

    meta-jared
    ├── conf
    │   ├── distro
    │   │   └── jared.conf
    │   └── layer.conf
    ├── recipes-kernel
    │   └── linux
    │       ├── linux-ti-staging-6.6
    │       │   ├── j721s2-evm
    │       │   │   ├── 0001-arm64-dts-ti-k3-j721s2-common-proc-board-Edit-bootar.patch
    │       │   │   └── 0002-arm64-dts-ti-k3-j721s2-common-proc-board-Disable-unn.patch
    │       └── linux-ti-staging_6.6.bbappend

    linux-ti-staging_6.6.bappend

    FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}-6.6:"
    
    SRC_URI += "\
    	file://0001-arm64-dts-ti-k3-j721s2-common-proc-board-Edit-bootar.patch \
    	file://0002-arm64-dts-ti-k3-j721s2-common-proc-board-Disable-unn.patch \
    "

    顺便提一句:我尝试用 bbappend 方法修补 uEnv.txt、但我无法告诉应用 tisdk-uenv.bbappend 文件的收件人。 在我的大多数 Yocto 经验中、我遇到的最大难题是尝试确定哪些层/收件人需要修改。

     tisdk-uenv.bbappend 编辑 tisdk-uenv.bb 配方。

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Jared

    这是有帮助的,是我以前尝试过的,但没有成功。 我会稍后再试。 我目前正在调查其他一些事情、但会回来处理。

    但是、我可以做什么来重新构建内核? 是否需要删除并从头开始?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Randy:

    您可以从 bblayer.conf 中删除工作区

    此致、
    Jared

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是可行的。 是否有任何原因、或我需要将其放回原处的任何原因?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Randy:

    除非您在工作区中进行更改、否则不能

    此致、
    Jared