При этом, кроме файла образа ядра /boot/vmlinuz-<���версия_ядра>
, ставится каталог с модулями /lib/modules/<���версия_ядра>
и файл образа загрузки /boot/initrd-<���версия_ядра>
. Образ загрузки содержит все модули, необходимые для того, чтобы ядро загрузило систему. Без этих модулей оно неспособно подключить системный раздел жесткого диска и прочитать файлы. Другие модули подключаются к ядру сценариями загрузки при старте системы.
Перед тем, как устанавливать новое оборудование, нужно убедиться, что ядро поддерживает ваше устройство. Если это не так, нужно пересобрать ядро, включив поддержку нового устройства. Можно со стопроцентной уверенностью сказать, что ваше ядро будет поддерживать вашу сетевую плату RTL8139 или любую другую, совместимую с NE2K PCI. А вот о поддержке USB-модема или принтера заранее ничего сказать нельзя: пользуйтесь диалоговым конфигуратором ядра (п.7.2.3.1) или загляните в базу поддерживаемого оборудования по адресу http://www.mandrakelinux.com/en/hardware.php3
. Ничего, если у вас другой дистрибутив, например, основанный на Red Hat: основные устройства те же. Современное ядро версии 2.6 поддерживает очень много устройств, и проблемы могут возникнуть только со следующими их типами:
1. Win-модемы, то есть программные модемы, часть функций которых выполняет сама ОС Windows. Я не говорю, что под Linux они вообще не работают, но, потратив уйму времени, даже если вы и настроите этот модем, удовольствия от его работы вы не получите.
2. Win-принтеры — комментарии те же, что и для Win-модемов. Разработчики дешевых устройств, как правило, стараются сэкономить на драйверах для менее распространенных ОС.
3. Экзотические TV- и FM-тюнеры.
7.4.2. Утилиты для работы с модулями
Основу модульной организации ядра составляет возможность динамической загрузки и выгрузки модулей. Обеспечивается эта возможность тем, что, в отличие от обычного приложения, модуль имеет несколько точек входа, исполняемых при установке и удалении модуля из ядра, а также при обработке поступающих от пользователя запросов (рис. 7.6).

Рис. 7.6. Связь модуля с ядром
Утилиты, обеспечивающие загрузку, выгрузку и просмотр загруженных модулей, собраны в пакет, который для ядер 2.4.x называется modutils, а для ядер 2.6.x — module-init-tools. Не смешивайте эти пакеты: одноименные утилиты из них конфликтуют друг с другом.
Выполнять эти утилиты может только суперпользователь. В состав обоих пакетов входят:
♦ lsmod— просмотр списка загруженных модулей;
♦ modinfo <���имя_модуля>— получение информации о загруженном модуле;
♦ insmod <���имя_модуля>— загрузка модуля;
♦ rmmod <���имя_модуля>— выгрузка модуля;
♦ depmod— нахождение зависимостей между модулями;
♦ modprobe— загрузка модуля с аргументами и теми модулями, от которых он зависит.
Из сценария инициализации системы вызывается именно modprobe. Эта команда руководствуется конфигурационным файлом /etc/modprobe.conf
, в котором могут быть записаны аргументы, передаваемые загружаемым модулям, определены псевдонимы модулей и указаны команды, которые нужно выполнить перед стандартной процедурой загрузки модуля или вместо нее. В дистрибутивах, основанных на ядре 2.4, этот файл называется /etc/modules.conf
и имеет несколько более сложный синтаксис. В совсем старых версиях Linux (до дистрибутива Red Hat Linux 7.0) вместо этого файла использовался /etc/conf.modules
.
7.4.3. Kudzu — утилита для автоматического определения устройств
В Linux для автоматического определения устройств используется специальная утилита kudzu, названная в честь китайской лианы — злостного сорняка. В дистрибутивы, основанные на Linux Mandrake, вместо нее может входить утилита harddrake. Задача этой утилиты состоит в том, чтобы определить, какие устройства установлены, и добавить в файл /etc/modprobe.conf
(как бы он ни назывался в вашем дистрибутиве) команды загрузки модулей ядра с драйверами для этих устройств.
Обычно kudzuзапускается при каждом запуске системы из сценария загрузки. Ее работа занимает довольно заметное время, поэтому я рекомендую сразу после установки дистрибутива, когда все устройства уже определены и настроены, отключить ее автоматический запуск. Если вы установите новое устройство, что случается не каждый день, запустите kudzuвручную от имени суперпользователя.
Читать дальше
Конец ознакомительного отрывка
Купить книгу