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.

[参考译文] AM62P-Q1:Yocto 使用 Docker 构建

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1490903/am62p-q1-yocto-build-using-docker

器件型号:AM62P-Q1
主题:AM62P 中讨论的其他器件

工具/软件:

你(们)好

我当时是通过参考 https://github.com/TexasInstruments/ti-docker-images?tab=readme-ov-file#steps-to-run-yocto-builds-inside-container 构建 Yocto SDK 的 

当我尝试添加自定义层并开始编译时、遇到如下错误:

ERROR: tisdk-default-image-1.0-r0.chromium0_tisdk_5_edgeai_0 do_rootfs: The postinstall intercept hook 'update_mime_database' failed, details in /home/tisdk/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/temp/log.do_rootfs
ERROR: Logfile of failure stored in: /home/tisdk/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/temp/log.do_rootfs.51288
ERROR: Task (/home/tisdk/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/images/tisdk-default-image.bb:do_rootfs) failed with exit code '1'

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

此致

Anand Sethu

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

    我目前不在办公室、直至3月电子邮件。 我回来后会考虑一下您的问题。 谢谢。

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

    您好 Andreas

    很抱歉再次打扰您、这对我们来说非常关键、要在本周结束时完成此任务、您能帮助我将此任务分配给您的任何团队成员吗?

    此致

    Anand Sethu

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

    这与您的定制层有关。 如果您可以提供重新创建问题的步骤(显示此问题的最小自定义层)、则可能有人可以查看。

    Andreas

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

    您好 Andreas

    正如我提到的、我们使用的是 AM62P 电路板、我们也尝试为处理器 SDK 09_02_01_10构建 tisdk-default-image。

    我当时尝试添加自定义层来添加 wifi 模块。

    我使用的完整过程是:

    1. Creating the Firmware Recipe for Murata WiFi
    Yocto recipes manage how firmware and files are installed into the final root filesystem. We need to create a custom recipe to install the Murata WiFi firmware and related files.
    1.1 Create the Recipe Directory
    #Navigate to your custom layer and create the necessary directory structure:
    cd ~/tisdk/sources/meta-custom/recipes-connectivity/
    mkdir -p firmware-files/files
    cd firmware-files
    
    1.2 Add Firmware Files
    #Place the firmware and related files in the files directory. Example:
    cp -r /path/to/brcm files/
    cp -r /path/to/murata_wifi files/
    
    #Ensure murata_wifi contains the necessary scripts:
    ls files/murata_wifi
    # Output should include scripts like:
    # ap_start.sh  ap_stop.sh  sta_start.sh  sta_stop.sh
    
    1.3 Create the Recipe File
    #Create the recipe firmware-files.bb:
    nano firmware-files.bb
    
    
    
    Add the Following Content:
    
    DESCRIPTION = "Murata WiFi firmware files"
    LICENSE = "CLOSED"
    FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
    SRC_URI += " \
        file://brcm \
        file://murata_wifi \
    "
    do_install() {
        install -d ${D}/lib/firmware/
        install -d ${D}/usr/share/murata_wifi/
        
        # Copy firmware files
        cp -r ${WORKDIR}/brcm ${D}/lib/firmware/
        
        # Copy Murata WiFi scripts
        cp -r ${WORKDIR}/murata_wifi ${D}/usr/share/
        
        # Set execution permissions
        chmod -R 0755 ${D}/usr/share/murata_wifi/
    }
    FILES:${PN} += "/lib/firmware/brcm /usr/share/murata_wifi"
    # Add runtime dependency on bash (for scripts)
    RDEPENDS:${PN} += "bash"
    
    
    
    2. Creating systemd Service Files
    We nee9d systemd services to start the WiFi functionality automatically.
    2.1 Create the Service Directory
    mkdir -p files/systemd
    2.2 Create startwlanap.service
    nano files/systemd/startwlanap.service
    Add the Following Content
    
    [Unit]
    Description=Start Murata WiFi AP Mode
    After=network.target
    
    [Service]
    Type=simple
    WorkingDirectory=/usr/share/murata_wifi
    ExecStart=/usr/share/murata_wifi/ap_start.sh
    ExecStop=/usr/share/murata_wifi/ap_stop.sh
    StandardOutput=journal+console
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    
    
    
    
    2.3 Create startwlansta.service
    nano files/systemd/startwlansta.service
    
    Add the Following Content
    
    [Unit]
    Description=Start Murata WiFi Station Mode
    After=network.target
    
    [Service]
    Type=simple
    WorkingDirectory=/usr/share/murata_wifi
    ExecStart=/usr/share/murata_wifi/sta_start.sh
    ExecStop=/usr/share/murata_wifi/sta_stop.sh
    StandardOutput=journal+console
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    
    
    
    
    
    
    
    3. Modifying the Recipe to Include systemd Services
    Update firmware-files.bb to install the systemd services:
    
    do_install() {
        install -d ${D}/lib/firmware/
        install -d ${D}/usr/share/murata_wifi/
        install -d ${D}/etc/systemd/system/
    
        # Copy firmware files
        cp -r ${WORKDIR}/brcm ${D}/lib/firmware/
        
        # Copy Murata WiFi scripts
        cp -r ${WORKDIR}/murata_wifi ${D}/usr/share/
        
        # Set execution permissions
        chmod -R 0755 ${D}/usr/share/murata_wifi/
    
        # Install systemd service files
        install -m 0644 ${WORKDIR}/systemd/startwlanap.service ${D}/etc/systemd/system/
        install -m 0644 ${WORKDIR}/systemd/startwlansta.service ${D}/etc/systemd/system/
    }
    
    FILES:${PN} += "/lib/firmware/brcm /usr/share/murata_wifi /etc/systemd/system/startwlanap.service /etc/systemd/system/startwlansta.service"
    
    # Ensure systemd services are enabled
    SYSTEMD_SERVICE:${PN} = "startwlanap.service startwlansta.service"
    
    # Add runtime dependency on bash (for scripts)
    RDEPENDS:${PN} += "bash"
    
    4. Adding Firmware Package to Image
    Modify tisdk-default-image.bb to include the firmware package:
    IMAGE_INSTALL += "firmware-files"
    
    5. Building and Deploying
    5.1 Clean and Rebuild the Recipe
    bitbake -c cleanall firmware-files
    bitbake firmware-files
    
    5.2 Build and Flash the Image
    bitbake tisdk-default-image
    
    
    
    
    



    此致

    Anand Sethu

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

    你(们)好

    添加补丁文件 linux-ti-staging_6.1.bappend 时出现错误。

    虽然我做了 bitbake linux-ti-staging 没有错误。
    但当我做到了:
    bitbake tisdk-default-image

    我得到了错误:

    ERROR: tisdk-default-image-1.0-r0.chromium0_tisdk_5_edgeai_0 do_rootfs: The postinstall intercept hook 'update_mime_database' failed, details in /home/tisdk/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/temp/log.do_rootfs
    ERROR: Logfile of failure stored in: /home/tisdk/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/temp/log.do_rootfs.193558
    ERROR: Task (/home/tisdk/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/images/tisdk-default-image.bb:do_rootfs) failed with exit code '1'
    

    此致

    Anand Sethu

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    添加补丁文件 linux-ti-staging_6.1.bappend 时出现错误。

    修补程序文件在哪里? 您是如何添加的? 我们需要一个完整的测试用例、其中包括 SDK 的所有步骤、以便我们可以查看可能出现的问题。

    此致、Andreas

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

    您好 Andreas

    https://drive.google.com/drive/folders/1dzdtBJ9xnEewt7nQUZG0AoYZITyce0K0

    请检查此驱动器链接、以便您可以看到我要作为图层添加的完整文件。   

    请查看上面的链接、帮助我了解添加此图层时必须遵循的正确步骤

    注意

    Anand Sethu

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

    尊敬的 Anand:

    [引述 userid="643582" url="~/support/processors-group/processors/f/processors-forum/1490903/am62p-q1-yocto-build-using-docker/5731935 #5731935"]

    https://drive.google.com/drive/folders/1dzdtBJ9xnEewt7nQUZG0AoYZITyce0K0

    请检查此驱动器链接、以便您可以看到我要作为图层添加的完整文件。   

    [/报价]

    您可以将存档文件直接附加到 E2E 帖子吗? 由于 IT 政策、我们无法访问 Google 云端硬盘。 此外、将其放在此处可将内容集中在一起并整理到一个位置。 然后、如前所述、确保它包含重新创建问题所需的所有步骤。

    Andreas

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

    您好 Andreas

    e2e.ti.com/.../meta_2D00_custom_2D00_20250325T041400Z_2D00_001.zip

    这是包含整个文件的 zip 文件。

    遵循的步骤:

    1.首先,我设置 Docker 的环境:

    Docker run --privileged -it -v ${WORK_DIR}:/home/tisdk -v /dev:/dev-v /media/:/media/-w /home/tisdk ghcr.io/texasInstruments/ubuntu-distro:latest
    那么:

    1. Creating the Firmware Recipe for Murata WiFi
    Yocto recipes manage how firmware and files are installed into the final root filesystem. We need to create a custom recipe to install the Murata WiFi firmware and related files.
    1.1 Create the Recipe Directory
    #Navigate to your custom layer and create the necessary directory structure:
    cd ~/tisdk/sources/meta-custom/recipes-connectivity/
    mkdir -p firmware-files/files
    cd firmware-files
    
    1.2 Add Firmware Files
    #Place the firmware and related files in the files directory. Example:
    cp -r /path/to/brcm files/
    cp -r /path/to/murata_wifi files/
    
    #Ensure murata_wifi contains the necessary scripts:
    ls files/murata_wifi
    # Output should include scripts like:
    # ap_start.sh  ap_stop.sh  sta_start.sh  sta_stop.sh
    
    1.3 Create the Recipe File
    #Create the recipe firmware-files.bb:
    nano firmware-files.bb
    
    
    
    Add the Following Content:
    
    DESCRIPTION = "Murata WiFi firmware files"
    LICENSE = "CLOSED"
    FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
    SRC_URI += " \
        file://brcm \
        file://murata_wifi \
    "
    do_install() {
        install -d ${D}/lib/firmware/
        install -d ${D}/usr/share/murata_wifi/
        
        # Copy firmware files
        cp -r ${WORKDIR}/brcm ${D}/lib/firmware/
        
        # Copy Murata WiFi scripts
        cp -r ${WORKDIR}/murata_wifi ${D}/usr/share/
        
        # Set execution permissions
        chmod -R 0755 ${D}/usr/share/murata_wifi/
    }
    FILES:${PN} += "/lib/firmware/brcm /usr/share/murata_wifi"
    # Add runtime dependency on bash (for scripts)
    RDEPENDS:${PN} += "bash"
    
    
    
    2. Creating systemd Service Files
    We nee9d systemd services to start the WiFi functionality automatically.
    2.1 Create the Service Directory
    mkdir -p files/systemd
    2.2 Create startwlanap.service
    nano files/systemd/startwlanap.service
    Add the Following Content
    
    [Unit]
    Description=Start Murata WiFi AP Mode
    After=network.target
    
    [Service]
    Type=simple
    WorkingDirectory=/usr/share/murata_wifi
    ExecStart=/usr/share/murata_wifi/ap_start.sh
    ExecStop=/usr/share/murata_wifi/ap_stop.sh
    StandardOutput=journal+console
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    
    
    
    
    2.3 Create startwlansta.service
    nano files/systemd/startwlansta.service
    
    Add the Following Content
    
    [Unit]
    Description=Start Murata WiFi Station Mode
    After=network.target
    
    [Service]
    Type=simple
    WorkingDirectory=/usr/share/murata_wifi
    ExecStart=/usr/share/murata_wifi/sta_start.sh
    ExecStop=/usr/share/murata_wifi/sta_stop.sh
    StandardOutput=journal+console
    RemainAfterExit=yes
    
    [Install]
    WantedBy=multi-user.target
    
    
    
    
    
    
    
    3. Modifying the Recipe to Include systemd Services
    Update firmware-files.bb to install the systemd services:
    
    do_install() {
        install -d ${D}/lib/firmware/
        install -d ${D}/usr/share/murata_wifi/
        install -d ${D}/etc/systemd/system/
    
        # Copy firmware files
        cp -r ${WORKDIR}/brcm ${D}/lib/firmware/
        
        # Copy Murata WiFi scripts
        cp -r ${WORKDIR}/murata_wifi ${D}/usr/share/
        
        # Set execution permissions
        chmod -R 0755 ${D}/usr/share/murata_wifi/
    
        # Install systemd service files
        install -m 0644 ${WORKDIR}/systemd/startwlanap.service ${D}/etc/systemd/system/
        install -m 0644 ${WORKDIR}/systemd/startwlansta.service ${D}/etc/systemd/system/
    }
    
    FILES:${PN} += "/lib/firmware/brcm /usr/share/murata_wifi /etc/systemd/system/startwlanap.service /etc/systemd/system/startwlansta.service"
    
    # Ensure systemd services are enabled
    SYSTEMD_SERVICE:${PN} = "startwlanap.service startwlansta.service"
    
    # Add runtime dependency on bash (for scripts)
    RDEPENDS:${PN} += "bash"
    
    4. Adding Firmware Package to Image
    Modify tisdk-default-image.bb to include the firmware package:
    IMAGE_INSTALL += "firmware-files"
    
    5. Building and Deploying
    5.1 Clean and Rebuild the Recipe
    bitbake -c cleanall firmware-files
    bitbake firmware-files
    
    5.2 Build and Flash the Image
    bitbake tisdk-default-image

    此致

    Anand Sethu

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

    好的、让我问 我的一位同事、他们是否可以在我本周还在外面时看看。

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

    您好 Andreas  

    感谢您的快速响应、我们完成此任务非常关键  

    此致  

    Anand Sethu

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

    您好 Andreas

    任何更新

    此致

    Anand Sethu

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

    Anand,不幸的是,我也在这个星期旅行,没有接近一个设置,我可以重现它。 但是、您能否向我们发送"log.do_rootfs.51288"进行快速检查? 此外、我想确认您可以构建好的"tisdk-default-image" OOB (不进行更改)?

    谢谢您、

    Paula

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

    你好 Paula

    在没有任何更改的情况下,构建工作正常,但当我们添加新的层时,它会显示错误,在没有 Docker 的旧版本中尝试了相同的更改,并且运行正常。  

    "log.do_rootfs.51288"显示"rootfs"中缺少"packages"文件夹。  

    此致  

    Anand Sethu  

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

    Anand、是否可以从 "log.do_rootfs"复制完整的错误消息? 是否提到任何特定的封装?


    第一个共享错误提到:"postinstall intercept hook 'update_mime_database' failed"、那么、您可以尝试下面的方法吗?

    - machine=am62xx-evm bitbake -c clean shared-mime-info
    - machine=am62xx-evm bitbake tisdk-default-image -c cleanstate
    - machine=am62xx-evm bitbake -k tisdk-default-image

    注意:我没有测试,但错误似乎显示问题是更新目标系统上的 MIME 数据库。  有关挂钩失败原因的更具体详细信息、请查看"log.do_rootfs"。 它可能会说出一些关于缺失可执行文件或库的信息、这可以提示是否存在缺失的依赖关系。

    如果上面没有任何帮助、那么在 Docker 容器中构建 AM62Px Yocto 时需要记住更多事项(我在 Docker 容器中工作时的个人痛点)。
    -权限:也许不是你的问题,但只是仔细检查你有根访问文件被修改的地方
    -足够的内存:检查你有足够的空间来构建图像

    在没有 Docker 的较旧版本中尝试了相同的更改、并且运行正常。  [/报价]

    您能否在没有 Docker 的情况下测试此新版本? 只是为了减少变量?

    谢谢您、

    Paula

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

    你好 Paula

    我尝试了更新的版本没有 Docker 然后同样的错误来没有改变任何东西。 在那之后,我尝试了 Docker 构建,然后它得到了完全构建而不改变任何东西。  

    我已经尝试了上述所有建议的方法,但它没有得到解决。 甚至我尝试了不同的系统。  

    我将于明天上午(印度时间)转发日志文件。  

    此致  

    Anand Sethu  

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

    你好、团队

    任何更新

    此致

    Anand Sethu

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

    您好、Anand、回到办公室、请给我一些时间准备好安装。 现在、我将尝试使用"processor-sdk-scarthgap-chromium-10.01.10.04-config.txt"和"Yocto Build on host"  1.2.使用 Yocto 构建 SDK—Processor SDK AM62Px 文档

    谢谢您、

    Paula

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

    你好 Paula

    您可以尝试使用9.2.1.10版本吗  

    此致

    Anand Sethu

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

    尊敬的 Anand:更新后、我使用"Yocto Build on Host"中的步骤构建了9.2.1.10版本的"am62pxx-EVM"、未出现错误。 这需要超过一天的时间来建造。 我希望你有一个比我更好的建筑机器。

    现在、我按原样添加了您的共享定制层。 我没有看到你的自述文件中的变化,其中提到了食谱 包括 systemd 服务。 但现在我没有修改您的定制层包中的任何内容、并按原样使用、如上所述。

    我还在 bblayers.conf 中添加了 BBLAYERS meta-custom 的末尾,如下所示

    #由 oe-core-setup 脚本配置的图层
    BBLAYERS +="\
      /home/alice/tisdk/am62pxx-evm/sources/meta-tisdk
      /home/alice/tisdk/am62pxx-evm/sources/meta-arago/meta-arago-distro
      /home/alice/tisdk/am62pxx-evm/sources/meta-arago/meta-arago-extras
      /home/alice/tisdk/am62pxx-evm/sources/meta-arago/meta-arago-demos
      /home/alice/tisdk/am62pxx-evm/sources/meta-arago/meta-arago-test
      /home/alice/tisdk/am62pxx-evm/sources/meta-browser/meta-chromium
      /home/alice/tisdk/am62pxx-evm/sources/meta-qt5
      /home/alice/tisdk/am62pxx-evm/sources/meta-virtualization
      /home/alice/tisdk/am62pxx-evm/sources/meta-openembedded/meta-networking
      /home/alice/tisdk/am62pxx-evm/sources/meta-openembedded/meta-python
      /home/alice/tisdk/am62pxx-evm/sources/meta-openembedded/meta-oe
      /home/alice/tisdk/am62pxx-evm/sources/meta-openembedded/meta-gnome
      /home/alice/tisdk/am62pxx-evm/sources/meta-openembedded/meta-filesystems
      /home/alice/tisdk/am62pxx-evm/sources/meta-ti/meta-ti-extras
      /home/alice/tisdk/am62pxx-evm/sources/meta-ti/meta-ti-bsp
      /home/alice/tisdk/am62pxx-evm/sources/meta-arm/meta-arm
      /home/alice/tisdk/am62pxx-evm/sources/meta-arm/meta-arm-toolchain
      /home/alice/tisdk/am62pxx-evm/sources/meta-clang
      /home/alice/tisdk/am62pxx-evm/sources/oe-core/meta
      /home/alice/tisdk/am62pxx-evm/sources/meta-edgeai
      /home/alice/tisdk/am62pxx-evm/sources/meta-custom
    "
    然后我重新编译一下"machine=am62pxx-evm bitbake -v tisdk-default-image
    构建完成且无错误。 我检查了 log.do_rootfs 以确认、我看到的只有如下所示的错误、在构建 OOB Yocto 配置时也看到了这些错误
    配置错误-未知项目'SYSRLOG_SU_ENAB'(通知管理员)

    您更清楚您的软件包、我应该寻找什么来确保它实际上可以构建?

    谢谢您、

    Paula

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

    你好 Paula

    您能否检查配方中的所有文件是否都添加到.bb 中提到的位置

    1.转到:/home/tisdk/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs/usr/share

    检查是否 Murata (村田)_wifi 文件夹存在。

    2.转到:/home/tisdk/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs/lib/firmware

    检查是否 BRCM 文件夹存在。

    3.转到:/home/tisdk/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs/etc/systemd/system

    检查是否同时存在这两个问题 startwlanap.service startwlansta.service 都有。

    如果全部添加、那么我们可以确保编译已采用该方法。

    请告诉我您为添加图层而执行的步骤以及如何构建系统。

    此致

    Anand Sethu

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

    您好、Anand、从以上几点可以在/home/tisdk/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs 中看到"Murata - WiFi"和"BRCM"文件夹

    我看不到  startwlanap.service  或  startwlansta.service  因为我按原样使用了您的共享文件。 如果我按照您的自述文件"3. 修改配方以包括 systemd Services Update firmware-files.bb 以安装 systemd 服务。"我面临一些问题 DO_INSTALL 温度漂移误差。 因此、如果您共享最终的 firmware-files.bb 而不是我尝试修改它、可能会更好。

    在任何情况下,如果它有帮助,我做的是:

    1)通过以下方式构建 Yocto 基准:  1.2.使用 Yocto 构建 SDK—Processor SDK AM62x 文档 

    2)为了构建 Yocto、我使用了"在主机上构建 Yocto "方法、而不是使用 Docker。 我的个人经验是 Docker 是伟大的,但在事情不起作用时增加一层调试复杂性。 所以、我只在真正需要时才使用它

     1.2.使用 Yocto 构建 SDK—Processor SDK AM62x 文档

    3)我复制了共享的"元自定义"文件内/home/tisdk/sources /

    3)我在 bblayers.conf 中添加,在 BBLAYERS 的末尾,"元自定义"如我之前的文章中所述

    4)按照您的自述文件、我通过执行以下操作将固件包添加到映像中:


    修改 tisdk-default-image.bb 以包含固件包:
    image_install +="firmware-files"

    3)重建 Yocto 映像

    MACHINE=am62pxx-EVM bitbake -v tisdk-default-image

    我的楼宇机器不是太好、但我在 TI 内部实现了稳定的互联网连接。

    谢谢您、

    Paula

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

    你好 Paula  

    谢谢你

    我也做了同样的事情,但仍然得到相同的问题。 但今天当我测试构建时、我发现所有文件都存在于相应的文件夹中。 但当我添加的食谱-内核和建立系统时,同样的错误出现。  

    接下来我将在明天没有 Docker 的情况下尝试。 并更新结果。  

    此致

    Anand Sethu

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

    你好 Paula

    在没有 dockor 的情况下构建 Yocto 时遇到相同的错误。

    首先构建自己得到了错误(不添加补丁)。

    此致

    Anand Sethu

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

    Anand、您拥有哪些 Linux 机器规范和 Linux 发行版?

    中导出  1.2.使用 Yocto 构建 SDK—Processor SDK AM62x 文档

    我得到了这个:

    推荐的 Linux 版本是 Ubuntu 22.04。

    Yocto 版本将需要~750GB tisdk-default-image 的硬盘空间来构建、其中包括 Chromium。

    建造大型软件包,特别是在一次几个,需要大量的工作内存为一台计算机。 对于具有32 GB 或更大 RAM 的计算机、这应该不是问题。 对于 RAM 较小的计算机、可能需要~16GB 的交换文件来构建大软件包。 创建大型交换文件或将小型交换文件的大小调整为更大将有助于避免大型软件包的构建错误

    我正在内部检查是否有任何其他建议,我们可以为您的建筑机器. 另外、还应该检查您是否有需要设置的代理或其他网络设置。  在网络代理后工作- Yocto 项目

    如上所述、它对我来说是可以的、但没有补丁。唯一的问题是  startwlansta.service 由于我可能没有正确修改 firmware-files.bb、但此服务的 do_install 存在问题、因此与"update_mime_database"无关

    谢谢您、

    Paula

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

    你好 Paula

    我正在使用 Ubuntu 22.04、1TB、64GB RAM、基于英特尔 i9的系统、专门执行此任务。

    对我来说、当我尝试使用基于容器的构建时、我发现各个文件夹中存在的所有文件。

    tisdk@e8a838e5d3e3:~/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs/usr/share$ ls
    X11	       awk		dbus-1	  factory	git-core		   icons       libtool			       murata_wifi  pkgconfig	       stress-ng   vala-0.56	      xml
    aclocal        bash-completion	defaults  ffmpeg	glib-2.0		   icu	       libweston-10		       netopeer2    polkit-1	       strongswan  vim		      yang
    aclocal-1.16   bridge-utils	demo	  fio		glmark2			   info        licenses			       open62541    pulseaudio	       systemd	   vulkan
    alsa	       ca-certificates	dict	  fontconfig	glog			   iso-codes   lmbench			       opencv4	    qt5		       tabset	   wayland
    applications   cclink		doc	  fonts		gnu-config		   keymaps     ltrace			       opensc	    qtvirtualkeyboard  terminfo    wayland-protocols
    at	       cmake		drirc.d   gdb		gobject-introspection-1.0  libcamera   man			       opkg	    slsh	       themes	   wayland-sessions
    autoconf       cmake-3.22	eigen3	  gettext	grub			   libdrm      mime			       oprofile     snmp	       ti	   weston
    automake-1.16  consolefonts	emacs	  gettext-0.21	gst-plugins-base	   libgphoto2  misc			       pci.ids.gz   sounds	       udhcpc	   weston-start
    avahi	       cracklib		examples  gir-1.0	gstreamer-1.0		   libinput    mobile-broadband-provider-info  pixmaps	    statcol	       vala	   wl18xx
    tisdk@e8a838e5d3e3:~/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs/usr/share$ cd ../../
    tisdk@e8a838e5d3e3:~/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs$ cd li
    lib/     linuxrc  
    tisdk@e8a838e5d3e3:~/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs$ cd li
    lib/     linuxrc  
    tisdk@e8a838e5d3e3:~/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs$ cd lib/firmware/
    tisdk@e8a838e5d3e3:~/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs/lib/firmware$ ls
    LICENCE.ibt_firmware	  bl32.bin  intel		    iwlwifi-8265-34.ucode	       iwlwifi-9260-th-b0-jf-b0-46.ucode  rgx.sh.36.53.104.796	tee-raw.bin	 ti-ipc
    LICENCE.iwlwifi_firmware  bl32.elf  iwlwifi-3160-17.ucode   iwlwifi-8265-36.ucode	       regulatory.db			  tee-header_v2.bin	tee.bin		 wave521c_codec_fw.bin
    am62p-mcu-r5f0_0-fw	  brcm	    iwlwifi-8000C-34.ucode  iwlwifi-9260-th-b0-jf-b0-34.ucode  regulatory.db.p7s		  tee-pageable_v2.bin	tee.elf
    am62p-mcu-r5f0_0-fw-sec   cnm	    iwlwifi-8000C-36.ucode  iwlwifi-9260-th-b0-jf-b0-38.ucode  rgx.fw.36.53.104.796		  tee-pager_v2.bin	ti-connectivity
    tisdk@e8a838e5d3e3:~/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs/lib/firmware$ cd ../../ 
    tisdk@e8a838e5d3e3:~/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs$ cd etc/systemd/system
    tisdk@e8a838e5d3e3:~/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs/etc/systemd/system$ ls
    basic.target.wants	dbus-org.freedesktop.Avahi.service	dbus.service		multi-user.target.wants      startwlansta.service	systemd-random-seed.service.wants
    bluetooth.target.wants	dbus-org.freedesktop.network1.service	getty.target.wants	network-online.target.wants  sync-clocks.service	systemd-udevd.service
    ctrl-alt-del.target	dbus-org.freedesktop.resolve1.service	graphical.target.wants	sockets.target.wants	     sysinit.target.wants	timers.target.wants
    dbus-org.bluez.service	dbus-org.freedesktop.timesync1.service	local-fs.target.wants	startwlanap.service	     systemd-hostnamed.service
    tisdk@e8a838e5d3e3:~/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/rootfs/etc/systemd/system$ 

    但我不知道该构建发生了什么。

    步骤:

    1.无需添加层即可构建系统。

    2.增加了包含2个配方的层-核心和连通性,并完成了构建。 但文件未添加到文件夹中。

    3、在中添加了以下行 tisdk-default-image.bb (meta-arago/meta-arago-distro/recipes-core/images/)

    image_install:append ="\

                                                  firmware-files
                                                  systemd-services \

    "

    4.然后构建系统:但得到了 mime 更新错误。 因此、在 tisdk-default-image.bb 中删除上述更改后、重新构建系统。

    5.发现所有的文件都添加到各自的文件夹。

    我觉得系统不稳定。

    当我为添加第三个配方内核时 DTS WiFi 补丁需要编辑( k3-am62p5-sk.dts )、再次出现了 mime 更新错误、但即使在删除后也无法删除。

    请建议我采用一种方法来编辑在构建过程中所需的 DTS 文件。

    此致

    Anand Sethu

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

    你好 Anand、只是仔细检查一下。

    1) OOB 构建是否没有错误? 然后再向其添加任何内容或修改任何配方

    2)你添加了吗  元自定义 指定  bblayers.conf ? 如果是、您能看到我的情况下的文件吗?

    另一方面、我没有测试过变化  tisdk-default-image.bb  我将能够在下周进行测试。 同时、我们1)和2)对齐、以确认我们有相似的设置/结果。

    谢谢您、

    Paula

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

    你好 Paula

    1、OOB 构建完成时没有任何错误、并且未添加 meta-custom。

    2.是的,我在 bblayers.conf 中添加了 meta-custom ,但我从 meta-custom 中移除了食谱-kernel 并添加到 tisdk-default-image.bb 中,并且在一次构建后删除了它,当我删除后第二次构建时,我得到了尊重文件夹中的所有文件。 当我尝试再次添加 recipes-kernel 时、出现了错误。  

    此致  

    Anand Sethu

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

    您好、Anand、让我们看看还有什么可能是问题。 请给我们几天,因为我们从东部假期回来。

    谢谢你

    Paula

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

    尊敬的 Anand:

    这里发生了很多事情、您的主要问题是否仍然与您最初报告的"postinstall intercept hook 'update_mime_database' failed"错误有关? 我做了一些挖掘,并创建了下面的补丁,这可能会有所帮助,你可以应用它,看看这是否有任何不同。

    a0797059@jiji:~/tisdk/am62axx-evm/sources/oe-core (HEAD detached from 92cb4641ff)
    $ git show
    commit 87b28be5f480aab946c29a2450751eef8ac851ef (HEAD)
    Author: Andreas Dannenberg <dannenberg@ti.com>
    Date:   Tue Apr 22 11:19:15 2025 -0500
    
        update_mime_database: Fix postinstall intercept hook failures
    
        On occasion, Yocto builds would fail with an error like this:
    
        "ERROR: tisdk-default-image-1.0-r0.chromium0_tisdk_5_edgeai_0 do_rootfs: The postinstall intercept hook 'update_mime_database' failed, details in..."
    
        Attempt to fix this by implementing the solution proposed here:
        community.toradex.com/.../2
    
        Signed-off-by: Andreas Dannenberg <dannenberg@ti.com>
    
    diff --git a/scripts/postinst-intercepts/update_mime_database b/scripts/postinst-intercepts/update_mime_database
    index 582d1e162c..a6446ff654 100644
    --- a/scripts/postinst-intercepts/update_mime_database
    +++ b/scripts/postinst-intercepts/update_mime_database
    @@ -5,5 +5,14 @@
     # Post-install intercept for mime.bbclass
    
     echo "Updating MIME database... this may take a while."
    -update-mime-database $D${mimedir}
    -
    +# $D${mimedir}/packages belong to package shared-mime-info-data,
    +# packages like libfm-mime depend on shared-mime-info-data.
    +# after shared-mime-info-data uninstalled, $D${mimedir}/packages
    +# is removed, but update-mime-database need this dir to update
    +# database, workaround to create one and remove it later
    +if [ ! -d $D${mimedir}/packages ]; then
    +       mkdir -p $D${mimedir}/packages
    +       update-mime-database $D${mimedir}
    +       rmdir --ignore-fail-on-non-empty $D${mimedir}/packages
    +else
    +       update-mime-database $D${mimedir}

    此致、Andreas

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

    您好 Andreas

    这在您最初报告的"postinstall intercept hook 'update_mime_database' failed"错误的情况下是有效的。 之后出现新错误。

    ERROR: tisdk-default-image-1.0-r0.chromium0_tisdk_5_edgeai_0 do_rootfs: The postinstall intercept hook 'update_gtk_immodules_cache' failed, details in /home/tisdk/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/temp/log.do_rootfs
    ERROR: Logfile of failure stored in: /home/tisdk/tisdk/build/arago-tmp-default-glibc/work/am62pxx_evm-oe-linux/tisdk-default-image/1.0-r0.chromium0_tisdk_5_edgeai_0/temp/log.do_rootfs.3260
    ERROR: Task (/home/tisdk/tisdk/sources/meta-arago/meta-arago-distro/recipes-core/images/tisdk-default

    我通过更新删除了此错误 update_gtk_immodules_cache

    if [ -x $D${libexecdir}/${binprefix}gtk-query-immodules-2.0 ]; then
       PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D${libexecdir}/${binprefix}gt>
            > $D${libdir}/gtk-2.0/2.10.0/immodules.cache &&
            sed -i -e "s:$D::" $D${libdir}/gtk-2.0/2.10.0/immodules.cache
            chown root:root $D${libdir}/gtk-2.0/2.10.0/immodules.cache
    fi
    if [ -x $D${libexecdir}/${binprefix}gtk-query-immodules-3.0 ]; then
       mkdir -p $D${libdir}/gtk-3.0/3.0.0 
       PSEUDO_UNLOAD=1 ${binprefix}qemuwrapper -L $D $D${libexecdir}/${binprefix}gt>
            > $D${libdir}/gtk-3.0/3.0.0/immodules.cache &&
            sed -i -e "s:$D::" $D${libdir}/gtk-3.0/3.0.0/immodules.cache
            chown root:root $D${libdir}/gtk-3.0/3.0.0/immodules.cache
    fi
    



    现在、我的构建工作正常。

    感谢 Paula 和 Andreas 为我和我的团队提供了宝贵的支持和时间来解决这个问题。

    此致

    Anand Sethu