On Sun, Feb 27, 2005 at 05:14:14PM +0300, Konstantin A. Lepikhov wrote: > > Ну, я уже говорил, что есть способ обойти и это. > > Я, правда не уверен, что в каком-либо из "стандартных" ядер > > есть патч на tmpfs, позволяющий закрыть данную проблему. > зато в wks26 этот патч есть. Что еще требуется для "магии"? > /sbin/modules_lookup у меня отсуствует. 1. Поставить modules_lookup 2. Убедиться, что стоит udev-0.50-alt3 3. Прописать в /etc/udev/udev.conf нечто навроде tmpfs_options="size=5m,helper=/sbin/modules_lookup" 4. Отредактировать /etc/modules_lookup.conf по вкусу У меня сейчас там нечто навроде: ----------- EVENT="LOOKUP", NAME="*cdrom*|*cdwriter*|*dvd*", MODULE="ide_cd" NAME="psmouse*|psaux*", MODULE="psmouse" # Unfortunately serial doesn't work yet as intended :-( # Commented out for a while. You have to put 8250 into /etc/modules.conf #NAME="ttyS*", MODULE="8250" NAME="ppp", MODULE="ppp_generic" NAME="nvidia*", MODULE="nvidia" NAME="agpgart", MODULE="agpgart" ----------- Мне рассказывали (wRAR), что данный метод не слишком здорово работает с приложениями / модулями, привыкшими копаться в /dev/ "широкими мазками". Так, например, aplay пытается открыть по очереди /dev/snd/controlC1, /dev/aloadC1, /dev/snd/controlC2, /dev/snd/aloadC2 "и так восемнадцать раз", точнее, 62 на моей машине. Естественно, дивайсов этих нет, и не будет, а запуск шелл-скрипта на каждый такой open гарантирован. В результате получается примерно 2-секундная пауза перед воспроизведением. Как мне представляется, правильнее было бы полечить aplay, хотя, наверное, есть другие способы решения данной проблемы, например, отказаться от шелл-скрипта, переделать все на C, или еще более радикально, вместо запуска программы переделать патч на запись имени отсутствующего устройства в указанный unix domain сокет или как-либо еще. Но все это требует более тщательного продумывания и, главное, реализации, чем мой по сути 40-строчечный /sbin/modules_lookup, который был написан в очередном припадке ненависти к шелл-программированию.