【问题标题】:Kernel configuration using bitbake menuconfig in yocto?在 yocto 中使用 bitbake menuconfig 进行内核配置?
【发布时间】:2021-01-04 00:58:27
【问题描述】:

我正在尝试使用下面这样的 menuconfig 从 yocto 内核中删除一些驱动程序..

bitbake -c menuconfig virtual/kernel

在所有配置之后,我生成了 fragment.cfg。

bitbake -c diffconfig virtual/kernel

然后我在 recipes-kernel/linux 目录中创建一个 .bbappend 文件并 bitbake 我的图像。

现在的问题是,由于某种原因,我所做的所有配置每次都重置为默认值。我怎样才能使配置永久化?

【问题讨论】:

  • 当您说“每次都重置为默认值”时,您所说的“每次”是什么意思?每次你bitbake?闪现图片?
  • 每次我执行 bitbake -C 编译 virtual/kernel 或 bitbake virtual/kernel 或 bitbake image.. 对于所有命令它执行相同...
  • 您的搭建环境是如何设置的?你在用开发工具吗?可以使用不受您的更改影响的另一个内核配置来构建映像。
  • 自从我上次处理 Yocto 以来已经有一段时间了,但是您是否尝试在不进行 diffconfig 的情况下在执行 bitbake -c menuconfig virtual/kernel 之后构建图像?如果我没记错的话,我只是成功地编辑了内核。
  • 当你将 -C 或 -c -f 与 bitbake 一起使用时,你是在强迫它做一开始不想要的事情,因此会发出警告。要摆脱它(并有一个健全的构建),您需要清除犯罪配方(在您的情况下为虚拟/内核)的共享状态缓存(-c cleansstate)。

标签: linux linux-kernel yocto bitbake


【解决方案1】:

一种解决方案是创建自己的收据并覆盖默认值。
例如,我们使用 linux-yocto-rt 内核并创建自己的收据,名称为 linux-yocto-rt 和以下文件:

linux-yocto-rt\linux-yocto-rt_4.9.bb
linux-yocto-rt\linux-yocto-rt\defconfig

defconfig 文件更改默认配置。
在 bb 文件中,您应该添加指向此文件的链接,例如:

SRC_URI += "file://defconfig "

你可以随时查看official documentation

【讨论】:

  • 我也试过了,但是没用。在 bitbake virtual/kernel 之后,当我运行 menuconfig 时,我看到了默认配置。我收到这些警告 do_compile is tainted from a force run 以及 for build too
  • 看来您使用的是 meta-stm32mp 层。通过快速阅读,您可能在 bbappend 中缺少:KERNEL_CONFIG_FRAGMENTS += "${WORKDIR/my-fragment.config"。如果你想使用完整的defconfig,你需要做KERNEL_DEFCONFIG = ""KERNEL_EXTERNAL_DEFCONFIG = "my-defconfig",那么你应该很好。参考文献github.com/leon-anavi/meta-stm32mp/blob/zeus/recipes-kernel/…
猜你喜欢
  • 1970-01-01
  • 2020-01-05
  • 2014-10-11
  • 1970-01-01
  • 2018-04-09
  • 1970-01-01
  • 2015-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多