Linux内核重新编译太慢

Linux内核重新编译太慢,linux,makefile,compilation,linux-kernel,kernel,Linux,Makefile,Compilation,Linux Kernel,Kernel,我在虚拟机(虚拟机)中编译Linux内核,分配了4GB中的2个和8个CPU中的4个。我最初的编译大约花了8-9个小时,我也在使用make-j4优化。现在我向内核添加了一个简单的系统调用,只运行make-j4,它已经编译了3个小时了。我认为在初始编译之后,make只编译小的更改,但它似乎编译了所有内容(主要是驱动程序)。有什么方法可以加快这个编译过程吗 例如,我是否可以禁用一些我并不真正需要的驱动程序,例如,如果我只想实现一个简单的系统调用,我并不真正需要所有的网络驱动程序,也许这会加快速度?i、

我在虚拟机(虚拟机)中编译Linux内核,分配了4GB中的2个和8个CPU中的4个。我最初的编译大约花了8-9个小时,我也在使用make-j4优化。现在我向内核添加了一个简单的系统调用,只运行make-j4,它已经编译了3个小时了。我认为在初始编译之后,make只编译小的更改,但它似乎编译了所有内容(主要是驱动程序)。有什么方法可以加快这个编译过程吗


例如,我是否可以禁用一些我并不真正需要的驱动程序,例如,如果我只想实现一个简单的系统调用,我并不真正需要所有的网络驱动程序,也许这会加快速度?i、 e.我只想让我的内核有最基本的功能来测试我的系统调用。

编译内核总是需要很长的时间,不幸的是,除了拥有一个具有大量多线程的非常好的处理器之外,没有办法解决这个问题,然而在这样的大型项目中,编译时间会大大缩短,它并不完美,但比编译对象要好得多


在初始编译时,您不会看到差异,但它会使用它生成的缓存来加速重新编译,而不是编译以前已经编译过的大部分内容。

您应该为VM提供更多内存和CPU,或者以本机方式而不是在虚拟机中构建。还要检查您如何配置虚拟磁盘。至于为什么一切都在重建,这取决于您更改了哪些文件。如果更改了所有或大多数驱动程序都包含的公共文件,则make将重新生成所有文件。所以,这取决于添加简单系统调用时所涉及的代码部分。@Madscitist,这是hello world系统调用,我修改了syscalls.h文件。我想这是所有车手的头球,所以这可能是原因。我的最大内存限制是4gb,而我的主机操作系统是Windows,所以我真的不能超过这个限制。你完全可以禁用所有驱动程序并使用最小配置。您还应该检查是否正在交换<代码>-j4对于可用RAM来说,进程可能太多。