手册中介绍内核编译过程时用的 make modules命令。
但这样做实际上是编译了选中的所有模块,所需时间比较多。另外也有网友出现了某些模块出错从而停止编译的问题。
实际上,可以只编译我们需要编译的模块。从make自带的帮助信息(make help)可以知道,
make <dir>/ 可以编译目录(可包含子目录)下的所有模块,
make <dir>/[file] 可以编译指定的模块。
比如编译自带的驱动演示,qq2440_hello.c,可以在配置了Makefile和Kconfig之后执行
make drivers/char/qq2440_hello.o (注意这里是.o不是.c)
然后
make drivers/char/qq2440_hello.ko
编译就完成了,只需要几秒钟时间