Linux 内核 Makefile 中的“Oldconfig”目标
摘要
Linux 内核是 Linux 操作系统核心组件,负责管理系统资源并为用户空间应用程序提供各种服务。从源代码构建 Linux 内核是开发人员和系统管理员的常见任务,而 Makefile 是用于此目的的主要工具。Makefile 提供的目标之一是“oldconfig”目标,它用于根据当前系统配置更新内核配置文件。在本教程中,我们将解释“oldconfig”目标以及如何使用它。
注意 - Linux 命令区分大小写。
内核 Makefile
Makefile 是一个文件,指定了如何从其源代码构建内核。它包含一组规则,定义了构建过程中涉及的各种步骤,包括编译源文件、链接目标文件以及生成最终内核映像。Makefile 还包含一组目标,用户可以调用这些目标来执行特定任务,例如构建内核或清理中间文件。
内核构建系统,通常称为配置系统,是一个不可或缺的工具。即使是驱动程序和其他底层软件开发人员也很少使用这种方法,因此并非每个人都会使用它。您正在阅读本文的事实表明您有兴趣了解有关内核构建系统的更多信息。
内核 Makefile 有五个基本部分 -
Makefile:在源代码根目录中,这是主要的 make 文件。
arch/$(ARCH) Makefile:这是顶层 Makefile,它作为 Makefile 的补充。
.config:内核配置文件位于此处。
Scripts/Makefile.*:对于所有 kbuild Makefile,这些规则都是定义的。
Kbuild Makefile:Kbuild Makefile 大约有 500 个,并且它们并不容易阅读。
什么是“oldconfig”目标?
“oldconfig”目标是 Linux 内核构建系统提供的 Makefile 目标。它用于根据当前系统配置更新内核配置文件。内核配置文件包含各种配置选项,这些选项决定了内核的行为。这些选项包括硬件支持、文件系统支持、网络支持和其他内核功能。
从源代码构建内核时,需要配置内核以匹配其运行的系统。“oldconfig”目标用于更新现有的内核配置文件以匹配当前系统配置。当升级内核或在已配置的系统上构建新内核时,这非常有用。
如何使用“oldconfig”目标?
要使用“oldconfig”目标,您必须首先拥有内核配置文件。如果您没有配置文件,可以通过运行“make defconfig”命令来创建一个。这将根据您构建内核的系统的体系结构创建一个默认配置文件。为此,请运行以下命令:
$ make defconfig
拥有配置文件后,可以使用“oldconfig”目标来更新它。为此,请在内核源代码的根目录中运行以下命令 -
$ make oldconfig
运行“make oldconfig”时,该命令会读取当前配置文件(通常位于 /usr/src/linux/.config)并提示您自上次内核版本以来添加的任何新配置选项。您可以选择接受默认值或根据需要修改选项,即配置过程将更新现有配置文件以匹配当前系统配置。在配置过程中,系统可能会提示您选择新选项或确认现有选项。您可以按 Enter 键使用默认选项,或输入相应的数字选择其他选项。
配置过程完成后,更新后的配置文件将作为“.config”保存在内核源代码的根目录中。
结论
Linux 内核 Makefile 中的“oldconfig”目标是更新现有内核配置文件以匹配当前系统配置的有用工具。它可以用于在升级内核或在已配置的系统上构建新内核时更新配置文件。通过使用“oldconfig”目标,您可以节省时间并确保内核已正确配置以在其上运行的系统。