KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file
没有按我的预期工作。
我学到的第一课:defconfig != .config
Bare-Kernel-Build(没有 yocto):下面是一个新的 defconfig 文件arch/arm/config/xy_defconfig
由...制作make savedefconfig
不等于.config
文件。我假设linux内核扩展了一些符号并创建了最终的.config
.
Yocto-Build:问题来了:Yocto 无法正确处理下面的 defconfig 文件arch/arm/config/xy_defconfig
。当使用 yocto 构建 linux 内核时,内核的大小是一半且无法启动。这是因为 yocto 不会扩展 .config 中缺失的符号,这是一个结果make defconfig
会做。
你如何处理这个问题?
Update:
想出了一个额外的make xy_defconfig
这样做并创建正确的 .config 文件。这是一个丑陋的黑客,非常欢迎任何更好的想法。
将其添加到我的自定义中linux-xy.bb
file.
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/recipes-kernel/linux
并为 linux 配方编写一个 .bbappend 文件
linux-ti_%.bbappend
FILESEXTRAPATHS_prepend : "${THISDIR}:"
SRC_URI += "file://your-defconfig"
2.打开sources/meta-mylayer/conf/machine/your-machine.conf添加以下行,
搜索宏(如果已存在或未使用)grep -inr "INTREE_DEFCONFIG"
INTREE_DEFCONFIG_pn-linux-ti = "am335x_phytec_defconfig"
如果宏已存在于同一文件中,请替换 defconfig 名称。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)