[devel] udev-0.46-alt1
Alexey Morozov
=?iso-8859-1?q?alex-altlinux_=CE=C1_idisys=2Eiae=2Ensk=2Esu?=
Вт Дек 14 14:08:27 MSK 2004
udev-0.46-alt1.i586.rpm собран (в хэшере) и лежит в malta:/var/tmp/ и
(копия) в malta:~morozov/
Просьба уполномоченных переложить в Daedalus для тестирования
Особенности сборки:
1. udevd поднимается как сервис (2345 02 95). Вообще, по-хорошему,
его запуск должен происходить в /etc/rc.sysinit сразу после
монтирования /proc или даже в early user space (тогда нужно будет
скрипт стартовый подходящий написать)
2.1. По умолчанию собрано с _GLIBC_ (а не KLIBC), хотя в спеке
соответствующие заточки, вроде, есть. Интересующихся (и имеющих
возможность) просьба проверить эти заточки (Ау, Антон!)
2.2. По умолчанию собрано с системной libsysfs (настройка в спеке)
3. В конфиге по умолчанию udev живет в /dev и на tmpfs. Welcome to
the real world :-). Тем, кто не чувствует, что его шворц достаточно
велик для таких игр, глядеть в /etc/udev/udev.conf. У меня работает
в /dev. Вроде. ;-)
4. Политики для настройки создаваемых дивайсов лежат в
/etc/udev/rules.d/ и /etc/udev/permissions.d/. Политики эти могут
быть достаточно гибко сконфигурированы, там есть примеры.
5. Для того, чтобы CDWriter'ы (а заодно и DVDWriter'ы) получали
правильные права (группу там итп), я использовал devfs-like схему:
файл устройства создается не в /dev (и имеет "скушное" имя hdc), а,
скажем, как /dev/cdroms/cdwriter0 (с проставлением линков
/dev/cdrom, /dev/hdc и т.д. и т.п.). Мне нравится (но у меня нет
SCSI-дивайсов здесь, поэтому для них потребуется доп. настройка).
Впрочем, в конфигах я привел примеры, как вернуть все к традиционной
схеме.
6. Я с удовольствием рассмотрю предложения по унесению большей части
содержимого /dev/ по специализированным подкаталогам, как я это
сделал для ide block devices. Собственно, вы _сами_ можете добиваться
требуемого поведения, а потом слать мне ченджы к конфигам. Ну, и
неплохо было бы дописать обвязку для SCSI-дивайсов. Какие-то
соображения у меня есть, может быть, я просто кину сюда вариант
конфига, у кого есть - проверит.
Ложка дегтя:
1. Нужно понимать, что udev - это не devfs. В частности, в нем нет
device lookup'а, то есть, возможности "подгрузить модуль по открытию
(несуществуюшего еще) устройства". Соотвественно, при переагрузке, у
вас, вероятно, "потеряется" ваш любимый nvidia.ko, да и модулю
обслуживающему последовательный порт никто не скажет, что его заждались.
Поэтому на данном этапе предлагается вносить все такие модуля в
/etc/modules. У меня сейчас там вот что:
agpgart
nvidia
psmouse
8250
ide-cd
В дальнейшем предлагается использовать патч, типа
http://seclists.org/lists/linux-kernel/2004/Nov/1607.html
для организации соответствующей функциональности в tmpfs.
2. Линус пообещал в 2.7 _специально_ давать устройствам _случайные_
major/minor в течение некоторого времени, для того, чтобы отловить
больной юзерлэнд, который жестко завязывает эти параметры устройств с
функциональностью (прощай devices.txt!). Одну и таких больных userland
программ я уже вижу, это modutils, которым в /etc/modules.conf обычно
указывают что-то типа:
alias char-major-14 soundcore
...
alias char-major-195 nvidia
Эта схема работать более не будет, а альтернативная ей c
probe/probeall работает только для командлайнового вызова modprobe.
Так что, проблема грядет :-)
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?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/devel/attachments/20041214/01aa83f5/attachment-0001.bin>
Подробная информация о списке рассылки Devel