Иллюстрированный самоучитель по Linux

Рекомпиляция ядра Linux

  • Рекомпиляция ядра Linux

    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) систему можно перезагрузить с этим ядром. | Сразу после перезагрузки проверьте работу новых средств, ради которых и затевалась рекомпиляция. Можно выполнить следующие действия.
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.