KBUILD_DEFCONFIG_KMACHINE?=DefCONFIG_FILE未按预期工作 [英] KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file does not work as expected
本文介绍了KBUILD_DEFCONFIG_KMACHINE?=DefCONFIG_FILE未按预期工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file
工作不像我预期的那样。
我学到的第一课:defconfig != .config
make savedefconfig
创建的arch/arm/config/xy_defconfig
下面的新Defconfig文件不等于.config
文件。我假设Linux内核扩展了一些符号并创建了最终的.config
。
Yocto-Build:问题来了:Yocto不能正确处理下面的Defconfig文件。在使用Yocto构建Linux内核时..内核只有一半大小,不能引导。这是因为Yocto不会像make defconfig
那样展开.config中缺少的符号。
您如何处理此问题?
更新:
解决了另一个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
推荐答案
- 首先将您的Defconfig复制到Sources/meta-mylayer/Recipe-Kernel/linux 并为Linux配方编写.bbappend文件
linux-ti_%.bbappend
FILESEXTRAPATHS_prepend : "${THISDIR}:"
SRC_URI += "file://your-defconfig"
2.在行下面打开sources/meta-mylayer/conf/machine/your-machine.conf Add,
搜索宏(如果已存在)或不使用grep -inr "INTREE_DEFCONFIG"
INTREE_DEFCONFIG_pn-linux-ti = "am335x_phytec_defconfig"
如果宏已存在于同一文件中,请替换Defconfig名称。
这篇关于KBUILD_DEFCONFIG_KMACHINE?=DefCONFIG_FILE未按预期工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文