我有一个与内核构建时间相关的小问题。抱歉写得有点乱。我在这方面很差劲。 :D 我们(我的团队)正在使用 qemu 为我们的产品重建 Linux 内核。我们都共享相似的硬件——至少或多或少(详细信息稍后描述)。非常有趣的是,我们的主机之间的编译时间可能会有很大差异。我们讨论 3-5 分钟到 1 小时之间的差异。
清洁后测量。我们所有人都使用 qemu-arm 在整个系统(我们开发的设备的系统)的安装映像上模拟 bash 来构建它。系统本身不运行。只是chroot+模拟arm bash,运行其他arm程序并调用主机的内核。对于三台主机中的两台,所有这些都额外封装在完整的 Linux (Ubuntu VM) 内,因为它们在主机上运行 Windows。所有主机都利用所有可用的核心。
完全重建的时间和所使用的硬件软件的描述:
- 主机 1. Win + Hyper-V 模拟 Ubuntu 20(内核 5.4.3)。 I7 第 8 代 6 核。 16GB 内存。 8 表示 VM 时间 3 分 50 秒。
- 主机 2. Win + VMBox(硬件虚拟化)Ubuntu 18(内核未知,但 5+)。 I7 9号6核。时间30分钟左右。用于虚拟机的 6GB 内存。
- 主机 3. Linux (manjaro)。内核 5.8。 I7第6个4核。 40GB 内存。 qemu 在没有 Ubuntu VM 的主机上运行。时间大约是一个小时。
硬件有点不同,但还不足以产生这样的差异。处理器或多或少是相同的。 9代比8代差很多。 6号已经超出范围了。基于硬件(加速)的虚拟化不会成为问题,因为没有它的主机会变得最糟糕。(Linux 和 Windows 之间可能有些不同?但这没有多大意义,因为最终它是在 Linux 上构建的。Arch/我猜 Debian 没有什么区别)。只要达到最小值,Ram 也不重要。我认为在任何情况下都是如此。
我写这些是因为这些数据都没有意义。我还试图找出在这种配置中影响构建时间的因素,但正如您所见,它非常具体 - 没有取得太大成功。
您知道哪些规格/设置也会影响构建吗?
感谢您的关注、时间和我的写作风格;-)