joh*_* s. 3 linux-kernel yocto
KBUILD_DEFCONFIG_KMACHINE ?= defconfig_file
没有按我的预期工作。
我学到的第一课:defconfig != .config
arch/arm/config/xy_defconfig
Bare-Kernel-Build(不带 yocto):下面创建的新 defconfig 文件make savedefconfig
不等于该.config
文件。我假设 Linux 内核扩展了一些符号并创建了最终的.config
.
Yocto-Build:问题来了:Yocto 无法正确处理下面的 defconfig 文件arch/arm/config/xy_defconfig
。当使用 yocto 构建 linux 内核时,内核的大小是一半且无法启动。这是因为 yocto 不会扩展 .config 中缺失的符号,而 amake 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
Run Code Online (Sandbox Code Playgroud)
linux-ti_%.bbappend
FILESEXTRAPATHS_prepend : "${THISDIR}:"
SRC_URI += "file://your-defconfig"
Run Code Online (Sandbox Code Playgroud)
2.打开sources/meta-mylayer/conf/machine/your-machine.conf添加以下行,搜索宏(如果已经存在或不使用)grep -inr "INTREE_DEFCONFIG"
INTREE_DEFCONFIG_pn-linux-ti = "am335x_phytec_defconfig"
Run Code Online (Sandbox Code Playgroud)
如果宏已存在于同一文件中,请替换 defconfig 名称。
归档时间: |
|
查看次数: |
3114 次 |
最近记录: |