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.

[参考译文] SK-AM62A-LP:通过 tisdk-uenv Recipe (Yocto) 将 imx219 dtbo 添加到 uEnv.txt

Guru**** 2568565 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1570666/sk-am62a-lp-adding-imx219-dtbo-to-uenv-txt-via-tisdk-uenv-recipe-yocto

器件型号:SK-AM62A-LP


工具/软件:

工程师、您好:

第一个测试点 将 imx219.dtbo 条目添加到/run/media/BOOT-mmcblk1p1/uEnv.txt使用tisdk-uenv配方中 、但我面临着一些问题。

tisdk-uenv.bbappenduEnv.txt在我的一层添加了: /sources/meta-mylayer/recipes-tisdk/tisdk-uenv

更改不会显示在最终 WIC 映像中: arago-tmp-default-glibc/work/am62axx_evm-oe-linux/tisdk-uenv/1.0/image/board-support/prebuilt-images/uEnv.txt

我尝试name_overlayssed在中使用进行编辑.bbappend。 这更新了工作目录、但完整的映像构建仍然未能完成更改。

只有当我直接uEnv.txt在此处添加修改后的内容时、它才有效: /sources/meta-edgeai/recipes-tisdk/edgeai-components/tisdk-uenv/am62axx-evm/edgeai/uEnv.txt

您能指导我如何正确地覆盖/附加uEnv.txt自定义元层、以便在最终映像中反映出来吗?
我知道这是一个与 Yocto 相关的问题、过去几天尝试了许多方法添加 uEnv.txt、但未能说明为什么在此处创建问题!

