Компилирование ядра для создания пакета debian с использованием 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 ответа

Перед запуском make-kpkg

export CC=distcc

Который установит переменную среды, если вы используете bash, dash или ksh.

Используйте каталог маскарада и добавьте его к PATH перед запуском make-kpkg, distcc manpage объясняет настройку следующим образом:

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++

Убедитесь, что вы добавили в свой каталог маскарад PATH до строительства, поэтому distcc символические ссылки находятся до системного компилятора:

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

Это должно решить проблемы, которые вы видите. С помощью distcc через SSH как обычный пользователь с fakeroot приходит со своим собственным бушелем проблем, но это отдельный разговор.

Другие вопросы по тегам