Єдина Країна! Единая Страна!

Пришвидшення процесу компіляції ядра Linux

Червень 25th, 2010

Чекати, доки ядро компілюється — завдання для дуже пасивних і спокійних програмістів. Та й фізично, як не дивно, далеко не завжди є достатньо часу. Ось кілька порад, які допоможуть пришвидшити цей процес:

1. Якщо у вас багатоядерний процесор — запускайте make з параметром -j, значення якого вказує на кількість процесів, на які розпаралелюється компіляція. Так, наприклад, make -j 2 розпаралелює компіляцію на два процеси, що суттєво пришвидшує її на двоядерних процесорах.
2. Якщо можливо — запускайте gcc з ключиком -pipe, який змушує компілятор використовувати пайпи замість тимчасових файлів.
3. Вимкніть параметр CONFIG_DEBUG_KERNEL, якщо він вам не потрібен.
4. Повимикайте в конфігурації ядра усі непотрібні (ну гаразд, бодай найбільш явні) параметри.
5. Встановіть і налаштуйте ccache. Він кешує об’єктні файли. Щоправда, з ccache потрібно бути досить обережним, бо той може наробити чимало проблем, якщо вам потрібно перезібрати ядро з нуля, в такому разі не забувайте чистити кеш ccache.
6. Спробуйте distcc, який розпаралелює компіляцію на кілька фізичних машин.
7. Якщо маєте бодай 2 Ґб оперативки — спробуйте tmpfs. Він дозволяє змонтувати будь яку теку прямо в оперативну пам’ять, що суттєво пришвидшує роботу з тимчасовими файлами, яких під час компіляції створюється дуже не мало. Приклад:

# sudo mount -t tmpfs -o size=700M, mode=0777 tmpfs /usr/src/linux

Коментарі

коментарі

Powered by Facebook Comments

Leave a Reply