Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

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

Пред. 

Глава 13. Компиляция и установка новых ядер

 След.


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

Чтобы начать, перейдите в каталог /usr/src/linux.

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

$ head -4 Makefile
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 8
EXTRAVERSION = -1mdkcustom

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

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

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

Теперь приступим к конфигурированию. У вас есть выбор между:

  • make xconfig - графический интерфейс на базе qt;
  • make gconfig - графический интерфейс на базе gtk+;
  • make menuconfig - интерфейс на базе ncurses;
  • make config - самый простой текстовый интерфейс, строка за строкой, раздел за разделом;
  • make oldconfig аналогично указанному выше, но на базе предыдущей конфигурации. Смотрите «Сохранение и повторное использование файлов конфигурации ядра».

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

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

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

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

  1. если вы не используете начальный электронный диск (initrd), никогда не компилируйте в виде модулей драйверы, необходимые для монтированиясвоей корневой файловой системы (драйверы оборудования и драйверы файловых систем)! И, если вы используете начальный электронный диск, установите Y для поддержки ext2FS, так как эта файловая система используется для ramdisk'ов. Вам также необходимо включить поддержку initrd;
  2. если в вашей системе имеются сетевые карты, откомпилируйте их драйверы в виде модулей. В результате вы сможете выбрать, какая из карт будет первой, какая второй и так далее, путем помещения соответствующих алиасов в файл /etc/modules.conf. Если вы компилируете драйверы в тело ядра, порядок, в котором они будут загружены, будет зависеть от порядка компоновки, который может вас не устроить;
  3. и в заключение: если вы не знаете, на что влияет опция - прочтите справку! Если текст справки все еще вас не удовлетворяет - тогда оставьте опцию как есть. (Чтобы получить справку по config и oldconfig, нажмите клавишу ?.)

Et voila! Configuration is finally over. Save your configuration and quit.


Пред. 

Уровень выше

 След.

Распаковка исходных кодов, применение патчей к ядру (если необходимо) 

Начало

 Сохранение и повторное использование файлов конфигурации ядра