作者:罗宇哲,中国科学院软件研究所智能软件研究中心
上一期中我们介绍了 Linux 内核模块依赖图的绘制方法,这一期中我们将介绍 Linux 内核的分布式编译方法和分布式编译工具 distcc 的安装过程。
一、Linux 内核的分布式编译
分布式编译是指将源程序通过网络中的多台计算机的协同编译过程编译成目标程序的技术。分布式编译一般通过 TCP 或 SSH 等协议将编译任务分配至网络中不同的计算机上,使这些计算机协同完成编译工作。Linux内核可以使用 distcc [1]进行分布式编译。
distcc 是一个通过网络中的多台计算机对 C、C++、Objective C或 Objective C++ 代码进行分布式编译的程序。distcc 是一款编译速度快且容易安装的分布式编译工具,它能产生和本地编译一致的编译结果。理论上使用 distcc 进行分布式编译相对于本地编译的最大加速比为 3.0x,但在实际使用中加速比会低于这一理论值。
distcc 并不要求所有的机器共享一个文件系统或有同步的时钟,也不要求它们有相同的 library 或头文件。当安装了交叉编译器时,distcc 甚至不需要这些机器有相同的处理器或操作系统。
为了搭建基于distcc的Linux内核分布式编译环境,我们在 Ubuntu 18.04 环境下首先使用命令下载 distcc v3.3.3 版:
wget -O distcc-3.3.3.</