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