Компилирование ядра для создания пакета 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
приходит со своим собственным бушелем проблем, но это отдельный разговор.