首页 > 解决方案 > 向操作系统添加或删除一些功能?

问题描述

我想修改内核的配置以向我的 linux 内核添加/删除一些我在我的板上需要的功能。

我正在按照此处描述的步骤进行操作:

  1. 我为 SAMA5D27_SOM1_EK1 板构建内核:

    使 ARCH=arm sama5_defconfig

  2. 我运行 menuconfig 以便在退出之前进行修改并保存我的更改:

    使 ARCH=arm menuconfig

  3. 我设置了交叉编译工具链并构建了 linux 内核映像:

    使 ARCH=arm

我已经成功了:

Kernel: arch/arm/boot/Image is ready

Kernel: arch/arm/boot/zImage is ready
  1. 最后我构建了设备树二进制文件:

    使 ARCH=arm dtbs

我现在可以在 arch/arm/boot/ 目录下找到内核映像。

但是,我的修改没有发生!

我想知道我是否遗漏了什么?

在哪里可以找到旧的默认内核 .config 文件?

从 menuconfig 设置一些修改后,我应该怎么做才能使更改出现在我的内核中?

修改后在哪里可以找到新的 .config 文件?

我怎么知道我的修改确实成功了?

谢谢你。

标签: configurationembedded-linux

解决方案


保存更改并退出 menuconfig 视图后,内核源代码树中应该存在两个配置文件。

您可以使用scripts/diffconfigLinux 内核源代码树列出已删除/修改或添加到新配置的行。只需运行:

scripts/diffconfig .config.old .config | less

您还可以使用检查正在运行的 linux 内核的配置

cat /proc/config.gz | gunzip > kernel.config

或者

zcat /proc/config.gz > kernel.config

这需要一个特定的配置,可以在

General setup
 [*] Kernel .config support
 [*] Enable access to .config through /proc/config.gz

推荐阅读