[sisyphus] Warning: udev-089

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Ср Апр 12 11:23:57 MSD 2006


On Wed, Apr 12, 2006 at 10:48:04AM +0400, Anton Farygin wrote:
> Sergey Vlasov wrote:
> > On Tue, Apr 11, 2006 at 05:42:17PM +0400, Anton Farygin wrote:
> >> В ftp://ftp.altlinux.ru/pub/people/rider/udev-089 лежат пакеты нового udev.
> >>
> >> Просьба всем, кто использует ядро 2.6.16 - поставить и сообщить мне об
> >> найденных ошибках. С ядрами < 2.6.16 новый udev работать не будет.
> >>
> >> Через пару дней это может добраться до Sisyphus - лучше проверить заранее.
> > 
> > Да, камнепад будет изрядный.
> > 
> > 1. После вызова udevtrigger нужно дождаться завершения обработки
> >    сгенерированных событий - иначе иногда при дальнейшей загрузке не
> >    обнаруживается даже /dev/urandom.  Правда, в этом месте есть
> >    грабли:
> > 
> > 	http://wiki.linuxfromscratch.org/lfs/ticket/1720
> > 	http://permalink.gmane.org/gmane.linux.hotplug.devel/9711
> 
> Да, и это известно. Сейчас загрузка проходит нормально, а вот если 
> запускать udevtrigger из rc.sysinit - то всё становится очень плохо.
> 
> > 
> > 2. Большинство /etc/hotplug/*.rc (как минимум, pci.rc и usb.rc) после
> >    установки этой версии udev становятся бесполезным балластом -
> >    udevtrigger сам сгенерирует все нужные события (правда, в
> >    неопределённом порядке).
> 
> pci.rc и usb.rc помимо генерации событий ещё модули загружает. Впрочем я 
> уже давно собирался перенести эту функциональность в отдельный пакет.

Загружают модули на самом деле *.agent, которые всё равно вызываются
при обработке событий.  В usb.rc остаётся нужным только монтирование
/proc/bus/usb (впрочем, разработчики ядра давно хотят объявить её
obsolete - вот /dev/usb/... уже есть, и новая версия libusb умеет
пользоваться этими устройствами, только нужно из
/etc/hotplug/*.usermap сделать набор правил для назначения прав
доступа средствами udev).

Вот только у нас libusb какая-то древняя - надо обновить.

> > 3. В случае наличия нескольких сетевых плат перед установкой этого
> >    udev крайне желательно установить etcnet и настроить /etc/iftab,
> >    иначе потом придётся долго разбираться в перепутавшихся eth*.
> >    Причём USE_HOTPLUG=yes тоже может не работать, пока из
> >    /etc/hotplug/net.agent не будет удалён кусок:
> > 
> >     # Red Hat specific hack...
> >     if [ -f /etc/redhat-release ]; then
> > 	# Don't do anything if the network is stopped
> > 	if [ ! -f /var/lock/subsys/network ]; then
> > 	    exit 0
> > 	fi
> >     fi
> > 
> >    Иначе получается race - сетевое устройство вполне может быть
> >    обнаружено раньше, чем запустится сервис network (точнее, если в
> >    запуск udevd будет добавлено ожидание завершения обработки событий
> >    от udevtrigger, устройства и будут обнаруживаться раньше).
> 
> Это если мы service udevd вынесем в rc.sysinit.

Это и сейчас есть - udevd запускается раньше network, просто крайне
маловероятно.

> Но там race идёт похуже 
> - например совершенно непонятно как дождаться появления устройств для / 
> и для swap

while ! [ -f "$root_dev" ]; do sleep 1; done  ?

> >    Впрочем, это тоже неправильно - получается, что сетевые интерфейсы
> >    могут запускаться до завершения общей инициализации сети.
> >    Возможно, придётся добавить в запуск etcnet вызов собственной
> >    версии udevtrigger, генерирующей события только для
> >    /sys/class/net/* (и убедиться, что повторяющиеся вызовы
> >    ifup-removable не приводят к нежелательным эффектам).
> 
> Сейчас при service udevd restart сеть пропадает (она у меня 
> настраивается вручную). Наверное стоит посмотреть что там точно происходит.

У меня не пропадает.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20060412/88b76551/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus