Сначала небольшое примечание: если вы перекомпилируете ядро той же самой
версии, что уже имеется в вашей системе, то тогда сначала должны быть удалены
старые модули. Например, если вы перекомпилируете ядро
2.6.10
, вы должны удалить каталог
/lib/modules/2.6.10
.
Компиляция ядра и модулей, а затем и установка модулей, выполняется при помощи следующих команд:
make clean make all make modules_install install
Небольшой словарик: любые аргументы типа clean
,
all
и т.п. называются целями.
Обратите внимание, что, начиная с ядра 2.6
, существует
цель под названием all
. Выполнение этой цели - то же
самое, что выполнение (на архитектуре x86) целей bzImage
и modules
. Эта новая опция будет создавать
предпочтительные цели для любой заданной архитектуры. До
2.6
для каждой архитектуры для компиляции ядра имелась
своя опция с отдельным именем. Если вы задаете для make как показано
выше несколько целей, они будут выполнены в порядке указания. Но в случае
сбоя одной из целей, make дальнейшую сборку продолжать не
будет[39].
Давайте взглянем на различные цели и узнаем, что же они делают:
bzImage
: эта цель соберет ядро. Обратите внимание, что
эта цель верна только для процессоров x86 и
x86_64. Эта цель также создает файл
System.map
для этого ядра. Позже мы увидим, для чего
используется этот файл;
modules
: эта цель создаст модули для только что
собранного вами ядра. Если вы выбрали сборку без модулей, эта цель ничего
делать не будет;
all
: эта цель создаст образ ядра предпочтительного типа
для заданной архитектуры и модулей;
modules_install
: эта цель установит модули. По умолчанию
модули будут установлены в каталог
/lib/modules/<версия-ядра>
. Эта цель также
вычисляет зависимости модулей;
install
: эта последняя цель в конце скопирует ядро и
модули в надлежащие места и изменит конфигурацию начального загрузчика так,
чтобы новое ядро было доступно при загрузке. Не используйте ее, если вы
предпочитаете выполнять установку вручную, как описано в
Раздел 7, «Ручная установка нового ядра».
На данный момент у нас все откомпилировано, корректно установлено и готово к проверке! Просто перегрузите свою машину и выберите новое ядро в меню загрузки. Обратите внимание, что старое ядро остается доступным, поэтому вы можете воспользоваться им, если у вас возникнут проблемы с новым ядром. Тем не менее вы можете выбрать ручную установку ядра и изменить меню загрузки вручную. Мы рассмотрим это в следующем разделе.
[39] В этом случае, если компиляция не удалась, это означает, что в ядре имеется ошибка... Если это так и есть, пожалуйста, сообщите о ней!