深入探究 Linux 内核的配置与构建
1. 内核 Makefile 配置
在kernel/kernel目录下存在一个标准的 Makefile 文件,其中包含大量的 make 目标。默认情况下,内核会基于运行 Makefile 的架构进行构建,大多数情况是 x86 架构的某种变体。但我们要为 ARM 目标板进行交叉编译。
这里有一个环境变量ARCH可用于选择构建的架构。可以在调用 make 时通过命令行设置:
make ARCH=arm也可以编辑 Makefile 来永久设置ARCH的值。使用喜欢的编辑器打开kernel/kernel中的 Makefile,找到第 195 行,原内容为:
ARCH ?= $(SUBARCH)将其修改为:
ARCH ?= arm下一行定义了变量CROSS_COMPILE,它通过为工具名添加前缀来标识交叉工具链。我们的 ARM 交叉工具链前缀是arm-linux-,可以在这里输入,也可在配置过程中指定。保存并退出编辑器。
执行make help,会看到一