kernel - yocto bitbake 配置文件位置
问题描述
我在哪里可以找到用于构建内核的 .config 文件?
我用:
$ bitbake virtual/kernel -c menuconfig to open the menuconfig
我刚刚运行了 menuconfig,我遇到了一个大问题:没有激活选项。.config 文件 (?) 看起来已删除或损坏
我有两个目录:
- yocto 的旧配置,带有最新的内核配置。
- 带有损坏的内核配置的新配置(我正在处理它)。
我必须获取旧的配置文件并将其粘贴到损坏的配置中。
提前致谢。
解决方案
Yocto 以不同的方式查找内核配置,
- Linux 内核中的 defconfig:您可以
KBUILD_DEFCONFIG
在配方中指定变量以使用defconfig
源代码树中已经存在的变量。 - 您可以将您的 defconfig 添加
SRC_URI
到您的 linux 内核配方中或添加.bbappend
到您的内核配方中(可能在不同的层)。
如果您使用 menuconfig as 修改内核配置文件bitbake virtual/kernel -c menuconfig
,那么 bitbake 会切换,
- 查找变量中的默认提供程序
PREFERRED_PROVIDER_virtual/kernel
- 根据交叉编译器前缀切换
tmp/work/<MACHINE_NAME>-<DISTRO_NAME>-linux-gnuenabi/<PREFERRED_PROVIDER_virtual/kernel>/<KERNEL_VERSION>/linux-*build/
并运行make menuconfig
如果你很幸运并且没有意外保存(两次)menuconfig 输出,那么你会.config.old
在上面的路径中找到保存的配置。通常你会找到两个/三个 .config 文件,
- .config :当前活动配置
- .config.old :以前的活动配置
- .config.orig :来自
SRC_URI
's 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
.
推荐阅读
- sql-server - 从子表聚合结果的 SQL 查询
- azure - 如何使用 Xamarin 流式传输存储在 Azure 存储 Blob 中的视频
- angular - Angular 8:在子组件中选择浏览器后退按钮时恢复滚动位置
- react-native - React-native run-android 卡在 99% appDebug
- ios - 如何快速验证地理围栏位置到当前位置?
- mongodb - MongoDB/Perl:find_one 在无关代码后不返回数据
- r - 多个VAR的R循环
- nsis - 如何使用 Exe 为注册表中的应用程序设置默认图标?
- django - 从嵌套循环访问变量
- r - 如何重新排列在 dplyr 中易于查看的汇总统计信息?