3

Buildroot 中是否有某种方法可以更改使用“uname -a”命令显示的内核版本字符串?例如:

# uname -a
Linux buildroot 5.1.0 #1 PREEMPT Wed Nov 6 13:10:04 MST 2019 armv5tejl GNU/Linux

我想附加一些东西,使版本看起来像:“5.1.0-xxxx-xx”。

我检查了这篇文章,但对我来说没有意义。它指的是哪个 .config 文件?我在我的 Buildroot 目录中看到 4 个,默认的一个在根目录下,另外三个在“./output”下,它们来自其他存储库。

谢谢,戴夫。

4

2 回答 2

3

需要设置LOCALVERSIONLinux内核的配置参数(内核版本字符串是内核特性,不是Buildroot特性)。

  1. 从Buildroot进入Linux配置界面:make linux-menuconfig
  2. 进入General setup并设置Local version - append to kernel release-foo-bar
  3. 退出 menuconfig 保存您的更改
  4. 构建整个 Buildroot 镜像:make

现在uname -a将显示: Linux buildroot 5.1.0-foo-bar #1 PREEMPT Wed Nov 6 13:10:04 MST 2019 armv5tejl GNU/Linux

要了解如何使这些更改持久化,请阅读Buildroot 用户手册中的“存储其他组件的配置” 。

于 2019-11-13T08:16:21.013 回答
0

Arnout 非常友好地为我提供了解决此问题所需的信息的步骤和指针,但为了完整起见,我将列出我为实现这一目标所做的所有步骤。我使用 Buildroots "make xconfig" 来设置 BR_* 变量:

  1. 设置 BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y

  2. 按照推荐目录结构中的建议,我创建了一个 <BR_ROOT>/board/<company>/<board-name> 目录并在该目录中创建了一个空的 linux.config 文件。

  3. 设置 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE 等于步骤 2 中的路径,即 BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE=board/<company>/<board-name>/linux.config

  4. 执行命令“make linux-update-defconfig”将我的 Linux 配置存储在我在步骤 3 中创建的文件中。

  5. 按照 Arnout 在他对我最初问题的回答中列出的步骤进行操作。

  6. 用“make”重建我的内核和rootfs。

一旦我确认一切都正确,我用“make savedefconfig”保存了我的新配置。

于 2019-11-27T20:29:23.130 回答