Конфигурация ядра
🕛 18.06.2009, 15:13
Для того чтобы установить опции, определяющие процесс компиляции ядра, необходимо иметь в наличии исходный код ядра. Исходный код входит в состав всех дистрибутивных пакетов, но при установке системы можно либо разрешить, либо запретить копирование исходного кода на жесткий диск компьютера. Следует заметить, что в некоторых случаях исходный код, поставляемый в составе дистрибутивного пакета, может быть изменен по сравнению со стандартным кодом ядра (так, например, в состав кода могут быть включены специальные драйверы). Целесообразно вначале инсталлировать стандартное ядро, а затем, по мере необходимости, установить дополнительные модули (не исключено, что для выполнения ваших задач никакие дополнения не потребуются). Список основных узлов, содержащих архивы Linux, находится по адресу http: //www. kernel. org. В частности, там вы найдете ссылку на ftp ://sunsite. unc. edu и адреса других узлов, содержащих последние варианты исходного кода ядра Linux. (Конечно, вы можете работать с исходным кодом ядра, который входит в состав дистрибутивного пакета, но, как было сказано выше, в нем могут быть установлены дополнительные модули. Если в процессе работы возникнут проблемы, то устранить их будет легче, если у вас инсталлировано стандартное ядро.)^^^ Номер версии ядра системы состоит из трех чисел, разделенных точками. Если нл^\ второе число четное (например, 2.4.17), то ядро называется стабильным, или рабочим. Нечетное второе число в номере версии (например, 2.5.2) указывает на то, что ядро находится в процессе разработки. Стабильное ядро обеспечивает более высокую надежность. Используя ядро, находящееся в процессе разработки, вы получаете возможность ознакомиться с новыми техническими решениями. Чаще всего в ядре с нечетным вторым числом номера версии используются новые драйверы, реализованы новые варианты интерфейса или применяются другие подобные новшества. Устанавливая систему для практического использования, желательно использовать ядро с четным вторым числом номера версии. Исключением является ситуация, когда необходимый вам драйвер присутствует только в версии с нечетным вторым числом. В этом случае можно также использовать обратный перенос (back-port) драйвера в одну из предыдущих стабильных версий.
Обычно исходный код ядра содержится в каталоге /usr/src/linux либо в одном из подкаталогов /usr/src (при этом в имени каталога присутствует номер версии ядра, например /usr/src/linux-2 .4.17). В последнем случае желательно создать ссылку /usr/src/linux, указывающую на каталог с исходным кодом ядра. Если вы поступите так, то обеспечите нормальную работу программ, которые предполагают, что исходный код ядра содержится в каталоге /usr/src/linux. Таким образом, удобно работать с несколькими версиями исходного кода ядра, а если надо перейти от одной версии к другой, достаточно лишь изменить символьную ссылку.
Разархивировав исходный код ядра в каталог /usr/src/linux, надо сделать это каталог рабочим в используемой вами оболочке. После этого можно задать одну из описанных ниже команд конфигурирования ядра.
- make con fig. Данное средство конфигурирования является базовым. При этом у вас поочередно будут запрашиваться значения опций ядра. Отвечать на вопросы утомительно и при этом легко допустить ошибку. В случае ошибки придется начать всю процедуру сначала. Данная команда в настоящее время используется крайне редко.
- make menuconfig. Это средство конфигурирования предоставляет меню, позволяющее просматривать опции и задавать новые значения. Меню отображается в алфавитно-цифровом режиме.
Опции ядра Linux объединяются в категории и подкатегории, для каждой из которых предусмотрено отдельное меню
ции, значения которых не устраивают вас. При работе в текстовом режиме данное средство применяется чаще других.
- make xconf ig. Данный способ установки конфигурации аналогичен make menuconfig, за исключением ТОГО, что меню отображается средствами графического интерфейса. В этом случае выбор опций и установку их значений можно выполнять с помощью мыши. Это средство установки конфигурации применяется при работе в среде X Window (X Window иногда называют X).
Все три способа позволяют работать с одними и теми же опциями. Опции объединены в несколько категорий; некоторые из категорий содержат подкатегории. Если вы используете make menuconf ig или make xconf ig, то для каждой категории отображается отдельное меню (пример работы с окном, отображаемым по команде make xconf ig, показан на рис. 1.1). При настройке сетевых средств в основном используются категории Networking Options и Network Device Support, которые подробно рассматриваются в двух последующих разделах.
Для большинства опций предусмотрены переключатели. Примерами таких переключателей могут служить Y, М и N, показанные на рис. 1.1. Y и N указывают на присутствие или отсутствие опции в составе ядра, а М (сокращение от modular compilation - модульная компиляция) указывает на то, что соответствующие средства должны быть скомпилированы как отдельный модуль, которые можно загружать и выгружать независимо от других компонентов ядра. Более подробно о настройке опций рассказывается ниже.
Опции, относящиеся к сетевым средствам, модифицировались раньше и, по-видимому, будут изменяться и в будущем. В версиях 2.2.x ядра опции в основном совпадают; различаются они лишь в деталях. В состав разрабатываемого ядра 2.5.x включено инструментальное средство CML2, предназначенное для настройки.