【问题标题】:core-image-minimal has bluetoothcore-image-minimal 有蓝牙
【发布时间】:2018-04-30 12:26:42
【问题描述】:

我正在尝试为 iMx7(Yocto 项目)构建 core-image-minimal receipe,该图像已成功构建,但它具有蓝牙、caam 和许多其他东西。如何将这些从包含在最小图像中删除?

core-image-minimal 应该只包含启动所需的东西,不知何故其他包被添加。我没有在我的 local.config 文件中添加任何内容。

MACHINE = "imx7dsabresd"

【问题讨论】:

    标签: yocto openembedded


    【解决方案1】:

    您没有提及您正在为哪台机器构建,但我怀疑它在 MACHINE_FEATURES 中启用了蓝牙。我也没有仔细查看 core-image-minimal 的 bb 文件,所以可能是别的东西。

    【讨论】:

    • 我查看了它,但 MACHINE_FEATURES 没有在任何地方更改(在最小配方或本地配置文件中)
    • 检查机器配方本身,或调用“bitbake core-image-minimal -e”检查其输出,您将能够看到 MACHINE_FEATURES 在何处以及如何获取其值
    【解决方案2】:

    蓝牙和wifi在这里启用: imx7dsabresd.conf

    您可以将以下内容添加到 local.conf 以删除蓝牙:

    MACHINE_FEATURES_remove = "bluetooth"
    

    CAAM 在此处的内核配置中启用: defconfig

    要更改内核配置,您可以提供新的 defconfig 或使用配置片段。以下步骤描述了如何创建配置片段。

    运行以下命令并取消选择蓝牙相关的配置选项:

    bitbake -c menuconfig virtual/kernel
    

    运行以下命令在${WORKDIR}中生成fragment.cfg

    bitbake -c diffconfig virtual/kernel
    

    此时,如果您没有自己的图层,请按照以下指南创建一个: Creating Your Own Layer

    为 .bbappend 和配置片段创建目录:

    mkdir -p ${PATH_TO_YOUR_LAYER}/recipes-kernel/linux/linux-fslc-imx/linux-fslc-imx/
    

    将 fragment.cfg 从 ${WORKDIR} 移动到 ${PATH_TO_YOUR_LAYER}/recipes-kernel/linux/linux-fslc-imx/linux-fslc-imx/

    创建一个 ${PATH_TO_YOUR_LAYER}/recipes-kernel/linux/linux-fslc-imx_%.bbappend(假设 linux-fslc-imx 是此板的正确内核配方)并将以下内容放入其中:

    FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
    SRC_URI += "file://fragment.cfg"
    

    此外,您可能会发现手册的Creating Configuration Fragments 部分很有帮助。

    有关 bbappend 的更多信息,请参阅: mega-manual

    【讨论】:

    • 我尝试使用 MACHINE_FEATURES_remove 删除蓝牙,但没有成功。我什至尝试从 imx7dsabresd.conf 文件中注释掉 MACHINE_FEATURES += "pci wifi bluetooth" 但没有运气.. 蓝牙仍然出现(我尝试删除构建文件夹中的文件夹,除了 conf 和下载文件夹)
    • 请更具体地说明您所说的蓝牙显示是什么意思。从 MACHINE_FEATURES 中删除蓝牙应该会删除蓝牙的用户空间方面,但不会像 linux-fslc-imx 中那样从内核配置中删除它。如果你想从内核中删除它,你需要附加到 linux-fslc-imx 以从内核配置中删除它。
    • 通过蓝牙显示我的意思是它被包含在内核中并且它显示在启动消息中。我想从内核中删除它。
    • 谢谢,我会尝试使用附加文件,你能指出一些附加文件的例子吗?
    • 我更新了答案以包括创建应用内核配置片段的 .bbappend 的说明。让我知道这是否有效。这假设您有一个自定义层,您可以在其中放置此 .bbappend。
    猜你喜欢
    • 2017-01-24
    • 2018-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多