gpt4 book ai didi

linux-kernel - KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file 没有按预期工作

转载 作者:行者123 更新时间:2023-12-05 01:17:52 24 4
gpt4 key购买 nike

KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file没有像我预期的那样工作。

我学到的第一课:defconfig != .config

Bare-Kernel-Build(无 yocto):arch/arm/config/xy_defconfig 下面的新 defconfig 文件创建者 make savedefconfig不等于 .config文件。我假设 linux 内核扩展了一些符号并创建了最终的 .config .

Yocto-Build:问题来了:Yocto 无法正确处理 arch/arm/config/xy_defconfig 下面的 defconfig 文件.使用 yocto 构建 linux-kernel 时,内核只有一半大小,无法启动。这是因为 yocto 没有扩展 .config 中缺失的符号,即 make defconfig会的。

你如何处理这个问题?

更新:

想出了一个额外的make xy_defconfig解决问题并创建正确的 .config 文件。这是一个丑陋的黑客,非常欢迎任何更好的想法。

将此添加到我的自定义 linux-xy.bb文件。

KBUILD_DEFCONFIG ?= xy_defconfig

do_makedefconfig() {
oe_runmake -C ${B} ARCH=${ARCH} $KBUILD_DEFCONFIG
}

addtask do_makedefconfig after do_configme before do_compile

最佳答案

  1. 首先将您的 defconfig 复制到 sources/meta-mylayer/recipes-kernel/linux并为 linux 配方写一个 .bbappend 文件

linux-ti_%.bbappend

FILESEXTRAPATHS_prepend : "${THISDIR}:"
SRC_URI += "file://your-defconfig"

2。 open sources/meta-mylayer/conf/machine/your-machine.conf 添加下面一行,搜索宏(如果已经存在)或不使用 grep -inr "INTREE_DEFCONFIG"

INTREE_DEFCONFIG_pn-linux-ti = "am335x_phytec_defconfig"

如果宏已经存在于同一个文件中,则替换 defconfig 名称。

关于linux-kernel - KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file 没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48441494/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com