我是否每次都必须编译内核,即使是很小的改动?

gan*_*ars 7 linux compiling kernel kernel-modules

在我的项目中,我在block/ioctl.c. 我们都知道内核编译和构建需要几个小时。即使是一个小的改变,我也是从头开始编译的。那么有没有办法只编译和构建更改的文件?

Gil*_*il' 9

不,内核编译不需要“几个小时”。Linus Torvalds 说过去他花了12 分钟,现在少了很多。当然,这取决于您是仅使用硬件所需的驱动程序编译内核,还是编译包含人们可能需要的所有驱动程序的分发内核 - 但即使对于稍老的机器上的分发内核,它也需要花费更少的时间一个小时来完成一个完整的构建。

此外,如果您更改内核的一个文件,则无需进行完整构建。只需运行makemake modules如果有模块需要重新编译),只会重新编译更改的文件(以及依赖于它的文件,如果它是头文件)。