Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

echo " Done."

echo "Turning on quota."

/usr/sbin/quotaon -avugfi

7.4. Подключение и конфигурирование аппаратных устройств

7.4.1. Ядро и поддержка устройств

Ядро ОС Linux может быть собрано как монолитное или модульное. Монолитное ядро — это один большой файл, в который включены сразу все возможности, заложенные в данную версию ядра. Оно без всяких изменений находится в оперативной памяти от запуска до остановки системы.

В модульном же варианте

сборки в ядро включают только самый необходимый код, обеспечивающий загрузку системы. Все возможности, которые могут быть вынесены в отдельный файл (модуль), туда и выносятся, чтобы при необходимости динамически подключать их к ядру и отключать без перезагрузки компьютера. В результате ядро получается небольшим, быстрым и гибким.

Раньше, в первых версиях ядра Linux, механизм работы с модулями не был предусмотрен, и ядра тех времен содержали в себе код драйверов для всех поддерживаемых устройств. Такое решение нельзя было назвать рациональным: невозможно предусмотреть, какие устройства будут установлены у конечного пользователя, даже если включить в состав ядра драйверы всех известных устройств. Кроме того, даже если нужное устройство (скажем, звуковая плата Yamaha) ядром распознается, то драйверы остальных устройств того же назначения будут впустую занимать оперативную память. Поэтому, начиная с версии 2.0, ядро Linux поддерживает модульную организацию и из дистрибутива, основанного на ядре 2.x, ставится в модульном виде.

При этом, кроме файла образа ядра

/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 вручную от имени суперпользователя.

Напоминаю, что отключить автоматический запуск служб можно с помощью диалогового конфигуратора (см.п.7.1) system-config-services или drakxservices, в зависимости от дистрибутива.

Если нужно передать драйверу нового устройства дополнительные параметры, отредактируйте вручную файл

/etc/modprobe.conf
.

7.4.4. Настройка установленных устройств

Настройка устройства обычно выполняется с помощью диалогового конфигуратора устройств соответствующего типа. Например, для настройки принтера можно запустить system-config-printer в дистрибутивах Fedora, redhat-config-printer в дистрибутивах Red Hat, printerdrake в дистрибутиве Mandrake.

Поделиться:
Популярные книги

Второй кощей

Билик Дмитрий Александрович
8. Бедовый
Фантастика:
юмористическое фэнтези
городское фэнтези
мистика
5.00
рейтинг книги
Второй кощей

Кротовский, вы сдурели

Парсиев Дмитрий
4. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
рпг
5.00
рейтинг книги
Кротовский, вы сдурели

Вперед в прошлое 6

Ратманов Денис
6. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 6

(Не)зачёт, Дарья Сергеевна!

Рам Янка
8. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
(Не)зачёт, Дарья Сергеевна!

Адепт. Том второй. Каникулы

Бубела Олег Николаевич
7. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.05
рейтинг книги
Адепт. Том второй. Каникулы

Неудержимый. Книга XX

Боярский Андрей
20. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XX

Герцог. Книга 1. Формула геноцида

Юллем Евгений
1. Псевдоним "Испанец" - 2
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Герцог. Книга 1. Формула геноцида

Сирота

Шмаков Алексей Семенович
1. Светлая Тьма
Фантастика:
юмористическое фэнтези
городское фэнтези
аниме
5.00
рейтинг книги
Сирота

Бракованная невеста. Академия драконов

Милославская Анастасия
Фантастика:
фэнтези
сказочная фантастика
5.00
рейтинг книги
Бракованная невеста. Академия драконов

Хозяин оков II

Матисов Павел
2. Хозяин Оков
Фантастика:
юмористическое фэнтези
попаданцы
фэнтези
5.00
рейтинг книги
Хозяин оков II

Студент из прошлого тысячелетия

Еслер Андрей
2. Соприкосновение миров
Фантастика:
героическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Студент из прошлого тысячелетия

Чехов. Книга 2

Гоблин (MeXXanik)
2. Адвокат Чехов
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Чехов. Книга 2

Изменяющий-Механик. Компиляция. Книги 1-18

Усманов Хайдарали
Собрание сочинений
Фантастика:
боевая фантастика
космическая фантастика
5.00
рейтинг книги
Изменяющий-Механик. Компиляция. Книги 1-18

Матабар

Клеванский Кирилл Сергеевич
1. Матабар
Фантастика:
фэнтези
5.00
рейтинг книги
Матабар