Конфигурирование Ядра

Для начала зайдите в каталог /usr/src/linux.

Для начала маленький трюк: если хотите, то вы можете изменить версию вашего ядра. Версия ядра определяется в первых четырех строках файла Makefile:

$ head -4 Makefile
VERSION = 2
PATCHLEVEL = 4
SUBLEVEL = 10
EXTRAVERSION = 

Ниже в файле Makefile вы можете увидеть, что версия ядра формируется следующим образом:

KERNELRELEASE=$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)

Все, что нужно сделать, это изменить одно из этих полей, чтобы изменить вашу версию. Но предпочтительно менять только поле EXTRAVERSION. Скажем для примера, вы поменяли его на -foo. Теперь новая версия вашего ядра 2.4.10-foo. Изменяйте без колебаний это поле при каждой перекомпиляции вашего ядра с новыми опциями, Это даст вам возможность проверять новые опции без потери результатов предыдущих компиляций.

Теперь начнем конфигурацию. Вам необходимо выбрать между:

Вы можете конфигурировать последовательно секцию за секцией, также вы можете пропускать секции и переходить к интересующим вас секциям в случае, когда вы используете menuconfig или xconfig. Существуют следующие опции: y для Yes (функциональная возможность жестко вкомпилированная в ядро), m для Module (функциональная возможность, скомпилированная как модуль) или n для No (исключить эту возможность из ядра).

В обеих вариантах make xconfig и make menuconfig присутствует иерархическое разделение опций ядра на группы. Например, Processor family находится в Processor type and features.

В xconfig, кнопочка Main Menu используется для возвращения назад в главное меню во время нахождения внутри иерархической группы опций; соответственно кнопочка Next служит для перехода к следующей группе опций; а кнопочка Prev для возвращения в предыдущую группу. В menuconfig, используйте кнопку Enter для выбора секции, и для изменения состояния опции используйте клавиши y, m или n, также можно сделать выбор, нажимая клавишу Enter. Exit служит для выхода из секции или вообще из конфигурации в случае, когда вы находитесь в главном меню. Также есть кнопка Help.

Мы не собираемся перечислять тут все опции ядра, так как их насчитывается много сотен. Кроме того, если вы читаете эту главу, то наверное, так или иначе знаете что вам необходимо. Так что вы брошены на самостоятельное изучение конфигурации ядра и самостоятельную установку опций по вашему усмотрению. Однако мы приведем некоторые советы, которые помогут вам избежать сборки неработоспособного ядра:

  1. если вы не используете для начальной загрузки виртуальный диск (initial ramdisk), никогда не компилируйте драйвера, необходимые для монтирования вашей корневой файловой системы (драйвера оборудования и драйвера файловых систем) как модули! И, если вы используете initial ramdisk, установите Y для поддержки ext2FS support, так как эта файловая система используется для виртуальных дисков. Вы также должны включить поддержку initrd;

  2. если в вашей системе присутствуют сетевые карты, компилируйте их драйвера как модули. В результате вы сможете определять последовательность карт путем помещения псевдонимов (aliases) в файл /etc/modules.conf. В случае, когда вы вкомпилируете драйверы в ядро - они будут загружаться в том порядке, как они были влинкованы в ядро, при этом вы не сможете изменить это порядок по собственному усмотрению;

  3. и наконец: если вы не знаете на что влияет данная конкретная опция - читайте помощь! Если текст помощи так и не внушил вам уверенности - оставьте эту опцию так как она была. (для получения помощи в config и oldconfig нажмите кнопочку ?).

Кроме того вы можете получить дополнительную информацию в файле /usr/src/linux/Documentation/Configure.help, откуда берется текст справки для всех опций во время настройки. В заголовке этого файла вы также можете найти ссылки на переводы.

И вот наконец! Конфигурирование закончено. Сохраните свою конфигурацию и выходите.