Автор Тема: Драйверы в Linux  (Прочитано 5139 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ludoed

  • Местный
  • *****
  • Автор темы
  • Сообщений: 861
  • ludoed1970@jabber.ru
Драйверы в Linux
« : Сентябрь 04, 2010, 15:16:44 »
  Драйверы в Linux называются модулями ядра. Назвали их потому, что при необходимости работы с определенным устройством его модуль автоматически подгружается с диска и становится частью ядра операционной системы. Список загружаемых модулей и их параметры содержатся в файле /etc/conf.modules (или modules.conf – в зависимости от вашего дистрибутива). Вот пример содержимого этого файла:

alias parport_lowlevel parport_pc
alias sound-slot-0 via82cxxx_audio
post-install sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /bin/aumix-minimal -f /etc/.aumixrc -S >/dev/null 2>&1 || :

  Предположим, что у вас есть устройство, которое вы хотите подключить. Например, сетевая плата. Ясное дело, что она не была установлена в вашей системе до установки Linux, иначе программа установки распознала бы устройство и сконфигурировала его самостоятельно.

  Последовательность действий для установки того или иного устройства следующая:

  1. Выключите систему (команда poweroff или halt – на не ATX-корпусах)
2. Установите устройство в компьютер
3. Включите систему

  При загрузке Linux обычно запускается какая-нибудь утилита поиска нового оборудования - к примеру, kudzu (RedHat, ALT) или harddrake (Mandrake). Утилита находит новое устройство, распознает его и автоматически прописывает загрузку модуля в файл /etc/modules.conf. Естественно, перед записью в файл modules.conf программа пробует загрузить драйвер устройства, чтобы проверить, корректно ли он работает. Например, при установке звуковой платы программа пытается проиграть звуковые файлы, и пользователь может "сказать", слышал ли он их.

  После установки и распознания устройства его нужно настроить. Например, для сетевой платы – указать параметры сетевого интерфейса, для звуковой платы – уровень громкости. Для этого существуют специальные программы – конфигураторы, о которых мы поговорим в следующем выпуске.

  А что делать, если устройство не удалось распознать?
Значит, нет модуля для вашего устройства или он просто не откомпилирован. Откомпилируйте ядро, включив в его состав нужный вам модуль. Если модуля нет (в программе конфигурации ядра вы не видите нужный вам модуль в списке), значит нужно обратиться к производителю устройства – зайти на сайт фирмы-производителя и скачать драйвер (модуль) для Linux, если, конечно, он там есть. В одном из следующих выпусков мы рассмотрим, как перекомпилировать ядро Linux и включить в его состав нужный нам модуль.



Дрова меняются оч.просто. Выгружаем один модуль, загружаем другой.

1.Как посмотреть что поставилось (знаем мы эти автоопределители по творениям Билла)
2.Посмотреть, (где?) на аналоги
3.Выгрузить
4.Загрузить более подходящий

1.Как посмотреть что поставилось

lsmod (man lsmod - почитать описание )
2.Посмотреть, (где?) на аналоги

неочень ясно про аналоги.. так как такого не требовалось никому... хотя, может вызов `modprobe -a ...` с какими-то хитрыми параметрами может рассказать, какие модули можно подгрузить для работы... лишнего, вестимо, будет много, ну да что делать... man modprobe man modinfo
3.Выгрузить

rmmod (man rmmod)
4.Загрузить более подходящий

man insmod
man modprobe
все юниксы очень дружелюбны.. они просто очень разборчивы в друзьях ;)

Настоящее труЪ: самописное ядро, выращенные на кухне кристаллы и программирование перемычками :)