-
Linux – одна из немногих операционных систем, позволяющих воздействовать на работу компьютера, модифицируя ядро системы. | Поскольку Linux поставляется с полным набором исходных текстов, в нем можно опробовать любую новинку.
-
Новичок Linux может удивленно спросить: "А зачем это нужно – рекомпилировать ядро?" Тем более что процесс этот, в его представлении, далеко не прост. | В настоящее время Linux – система, намного более дружественная, чем два-три года назад.
-
Модули ядра – очень важная составляющая Linux. Такой модуль позволяет обеспечивать ядру новые функции без его рекомпиляции. Вы сможете убедиться, насколько это важно. | Например, если возникнет необходимость в новой плате интерфейса SCSI, можно загрузить модуль ядра вводом единственной команды – insmod.
-
Если вам непонятно, для чего может понадобиться рекомпиляция ядра Linux, загляните в табл. 20.2, в которой перечислены некоторые проблемы и способы их решения. | Конечно, для компиляции ядра достаточно и одного из перечисленных поводов, однако не-лишне рассмотреть их все, чтобы осознать всю гибкость Linux. | Табл. 20.2. Проблемы, решаемые рекомпиляцией ядра Linux. | Проблема | Решение
-
Изменения в ядре Linux могут происходить каждый день. Впрочем, если ваша система работает устойчиво, отслеживать все изменения нет смысла. Большинство изменений вносится на этапе разработки, поэтому немедленное внедрение каждого из них в рабочую систему неразумно.
-
Для рекомпиляции ядра необходимы его исходные тексты. В Red Hat исходные тексты ядра размещаются в одном rpm-пакете, но по умолчанию не устанавливаются.
-
Кроме исходных текстов, для рекомпиляции ядра нужен компилятор, состоящий из двух компонентов: | утилита make; | собственно компилятор языка С – gсс или egcs. | Разные системы могут содержать разные версии этих утилит. Естественно, лучше иметь последнюю версию компилятора – дсс 2.96 или egcs 1.1.2.
-
Несмотря на то, что рекомпиляция ядра Linux по силам даже ребенку, все-таки следует предпринять некоторые меры предосторожности. Это означает создание резервной копии ядра и обеспечение способа ее загрузки при неудачной компиляции. | Создание резервной копии текущего ядра проводится в три этапа.
-
Существует несколько способов получения экземпляра нового ядра. Два основных способа ориентированы на использование архива Linux Kernel, расположенного по адресу http://www.kernel.org, или на использование Web-сайта вашего Linux-дистрибьютора.
-
Самая интересная часть создания нового ядра – его конфигурирование. Именно здесь решается, какие функции включать в ядро, какие не включать и т.д. | Можно выбирать между конфигурированием старого ядра и установкой/конфигурирование нового.
-
Просматривая параметры в любой конфигурационной программе (командной строки, с текстовым или графическим интерфейсом), необходимо четко представлять влияние этих параметров на работу ядра. | Идентификация параметров в каждой программе своя, но во всех трех представлен один и тот же их набор.
-
Для запуска утилиты командной строки выполните следующие действия. | Введите команду su для получения прав корневого пользователя. | Перейдите в каталогов котором записаны исходные тексты. | # cd /usr/src/linux-2.4.2 | Примечание | Если номер версии вашего ядра или используемый каталог другие, измените команду соответствующим образом. | Выполните следующую команду.
-
Для запуска этой утилиты выполните следующие действия. | Введите команду su для получения прав корневого пользователя. | Перейдите в каталог, в котором записаны исходные тексты. | # cd /usr/src/linux-2.4.2 | Примечание | Если номер версии вашего ядра или используемый каталог другие, измените команду соответствующим образом. | Выполните следующую команду.
-
Запуск конфигурационной утилиты с графическим интерфейсом выполняется в следующей последовательности. | Запустите систему X Windows (с любыми графической средой и рабочим столом). | Откройте окно эмулятора терминала (окно командной строки).
-
После завершения конфигурирования проверьте наличие нового конфигурационного файла (.config), расположенного в каталоге /usr/src/linux-2.4.2 (учитывайте номер вашей версии). Помните, что для отображения скрытых файлов необходимо использовать команду Is – а.
-
Приведенные ниже команды предназначены для создания нового ядра с рекомпиляцщй всех его модулей и их записью в соответствующие системные каталоги. (Там они будут доступны для команд ядра.) | Для рекомпиляции системы введите следующие команды. | # make dep; | make clean; | make bzlmage; | make modules;
-
После перемещения файла нового ядра в стандартный каталог (указанный в файле lilo.conf) систему можно перезагрузить с этим ядром. | Сразу после перезагрузки проверьте работу новых средств, ради которых и затевалась рекомпиляция. Можно выполнить следующие действия.