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-AM62X:[AM6231][Yocto Build]如何在 Yocto 版本中使用自定义 my_K3-am625-SK.DTB 来生成内核 FitImage

Guru**** 2546020 points
Other Parts Discussed in Thread: AM625

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1349308/processor-sdk-am62x-am6231-yocto-build-how-to-generate-the-kernel-fitimage-with-custom-my_k3-am625-sk-dtb-in-yocto-build

器件型号:PROCESSOR-SDK-AM62X
主题中讨论的其他器件:AM625

尊敬的 TI 支持部门:

使用 SDK_09_00_00_03处理 AM631自定义板。

这里!  我正在使用我自己的定制 DTS 文件(" my_k3-am625-sk.dts ")对我的内核 BSP 更改而不是 k3-am625-sk.dts  

使用 Yocto build 编译源代码后,我能够在" deploy/images/am62x-evm/... 路径 "

问题是内核 fitImage 是用"k3-am625-sk.dtb" 而不是"my_k3-am625-sk.dtb"生成的。

请帮助我如何使用我的自定义 DTS 文件,而不是默认的一个(K3-am625-SK.dtb)来生成内核 FitImage ?

以下是我用于编译 Yocto 源代码的编译步骤。

  • 导出 lc_all="en_us. UTF-8 (UTF-8)"
  • 导出 LC_CTYPE="en_US. UTF-8 (UTF-8)"
  • 导出 LC_NUCLE="en_US. UTF-8 (UTF-8)"
  • 导出 LANG=en_US。 UTF-8
  • 导出语言=en_US。 UTF-8
  • ulimit -n 4096
  • MACHINE=am62xx-evm bitbake -k tisdk-base-imag e

参考主题: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1345798/processor-sdk-am62x-am6231-secure-boot-hs-se-verifying-hash-integrity-fit_config_verify_required_keys-no-signature-node-found-fdtd-bad-data-hash/5131961#5131961

请帮助我在这个,这是关键的我们.

谢谢。

