Библиотека сайта 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.
Мы не собираемся перечислять здесь все опции, так как их насчитывается несколько сотен. Более того, если вы добрались до этой главы, то вы наверняка уже знаете, что делаете. Поэтому вам остается просмотреть конфигурацию ядра и установить/снять любые опции на свое усмотрение. Однако вот несколько советов о том, как избежать сборки неработоспособного ядра:
- если
вы не используете начальный электронный диск (
initrd
), никогда не компилируйте в виде модулей драйверы, необходимые для монтированиясвоей корневой файловой системы (драйверы оборудования и драйверы файловых систем)! И, если вы используете начальный электронный диск, установитеY
для поддержки ext2FS, так как эта файловая система используется для ramdisk'ов. Вам также необходимо включить поддержкуinitrd
; - если
в вашей системе имеются сетевые карты, откомпилируйте их драйверы в
виде модулей. В результате вы сможете выбрать, какая из карт будет
первой, какая второй и так далее, путем помещения соответствующих
алиасов в файл
/etc/modules.conf
. Если вы компилируете драйверы в тело ядра, порядок, в котором они будут загружены, будет зависеть от порядка компоновки, который может вас не устроить; - и
в заключение: если вы не знаете, на что влияет опция - прочтите
справку! Если текст справки все еще вас не удовлетворяет - тогда
оставьте опцию как есть. (Чтобы получить справку по
config
иoldconfig
, нажмите клавишу ?.)
Et voila! Configuration is finally over. Save your configuration and quit.
Распаковка исходных кодов, применение патчей к ядру (если необходимо) |
Сохранение и повторное использование файлов конфигурации ядра |