【问题标题】:How to get to menuconfig for u-boot in Yocto environment如何在 Yocto 环境中进入用于 u-boot 的 menuconfig
【发布时间】:2017-08-29 21:34:26
【问题描述】:

我第一次将 Yocto 用于带有 Xilinx Zynq 的 ARM 嵌入式系统。 我想进行一些需要在 menuconfig 实用程序中进行的配置更改。 Yocto 文档展示了如何为 Linux 内核做这件事

bitbake yocto-xlnx -c menuconfig

对于Xilinx,我变成了

bitbake linux-xlnx -c menuconfig

效果很好。

现在,我想对 u-boot 做同样的事情,并使用 menuconfig 实用程序更改 .config 文件。我在 Yocto 或 Xilinx 文档中找不到任何方法。我尝试了明显的喜欢

bitbake u-boot-xlnx -c menuconfig

只是为了得到一条错误消息:

错误:目标 u-boot-xlnx 的任务 do_menuconfig 不存在

知道如何使用 Yocto 进入 u-boot menuconfig 吗?

编辑: 这是我使用的图层

BBLAYERS ?= " \
/home/sylvain/poky/meta \
/home/sylvain/poky/meta-poky \
/home/sylvain/poky/meta-yocto-bsp \
/home/sylvain/poky/openembedded-core/meta \
/home/sylvain/poky/meta-xilinx \
"

【问题讨论】:

    标签: yocto u-boot bitbake


    【解决方案1】:

    目前,从 2.3 Pyro 开始,无法运行 bitbake u-boot -c menuconfig,因为没有人为 U-Boot 配方实现该功能。请file a bug,如果您有此用途。

    通常,我会推荐以下任一方法:

    1. bitbake u-boot -c devshell
    2. 使用devtool
    3. 使用 SDK。

    所有这些不仅可以让你运行make menuconfig,还可以交叉编译U-Boot来验证你的配置。

    【讨论】:

    • 你说得对,bitbake 应该能够在 u-boot 上进行 menuconfig。我尝试了解决方案#1。它让我几乎在正确的位置,除了最后一个文件夹是 .../git# 而不是 .../build。这可能是 meta-xilinx 层的一些问题。 Xilinx 并没有给人留下深刻的印象。我正在尝试 Yocto 远离赛灵思的 petalinux,因为当您想使用 petalinux (2015) 定制自己的板时,它会留下痛苦的、持久的伤疤。这是文件复制的噩梦,会覆盖您所做的任何事情。为已知的评估板编译很好。我知道我的解决方法有点难看
    【解决方案2】:

    我找到了解决方案。它适用于 xilinx 发行版。我没有为其他人测试它,但它可能是相似的,并且它可能适用于任何包的任何其他 menuconfig。事实证明,完整的源代码包位于我的案例中:

    ~/poky/build/tmp/work/zedboard_zynq7-poky-linux-gnueabi/u-boot-xlnx/v2016.07-xilinx-v2016.3+gitAUTOINC+95e11f6eb4-r0/build
    

    我会让你解码文件夹字符串中的“板、机器、版本等”编码,因为它取决于每种情况,但只是想给出一个想法。

    使用终端,只需转到该文件夹​​,然后像过去一样运行:

    制作菜单配置

    瞧! 我想当我开始配置busybox之类的东西时,它会是一样的。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。 我为 at91sam9x35 构建了 u-boot-at91,但对于其他架构也应该相同。

      Yocto 还不支持

      bitbake u-boot -c menuconfig
      

      我设法通过以下步骤做到了:

      1. 在构建目录中运行:

      devtool修改u-boot-at91

      这将自动在 build/workspace/u-boot-at91 下创建 u-boot 源文件的外部目录。

      1. cd build/workspace/u-boot-at91
      2. 使用以下命令运行 menuconfig:

      制作菜单配置

      如果 menuconfig 未显示,您可能需要为 u-boot 运行 do_configure 任务,然后重试:

      bitbake u-boot-at91 -c 配置

      1. 在 UI 中执行必要的 menuconfig 更改并将配置保存在 New.config 文件中。

      2. 复制 New.config 文件以覆盖目标的 defconfig 文件 (在我的例子中是 at91sam9x5ek_spiflash_config)使用:

      cp New.config configs/at91sam9x5ek_spiflash_defconfig

      注意 defconfig 后缀而不是 config!

      1. 将更改推送到本地 git 存储库:

      pushd build/workspace/sources/u-boot-at91
      git add at91sam9x5ek_spiflash_defconfig
      git commit -m "这里所做的更改摘要"
      混帐状态
      弹出

      1. 创建补丁以覆盖默认的 defconfig 文件:

      devtool update-recipe u-boot-at91

      这实际上将以下行附加到您的 u-boot-at91.bb 文件中:

      SRC_URI = "git://github.com/linux4sam/u-boot-at91.git;protocol=https;branch=${UBRANCH} \
      
                 file://0001-summary-of-changes-made-here.patch \
      

      并创建对配方目录进行相关修改的补丁文件。 8. 运行 BitBake:

      bitbake u-boot-at91

      bitbake core-image-minimal

      新的 u-boot 二进制文件将使用新配置构建。

      【讨论】:

        猜你喜欢
        • 2021-12-03
        • 2018-04-13
        • 2021-10-19
        • 2016-08-27
        • 1970-01-01
        • 2021-01-04
        • 2017-08-06
        • 2011-06-02
        • 1970-01-01
        相关资源
        最近更新 更多