纳雷什

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

    您好!

    关于此的任何更新。

    谢谢。

    纳雷什吉

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

    我再花几天时间看不下去了。 感谢您的耐心等待。

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

    尊敬的 Andreas:

    您可以将任何其他人分配给此人吗?  

    这对我们来说是至关重要的。

    请在此帮助。  

    谢谢。

    纳雷什。

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

    让我看看我今天是否能花点时间 来研究这一点。 持续关注。

    此致、Andreas

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

    您能否尝试编辑属于 Yocto 源树一部分的特定于电路板的配置文件...

    a0797059@dasso:~/tisdk/am62xx-evm/sources (dev)
    $ cat meta-ti/meta-ti-bsp/conf/machine/am62xx-evm.conf
    #@TYPE: Machine
    #@NAME: AM62XX EVM
    #@DESCRIPTION: Machine configuration for the TI AM62XX EVM
    
    require conf/machine/include/am62xx.inc
    require conf/machine/include/ti-extras.inc
    
    KERNEL_DEVICETREE_PREFIX = " \
        ti/k3-am625 \
        ti/k3-am62x-sk \
    "
    
    KERNEL_DEVICETREE = " \
        ti/k3-am625-sk.dtb \        # << PLUG IN CUSTOM DTB FILE NAME HERE
    "
    
    UBOOT_MACHINE = "am62x_evm_a53_defconfig"

    内核 DEVICETREE 用作 FIT 映像构建的一部分。

    此致、Andreas

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

    尊敬的 Andreas:

    是否应该添加 AS?  内核_DEVICDTREE ="\  

    •       TI/my_K3-am625-SK.dtb /

    "

    我应该在这里删除 ti/k3-am625-sk.dtb /  ?

    谢谢,

    纳雷什。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此处我应该删除 ti/k3-am625-sk.dtb /  ?

    是的、请替换它、不要添加到列表中。

    此致、Andreas

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

    您好,Andeas,

    感谢您的答复。

    一个查询:  

    假设在使用自定义设备树文件生成"fitImage "后。  如何检查自定义设备树是否是 fitImage 的一部分?

    一般情况下,要检查 fitImage 内容,我们必须将 fitImage 刷写到 eMMC。 在 uboot 中、我们必须发出 iminfo 命令、 然后它会提供 fitImage 信息。 但不加载板,有没有可能检查 fitImage 内容?

    谢谢。

    纳雷什

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

    您好、Nareesh、

    [报价 userid="523135" url="~/support/processors-group/processors/f/processors-forum/1349308/processor-sdk-am62x-am6231-yocto-build-how-to-generate-the-kernel-fitimage-with-custom-my_k3-am625-sk-dtb-in-yocto-build/5151021 #5151021"]一般要检查 fitImage 内容,我们必须将 fitImage 刷写到 eMMC。 在 uboot 中、我们必须发出 iminfo 命令、 然后它会提供 fitImage 信息。 但不加载板,有没有可能检查 fitImage 内容吗?[/报价]

    您可以使用器件树编译器来反向编译 FIT 映像要查看所有内容、我会始终这样做以再次进行检查。 有点像这样...

    a0797059@dasso:~/ti/ti-processor-sdk-linux-am62xx-evm-09.02.01.09/board-support/prebuilt-images/am62xx-evm
    $ dtc -I dtb fitImage | cut - -c -80
    /dts-v1/;
    
    / {
            timestamp = <0x65faf615>;
            description = "Kernel fitImage for Arago/6.1.80+gitAUTOINC+2e423244f8/am62xx-ev
            #address-cells = <0x01>;
    
            images {
    
                    kernel-1 {
                            description = "Linux kernel";
                            data = [1f 8b 08 08 ff e2 fe 65 02 03 6c 69 6e 75 78 2e 62 69 6e 00 ec 9c 0b
                            type = "kernel";
                            arch = "arm64";
                            os = "linux";
                            compression = "gzip";
                            load = <0x81000000>;
                            entry = <0x81000000>;
    
                            hash-1 {
                                    value = <0xa2b3f50c 0xfc196348 0x2411a19e 0xe47c03f1 0xb28c6a2d 0xe3d9a3bd 0
                                    algo = "sha512";
                            };
                    };
    
                    fdt-ti_k3-am625-sk.dtb {
                            description = "Flattened Device Tree blob";
                            data = [d0 0d fe ed 00 00 e8 9a 00 00 00 38 00 00 d2 34 00 00 00 28 00 00 00
                            type = "flat_dt";
                            arch = "arm64";
                            compression = "none";
                            load = <0x83000000>;
    
                            hash-1 {
                                    value = <0xf05cc2de 0xf183826a 0x634e6ab 0x99feb93a 0x1ce63835 0xff8ba604 0x
                                    algo = "sha512";
                            };
                    };
    <snip>

    此致、Andreas

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

    尊敬的 Andreas:

    有任何更新吗?

    如果您能快速提供帮助、我们将不胜感激。

    谢谢。。

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

    您好、Nareesh、

    在这里很难理解你所有的细节;我认为重要的是要确认、在你做了所有的修改后、Linux 内核所使用的设备树是你想要它使用的设备树吗? 您能否通过检查运行中的系统 /proc/device-tree "文件系统"节点以查看您的所有更改是否都存在?

    root@am62pxx-evm:/proc/device-tree# ls -al
    total 0
    -r--r--r--  1 root root  4 Jan 12 16:42 '#address-cells'
    -r--r--r--  1 root root  4 Jan 12 16:42 '#size-cells'
    drwxr-xr-x 23 root root  0 Apr 28  2022  .
    drwxr-xr-x  3 root root  0 Apr 28  2022  ..
    drwxr-xr-x  2 root root  0 Jan 12 16:42  __symbols__
    drwxr-xr-x  2 root root  0 Jan 12 16:42  aliases
    drwxr-xr-x 78 root root  0 Jan 12 16:42  bus@f0000
    drwxr-xr-x  2 root root  0 Jan 12 16:42  chosen
    drwxr-xr-x  2 root root  0 Jan 12 16:42  clk-0
    -r--r--r--  1 root root 23 Jan  9 11:11  compatible
    drwxr-xr-x  3 root root  0 Jan 12 16:42  connector-hdmi
    drwxr-xr-x  7 root root  0 Jan 12 16:42  cpus
    drwxr-xr-x  4 root root  0 Jan 12 16:42  firmware
    -r--r--r--  1 root root  4 Jan 12 16:42  interrupt-parent
    drwxr-xr-x  2 root root  0 Jan 12 16:42  l2-cache0
    drwxr-xr-x  3 root root  0 Jan 12 16:42  leds
    drwxr-xr-x  2 root root  0 Jan 12 16:42  memory@80000000
    -r--r--r--  1 root root 28 Jan  9 11:11  model
    -r--r--r--  1 root root  1 Jan 12 16:42  name
    drwxr-xr-x  9 root root  0 Jan 12 16:42  opp-table
    drwxr-xr-x  2 root root  0 Jan 12 16:42  pmu
    drwxr-xr-x  2 root root  0 Jan 12 16:42  regulator-0
    drwxr-xr-x  2 root root  0 Jan 12 16:42  regulator-1
    drwxr-xr-x  2 root root  0 Jan 12 16:42  regulator-2
    drwxr-xr-x  2 root root  0 Jan 12 16:42  regulator-3
    drwxr-xr-x 10 root root  0 Jan 12 16:42  reserved-memory
    drwxr-xr-x  4 root root  0 Jan 12 16:42  sound
    drwxr-xr-x  5 root root  0 Jan 12 16:42  thermal-zones
    drwxr-xr-x  2 root root  0 Jan 12 16:42  timer-cl0-cpu0

    此致、Andreas

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

    尊敬的 Andreas:

    我尚未将映像加载到设备。  

    我将回答你在前一个线程中提出的问题,一旦我刷写了图像.

    是否可以知道在 Yocto build 中哪里可以更改 dtb 文件的加载地址?

    在单机版中,我们通常会在" fitImage-its-am62xx-evm"文件"用于 fitImage。

    谢谢,

    纳雷什

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是否可以在 Yocto build 中更改 dtb 文件的加载地址?

    这来自  uBoot_DTB_LOADDESS 为 AM6x 器件定义的变量如下:

    a0797059@dasso:~/tisdk/am62axx-evm/sources (dev)
    $ grep -r -C 10 UBOOT_DTB_LOADADDRESS meta-ti/meta-ti-bsp/conf/machine/include/k3.inc
    
    KERNEL_IMAGETYPE = "Image"
    KERNEL_IMAGETYPES = "Image fitImage"
    KERNEL_CLASSES += "kernel-fitimage"
    
    UBOOT_ARCH = "arm"
    UBOOT_ENTRYPOINT = "0x81000000"
    UBOOT_LOADADDRESS = "0x81000000"
    UBOOT_RD_LOADADDRESS = "0x84000000"
    UBOOT_RD_ENTRYPOINT = "0x84000000"
    UBOOT_DTB_LOADADDRESS = "0x83000000"        # <<< THIS
    UBOOT_DTBO_LOADADDRESS = "0x83080000"
    UBOOT_DTBO_OFFSET = "0x00010000"
    
    SPL_BINARY = "tispl.bin"
    SPL_BINARYNAME = "tispl.bin"
    UBOOT_SUFFIX = "img"
    
    UBOOT_SIGN_ENABLE = "1"
    UBOOT_MKIMAGE_DTCOPTS = "-I dts -O dtb"
    UBOOT_SIGN_KEYNAME ?= "custMpk"

    此致、Andreas

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

    尊敬的 Adreas:

    感谢您的回复。

    uBoot_dtb_LOADDDRES

    此 dtb 地址更改被反映出来。

    但 my_k3-am625-sk.dtb 没有参加内核 fitImage ? Fitimage 仅采用 K3-am625-SK.dtb。  

    proc

    在/proc/device-tree 中,我找不到我的 BSP 更改。

    root@am62xx-evm:/proc/device-tree ls  
    #地址单元   别名          clk-0            CPU             L2-cache0        型号            PMU              调节      器-2调节器-5      保留内存  热区
    #size-cells      bus@f0000        兼容       固件         LED             name                   电脑控制器-0电脑控制器-3电脑      控制器-6      序列号    timer-cl0-CPU0
    __symbols__选择                 连接器        中断父 存储器@8000000  op-table        稳压器-1稳压器      -4稳压      器-7      声音
    root@am62xx-evm:/proc/device-tree cat model  
    德州仪器 AM625 SKROOT@am62xx-EVM:/proc/device-tree cat 兼容  
    ti、am625-skti、am625root@am62xx-evm:/proc/device-tree

    我有什么不知道的,请告诉我吗?

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

    您好、Nareesh、

    我需要完成一项重要的任务、然后才能花时间在此深入了解并提出一些建议、这样我就不会在下周再回来了。 感谢您的耐心等待。

    此致、Andreas

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

    尊敬的 Andreas:  

    非常感谢您的帮助 和持续支持 。

    我是很伟大的你。

    正在等待您的回复。

    谢谢,

    纳雷什

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

    尊敬的 Andreas:

    请对此进行更新。

    谢谢,

    纳雷什

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

    正如前面的评论,它不会在下周前,我可以作出任何时间对此。 我们已经有大量的工作积压、因此工作将非常艰难、但我会努力的。

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

    尊敬的 Andreas:

    对于我们来说、这是一个关键问题、请对此进行更新。

    请协助解决此问题。

    谢谢。

    纳雷什  

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

    尊敬的 Andreas:

    它正被延迟。

    请对此进行更新。

    因为这个问题现在很关键。

    谢谢,Nareesh  

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

    您好、Nareesh、

    感谢您的耐心等待。 我创建了一个小写文件、以显示在我们的 SDK v9.x 环境中使用定制 Linux 器件树文件所需的所有更改、请参阅此处的 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1356267/faq-am6x-using-a-custom-device-tree-file-for-booting-the-linux-kernel-with-ti-s-yocto-sdk-v9-x

    我已经通过直接加载 dtb 文件(SDK 默认设置)和适合加载 dtb 文件的方式测试了这种方法。

    此致、Andreas

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

    非常感谢你 Andreas ,

    我会检查并返回给你。

    此致、

    纳雷什

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

    尊敬的 Andreas:

    感谢您的详细解释。

    它为我服务…!

    您可以关闭此票证。

    再次感谢您的支持  

    谢谢。

    纳雷什