среда, 7 ноября 2007 г.

Основы конфигурирования ядра GNU/Linux

Данная статья открывает цикл публикаций настройки и конфигурирования вашей системы GNU/Linux.
Следущая статья будет посвещена обзору двух основных загрузчиков для GNU/Linux – LILO и Grub.

Современный GNU/Linux дистрибутив можно представить как систему из трёх компонентов:

- аппаратные средства
- ядро
- прикладные программы

Немного теории

Ядро отвечает за реализацию многих концепций, которые пользователи и прикладные программы принимают как нечто само собой разумеющееся. Ядро написано преимущественно на языке С, но для низкоуровневой обработки частично использовался язык ассемблера.
Все UNIX-системы позволяют пользователю предоставить ядру явную информацию о том, какие аппаратные средства присутствуют в системе. Некоторые ядра могут самостоятельно искать устройства.
Ядро Linux является единственным процессом, имеющим непосредственный доступ к аппаратуре – все остальные процессы обращаются к устройствам только через ядро. В ядре Linux можно выделить несколько важных подсистем: подсистему управления памятью; планировщик задач; подсистему VFS – виртуальную файловую систему и драйверы.

Конфигурирование ядра. Зачем это пользователю домашнего ПК.

Обычное ядро входящее в дистрибутив включает в себя много лишнего, так как рассчитано на работу практически в любой аппаратной среде. Имеет смысл переконфигурировать его, что бы адаптировать к конкретной системе: удалить модули, которые никогда не будут использоваться, и отключить ненужные опции. Хоть незадействованные компоненты и не влияют на работу системы, но занимают драгоценную память.
Современные ядра отлично справляются с выгрузкой неиспользуемых модулей и драйверов, но большинство опций ядра включены по умолчанию. В настоящее время заниматься переконфигурированием ядра для повышения эффективности его работы уже не так актуально. Но, тем не менее, это хорошая привычка.
Компилировать ядро не так уж сложно. Сложнее восстановить его работу, если что-то сделано не так.

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

Процесс конфигурирования ядра построен вокруг файла .config
Если вы хотите предпочитаете работать в графической оболочке (KDE, GNOME и т.д.) то воспользуйтесь утилитой make xconfig. Эта утилита отобразит окно конфигурирования ядра.
Если вы как истинный гик предпочитает все делать в консоли, то утилита make menuconfig именно то что вам нужно. Используя библиотеку curses (формирует псевдографический интерфейс в терминале) make menuconfig создаст удобное окно в терминале для конфигурирования. Существует так же утилита make config (настоятельно Нерекомендуется), отображающая запрос на изменение каждого параметра. Огромный недостаток этой программы отсуствие возможности исправить тот или иной параметр введеный ранее.
Конфигурирование файла .config – самый важный этап в процессе построения своего ядра linux, но помимо этого нужно выполнить еще ряд команд. Схема сборки ядра в полном виде выглядит так:
переход с помощью команды cd в католог с конфигурационным файлом
выполнение команды make xconfig или make menu config
выполнение команды make dep
выполнение команды make clean
выполнение команды make bzImage
выполнение команды make modules
выполнение команды make nodules_install
скопировать с помощью команды cp собранное ядро в католог /boot под именем vmlinuz
отредактировать файл конфигурации загрузчика (LILO, Grub)
выполнить команду make clean

Помните всегда надо быть предельно внимательны при работе с ядром. Одна неправильная команда и вы можете погубить систему.

Перепечатка или цитирование разрешены при условии указания ссылки вида Основы конфигурирования ядра GNU/Linux на первоисточник.
© Сергей Шипунов aka save_data

Комментариев нет: