我有8gb内存的核心i5。我的机器上安装了VMware工作站10.0.1。我有fedora 20桌面版安装在VMware作为客户操作系统。
我正在编写Linux内核源代码v3.14.1。我正在为Linux内核开发一个I/O调度程序。每次对代码进行任何修改之后,编译和安装整个内核代码就需要大约1小时30分钟的时间来查看更改。
编译和安装命令: make menuconfig、make、make modules、make modules_install、make install
所以,我的质询是否可以将1小时30分钟缩短为10至15分钟?
发布于 2014-04-24 21:07:03
不要对源所做的每一个更改都执行make menuconfig,因为它将触发对所有内容的完整编译,不管您的更改多么琐碎。只有当内核的配置选项发生变化时,才需要这样做,而这种情况应该在开发过程中发生。
只要做:
make或者如果您更喜欢并行编译:
make -j4或者任何你想要的并发任务。
当然,部署最近构建的二进制文件可能需要make install等。
另一个诀窍是将内核配置到测试所需的最低限度。我发现,对于许多任务,UML编译(用户模式Linux)是最快的。首先,您可能会发现有用的make localmodconfig而不是make menuconfig。
发布于 2014-04-24 20:35:15
make并行生成和-j选项指用于(如)代替跑步的:
make跑:
make ARCH=<your architecture> -jN其中N是机器上核心的no (cat /proc/cpuinfo列出了核心的no )。例如,对于i386目标和带有4 cores的主机(cat /proc/cpuinfo的输出):
make ARCH=i386 -j4类似地,您可以使用modules标志运行其他make ( modules_install、install)。
注意: make检查修改过的文件,只编译那些修改过的文件,所以只有初始构建需要时间,后续构建将更快。
发布于 2016-03-24 11:49:18
make -j将使用所有可用的CPU。
https://stackoverflow.com/questions/23279178
复制相似问题