[Comm] Определить major, minor модуля
Sergey Vlasov
=?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Пт Окт 27 16:09:18 MSD 2006
On Fri, Oct 27, 2006 at 02:40:29PM +0300, Valentin Lavrinenko wrote:
> Существует ли способ, не обращаясь к исходникам, определить,
> какие major, minor обслуживает тот или иной модуль ядра?
В общем случае нет. Иногда может помочь modinfo (если в модуле есть alias
вида char-major-* или block-major-*), но это не всегда работает по
следующим причинам:
- В некоторых модулях соответствующие alias могут быть просто не
прописаны разработчиком (они нужны только для автозагрузки модулей при
обращении к файлам на статическом /dev, всё остальное работает и без
них).
- Зачастую major/minor регистрирует общий модуль, не работающий
непосредственно с аппаратурой, а тот модуль, который обслуживает нужное
устройство, просто использует общие функции. Именно такая ситуация с
драйвером parport_serial - есть общий драйвер для последовательных
портов и отдельный модуль для поддержки комбинированных PCI-устройств,
имеющих как последовательные, так и параллельные порты.
- Наконец, в последнее время многие новые драйверы используют
динамический выбор major - конкретный номер выделяется только при
загрузке модуля. А minor почти всегда назначались динамически
(исключениями являются разве что IDE и ttyS* для ISA-устройств).
Вообще при использовании ядер 2.6.x и udev следить за конкретными номерами
major/minor уже не так нужно - вместо этого можно добавить правила udev
для обнаружения устройств с требуемыми характеристиками (PCI-устройства
можно различать, например, по положению на шине PCI, некоторые
USB-устройства имеют уникальные серийные номера, ...) и назначения им
требуемых имён, не зависящих от major/minor.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/community/attachments/20061027/e069d857/attachment-0003.bin>
Подробная информация о списке рассылки community