谢谢、
Sajan

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

    尊敬的 Sajan:  


    您能否分享  bblayer.conf 的内容?  

    如果使用 oe-layersetup 工具 (https://git.ti.com/cgit/arago-project/oe-layersetup/)、则文件的路径将为 oe-layersetup/build/conf/bblayers.conf。  


    此致、

    Antonios Christidis  

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

    尊敬的  Antonios:

    您能否分享  bblayer.conf 的内容?  
    [/报价]



    bblayer.conf 没有问题。 我的元图层被完美地添加为图层。

    # LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
    # changes incompatibly
    POKY_BBLAYERS_CONF_VERSION = "2"
    
    BBPATH = "${TOPDIR}"
    BBFILES ?= ""
    
    BBLAYERS ?= " \
      /home/user/tisdk/tisdk/sources/oe-core/meta \
      /home/user/tisdk/tisdk/sources/meta-openembedded/meta-oe \
      /home/user/tisdk/tisdk/sources/meta-openembedded/meta-python \
      /home/user/tisdk/tisdk/sources/meta-openembedded/meta-networking \
      /home/user/tisdk/tisdk/sources/meta-openembedded/meta-gnome \
      /home/user/tisdk/tisdk/sources/meta-openembedded/meta-filesystems \
      /home/user/tisdk/tisdk/sources/meta-openembedded/meta-multimedia \
      /home/user/tisdk/tisdk/sources/meta-arago/meta-arago-distro \
      /home/user/tisdk/tisdk/sources/meta-arago/meta-arago-extras \
      /home/user/tisdk/tisdk/sources/meta-arago/meta-arago-demos \
      /home/user/tisdk/tisdk/sources/meta-arago/meta-arago-test \
      /home/user/tisdk/tisdk/sources/meta-qt5 \
      /home/user/tisdk/tisdk/sources/meta-virtualization \
      /home/user/tisdk/tisdk/sources/meta-ti/meta-ti-bsp \
      /home/user/tisdk/tisdk/sources/meta-ti/meta-ti-extras \
      /home/user/tisdk/tisdk/sources/meta-arm/meta-arm \
      /home/user/tisdk/tisdk/sources/meta-arm/meta-arm-toolchain \
      /home/user/tisdk/tisdk/sources/meta-clang \
      /home/user/tisdk/tisdk/sources/meta-tisdk \
      /home/user/tisdk/tisdk/sources/meta-edgeai \
      /home/user/tisdk/tisdk/sources/meta-mylayer \
    "


    因为是周末、所以我不在办公室。 我认为上述内容是相同的。

    我认为问题与我 在 name_overlays 中为添加 dtbo 编写的.bbappend 文件有关。
    您能否提供示例 tisdk-uenv.bbappend 及其路径来覆盖 uEnv.txt

    此致、
    Sajan

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

    尊敬的 Sajan:  

    在自定义图层中、创建以下路径:  

    /home/user/tisdk/tisdk/sources/meta-mylayer/recipes-tisdk/tisdk-uenv

    以上路径是您的 bbappend 文件所在的位置。 食谱 tisdk-uenv.bbappend :  

    FILESEXTRAPATHS:prepend := "${THISDIR}/tisdk-uenv:"

    接下来、创建一个名为 tisdk-uenv 的目录。 在其中放置您的自定义 uEnv.txt 文件。  

    # This uEnv.txt file will not work, this is only for a proof of concept example
    Custom name_overlays here
    




    因此、您的总体目录结构应如下所示:

    .
    └── tisdk-uenv
        ├── tisdk-uenv
        │   └── uEnv.txt
        └── tisdk-uenv.bbappend

    您可以通过查看以下构建路径来仔细检查自定义 uEnv.txt 是否已打包:

    arago-tmp-default-glibc/work/am62axx_evm-oe-linux/tisdk-uenv/1.0/deploy-tisdk-uenv

    此致、
    Antonios Christidis

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

    尊敬的 Antonios:

    作为临时解决方法,我在 tisdk-uenv.bbappend 中 sed 现在可以正常工作。

    下面是 tisdk-uenv.bbappend 我写道:

    ```μ s
    FILESEXTRAPATHS:预挂起:=“${THISDIR}/${PN}/${MACHINE}/edgeai:${THISDIR}/${PN}/${MACHINE}:${THISDIR}/${PN}:“

    src_URI +=“file://uEnv.txt“

    PR:append =“_new"</s>“

    do_install:append(){
      sd -i 's/^name_coverles=.*/ name_coverles=ti\/k3-am62x-sk-csi2-v3link-fusion.dtbo ti\/k3-v3link-imx219-0.dtbo ti\/k3-v3link-imx219-0-1.dtbo/'${workdir}/uEnv.txt
      安装-d ${D}/board-support/prebuilt-images
      安装-m 0644 ${workdir}/ uEnv.txt ${D}/board-support/prebuilt-images/uEnv.txt
    }

    文件:${PN}+=“board-support/*"</s>“

    继承部署
    do_deploy (){
    安装-d ${deploydir}
    安装-m 0644 ${workdir}/ uEnv.txt ${deploydir}/ uEnv.txt
    }
    在 do_unpacked 之后的 do_build 之前部署 addtask
    ```μ s

    ```μ s

    sources/meta-mylayer/食谱-tisdk/tisdk-uenv/

    ├──am62axx-evm/
    │   └──edgeai/
    │μ s        └──uEnv.txt
    └──tisdk-uenv.bbappend

    ```μ s

    您能帮助我解决这个问题吗?

    此致、
    Sajan

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

    尊敬的 Sajan:  


    设置图层和 bitbake 时、您在 oe-layertool-setup.sh KAS 上传递了什么配置?  


    我想确保我使用的是您使用的相同版本的 Bitbake、以及图层上的相同标签。  

    对于我们的 newerver SDK、此路径无效  arago-tmp-default-glibc/work/am62axx_evm-oe-linux/tisdk-uenv/1.0/image/board-support/prebuilt-images/uEnv.txt。 使我相信开发不是基于我们最新的 SDK 配置。  

    此致、
    Antonios  

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

    尊敬的  Antonios:

    设置图层和 bitbake 时、您在 oe-layertool-setup.sh KAS 上传递了什么配置?  [/报价]

    oe-layertool-setup.sh

    使我相信开发不是基于我们最新的 SDK 配置。  [/报价]

    是、可在 SDK 版本中正常工作的版本是 10.01.00

    此致、
    Sajan

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

    尊敬的 Sajan:  

    您是否 在 local.conf 中设置 arago_brand =“edgeai"?“?  

    此致、
    Antonios  

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

    尊敬的  Antonios:

    您是否 在 local.conf 中设置 arago_brand =“edgeai"?“?  [/报价]

    是的。

    此致、
    Sajan

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

    尊敬的 Sajan:  


    我得到了另一种方法、下面是我的设置。  

    层结构:


    └──tisdk-uenv
      ├──tisdk-uenv
      │  └──edgeai
      │    └──uEnv.txt
      └──tisdk-uenv.bbappend


    tisdk-uenv.bbappend:  

    FILESEXTRAPATHS:prepend := "${THISDIR}/tisdk-uenv:"



    我还确保我的自定义层优先级高于 META-edgeai。 根据我所遵循的经验、我将自定义层设置为 99、这样我就不必担心优先级问题。  

    /meta-antonios/conf/layer.conf 的配置方式如下:

    # We have a conf and classes directory, add to BBPATH
    BBPATH .= ":${LAYERDIR}"
    
    # We have recipes-* directories, add to BBFILES
    BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
                ${LAYERDIR}/recipes-*/*/*.bbappend"
    
    BBFILE_COLLECTIONS += "meta-antonios"
    BBFILE_PATTERN_meta-antonios = "^${LAYERDIR}/"
    BBFILE_PRIORITY_meta-antonios = "99"
    LAYERVERSION_meta-antonios = "4"
    LAYERSERIES_COMPAT_meta-antonios = "walnascar scarthgap"
    
    LAYERDEPENDS_meta-antonios = " \
        core \
        openembedded-layer \
        meta-edgeai \
    "


    如果可以、请告诉我。  

    此致、
    Antonios  

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

    尊敬的  Antonios:

    是的,我尝试了,它是有效的。  

    我对此有疑问。 下面是我的 conf/layer.conf。

    # We have a conf and classes directory, add to BBPATH
    BBPATH .= ":${LAYERDIR}"
    
    # We have recipes-* directories, add to BBFILES
    BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
                ${LAYERDIR}/recipes-*/*/*.bbappend"
    
    BBFILE_COLLECTIONS += "meta-mylayer"
    BBFILE_PATTERN_meta-mylayer = "^${LAYERDIR}/"
    BBFILE_PRIORITY_meta-mylayer = "90"
    
    LAYERDEPENDS_meta-mylayer = "core"
    LAYERSERIES_COMPAT_meta-mylayer = "scarthgap"
     

    没有添加很多 LAYERDEPENDS(仅包含核心作为其价值)。 这有什么意义?

    谢谢、  
    Sajan

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

    尊敬的 Sajan:  

    很高兴听到这个方法是有效的!  

    LAYERDEPENDS 列出了 bblayer.conf 中必须存在的图层。 如果缺少图层、将出现以下错误消息:  

    ERROR: Layer 'meta-antonios' depends on layer 'meta-none', but this layer is not enabled in your configuration

    自定义图层将列出其扩展/修改功能的图层。 示例:自定义层包含.bbappend 文件、这些文件可从依赖层修改配方(本用例就是这种情况)。  或者、自定义图层中的配方取决于依赖图层中定义的类。  

    我总是有核心 层和开放嵌入式层、因为它们是 2 个主要的嵌入式核心层。 我附加了 meta-edgeai、因为在此基础上构建的 tisdk-uenv.bbappend 配方存在。 在 meta-edgeai 中、层本身取决于 meta-arago-distro、它保存原始的 tisdk-uenv.bb。 形成完整的依赖关系树。  


    Yocto 文档: https://docs.yoctoproject.org/dev/ref-manual/variables.html#term-LAYERDEPENDS

    此致、

    Antonios Christidis