Yocto BitBake配置文件位置

4

我应该在哪里找到用于构建内核的.config文件?

我的使用情况如下:

$ bitbake virtual/kernel -c menuconfig to open the menuconfig

我刚刚运行了menuconfig,但遇到了一个大问题:没有启用的选项。 .config文件(?)似乎被删除或损坏了。

我有两个目录:

  • 一个使用最新内核配置的旧版本yocto配置。
  • 一个新的配置(我正在工作中),其中内核配置已损坏。

我需要获取旧的配置文件并将其粘贴到损坏的配置文件中。

提前感谢您的帮助。

2个回答

7

Yocto以不同的方式找到内核配置:

  1. Linux内核中的defconfig:您可以在您的recipe中指定KBUILD_DEFCONFIG变量,以使用已经存在于源代码树中的defconfig
  2. 您可以将您的defconfig添加到您的linux内核recipe的SRC_URI或者.bbappend(可能在不同的层)中。

如果您使用menuconfig修改内核配置文件,例如:bitbake virtual/kernel -c menuconfig,那么bitbake会执行以下操作:

  1. 查找变量PREFERRED_PROVIDER_virtual/kernel中的默认提供程序
  2. 切换到路径tmp/work/<MACHINE_NAME>-<DISTRO_NAME>-linux-gnuenabi/<PREFERRED_PROVIDER_virtual/kernel>/<KERNEL_VERSION>/linux-*build/,并使用相应的交叉编译器前缀运行make menuconfig

如果您很幸运没有意外保存过两次menuconfig输出,那么您可以在上述路径中找到您保存的配置文件.config.old。通常您会发现两个/三个.config文件:

  1. .config:当前活动配置
  2. .config.old:之前的活动配置
  3. .config.orig:从SRC_URI的defconfig或内核defconfig选项本身中的实际配置

注:内核被提取为源代码(在执行do_unpack期间)位于路径tmp/work-shared/<MACHINE>/kernel-source/中,并链接到路径tmp/work/<MACHINE_NAME>-<DISTRO_NAME>-linux-gnuenabi/<PREFERRED_PROVIDER_virtual/kernel>/<KERNEL_VERSION>/git


1
这个文件夹没问题: tmp/work/<MACHINE_NAME>-<DISTRO_NAME>-linux-gnuenabi/<PREFERRED_PROVIDER_virtual/kernel>/<KERNEL_VERSION>/linux-*/build/ 我有我的.config 非常感谢!

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接