KBUILD_DEFCONFIG_KMACHINE?=DefCONFIG_FILE未按预期工作 [英] KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file does not work as expected

查看:0
本文介绍了KBUILD_DEFCONFIG_KMACHINE?=DefCONFIG_FILE未按预期工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

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

Bare-Kernel-Build(不带Yocto):由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

推荐答案

  1. 首先将您的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