编译内核以使用distcc创建debian包

时间:2014-12-31 05:24:56

标签: linux compilation kernel distributed distcc

我使用distcc来使用“make -j8 CC = distcc”命令对多个包进行分布式编译。 它工作正常。但是要通过编译内核源代码来创建debian包,我们使用“make-kpkg”命令来构建.deb文件。使用make-kpkg,我不能使用“CC = distcc”(它将调用分布式编译)。 要构建我使用以下命令:

fakeroot make-kpkg --initrd --append-to-version=.<Unique Identifier> kernel-image

所以建议我并纠正我,我怎样才能在上面的命令中使用distcc。

2 个答案:

答案 0 :(得分:0)

在运行make-kpkg之前

export CC=distcc

假设您正在运行bash,dash或ksh,那么将设​​置环境变量。

答案 1 :(得分:0)

使用伪装目录并在运行PATH之前将其添加到make-kpkgdistcc联机帮助页解释了设置:

mkdir /usr/lib/distcc/bin
cd /usr/lib/distcc/bin
ln -s ../../../bin/distcc gcc
ln -s ../../../bin/distcc cc
ln -s ../../../bin/distcc g++
ln -s ../../../bin/distcc c++

确保在构建之前将masquerade目录添加到PATH,因此在系统编译器之前找到distcc符号链接:

export PATH="/usr/lib/distcc/bin:$PATH"
fakeroot make-kpkg --initrd --append-to-version=.<Unique Identifier> kernel-image

这应该可以解决您所看到的问题。使用distcc作为普通用户使用fakeroot var pack = { commentData : serializedCommentData, json: jsonString } 会遇到问题,但这是一个单独的对话。