如何使用Buildroot更改内核版本字符串

时间:2019-11-11 20:09:54

标签: buildroot

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”。

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

谢谢, 戴夫。

2 个答案:

答案 0 :(得分:2)

您需要设置Linux内核的LOCALVERSION配置参数(内核版本字符串是内核功能,而不是Buildroot功能)。

  1. 从Buildroot进入Linux配置界面:make linux-menuconfig
  2. 进入General setup并设置Local version - append to kernel release-foo-bar
  3. 退出菜单配置以保存您的更改
  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用户手册中的"Storing the configuration of other components"

答案 1 :(得分:0)

Arnout非常友善,可以为我提供一些步骤和指向我所需的信息的指针,但是为了完整起见,我将列出为实现这一点而做的所有步骤。我使用Buildroots“ make xconfig”设置BR_ *变量:

  1. 设置BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG = y

  2. 按照Recommended Directory Structure中的建议,我创建了一个 / board / / 目录,并在该目录中创建了一个空的linux.config文件。

  3. 设置BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE等于步骤2中的路径 即BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE = board / / /linux.config

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

  5. 按照Arnout在回答我的原始问题时列出的步骤。

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

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