В началоРуководство по udev в Gentoo → Известные проблемы
Gentoo-doc HOME Пред.: Как использовать udev в GentooВ началоУровень выше: Руководство по udev в GentooСлед.: Ссылки на ресурсы и благодарности

3. Известные проблемы

3.1. Отсутствие специальных файлов устройств при загрузке

Если ваша машина не может успешно загрузится и выдаётся ошибка о том, что путь /dev/null не найден или отсутствует первоначальная консоль, то проблема в том, что отсутствуют некоторые файлы устройств, которые должны быть доступны до того, как /dev смонтирован и обработан udev. Это часто встречается на машинах, где Gentoo установлен со старых носителей.

Если вы используете sys-apps/baselayout-1.8.12 или более позднюю версию, эта проблема облегчается, так как процесс загрузки должен управлять до полного завершения. Однако, чтобы избавится от этих раздражающих предупреждений, вам следует создать отсутствующие специальные файлы, как описано далее.

Выполните следующие команды для того, чтобы увидеть, какие специальные файлы присутствуют до обработки udev в /dev:

Листинг 8. Вывод списка специальных файлов устройств, доступных при загрузке

# mkdir test
# mount --bind / test
# cd test/dev
# ls


Устройства /dev/null и /dev/console необходимымы для успешной загрузки. Если они не были показаны в предыдущем тесте, вы должны создать их самостоятельно. Выполните следующие команды в каталоге test/dev/:

Листинг 9. Создание необходимых специальных файлов устройств

# mknod -m 660 console c 5 1
# mknod -m 660 null c 1 3


Когда закончите, не забудьте отмонтировать каталог test/:

Листинг 10. Отмонтирование каталога test/

# cd ../..
# umount test
# rmdir test


3.2. udev и nvidia

Если вы используете коммерческий драйвер от nVidia и сервер X не запускается только в системе с udev, убедитесь что у вас:

  • название модуля nvidia указано в файле /etc/modules.autoload.d/kernel-2.6

  • версия nvidia-kernel больше или равна media-video/nvidia-kernel-1.0.5336-r2

  • версия baselayout как минимум sys-apps/baselayout-1.8.12

Если xorg-x11 отказывается запускаться, возможно, отсутствует файл устройства /dev/nvidia. В этом случае запустите /sbin/NVmakedevices.sh, чтобы его создать или пересоздать.

3.3. Не появляются имена LVM2

Если вы используете вместе udev и Logical Volume Manager 2 (LVM—менеджер логических разделов), вы можете заметить, что созданные вами группы разделов и логические разделы исчезли. Что ж, на самом деле нет, но они, к несчастью, названы /dev/dm-#, где #—это 0, 1, ... и т.д.

Чтобы это исправить, отредактируйте файл /etc/udev/rules.d/50-udev.rules и уберите комментарий со следующей строки:

Листинг 11. Как убрать комментарий со строки из файла /etc/udev/rules.d/50-udev.rules

KERNEL="dm-[0-9]*",     PROGRAM="/sbin/devmap_name %M %m", NAME="%k",
SYMLINK="%c"


Далее, установите пакет sys-fs/multipath-tools, который содержит программу devmap_name.

Листинг 12. Установка пакета multipath-tools

(На момент написания, пакет multipath-tools был доступен только в
тестовой ветке дерева Portage)
# echo "=sys-fs/multipath-tools-0.4.2 ~x86" >> /etc/portage/package.keywords
# emerge multipath-tools


3.4. Отличающиеся названия в DevFS и udev

Даже если наша цель—иметь совместимую схему именований между этими динамическими системами управления устройствами, иногда случаются различия в именовании.

Сообщалось о коллизии в работе контроллера HP Smart Array 5i (более точно - модуль ядра cciss). При использовании udev, устройства именовались как /dev/cciss/cXdYpZ, где X, Y и Z - числа. При использовании devfs, устройства именовались /dev/hostX/targetY/partZ или являлись символическими ссылками на /dev/ccisss/cXdY.

В этом случае, не забудьте обновить файл /etc/fstab и конфигурационные файлы загрузчика соответственно.

То же самое происходит со всеми символическими ссылками, которые существуют в каталоге /dev, такими как /dev/mouse, которые udev больше не создаёт. Обязательно проверьте настройку графического сервера X и посмотрите секцию Device, указывает ли там строка настройки на существующий файл устройства.

Другая проблема заключается в различном именовании терминалов между devfs и udev. Если в devfs терминалы называются tty, то в udev они называются vc. Это может привести к проблемам если возможность входа root с консоли ограничивается с помощью /etc/securetty. Чтобы обеспечить возможность входа root с консоли, нужно обязательно изменить tty1 на vc/1 в /etc/securetty.

3.5. Другие проблемы

Если файлы устройств не создаются, когда соответствующий модуль загружается из /etc/modules.autoload.d/kernel-2.6, но появляются когда вы загружаете этот модуль вручную при помощи modprobe, тогда вам стоит произвести обновление до sys-apps/baselayout-1.8.12 или более поздней версии.

Поддержка устройств кадрового буфера (/dev/fb/*) включена в ядро с версии 2.6.6-rc2.

В ядрах старше, чем 2.6.4, вам следует явно включить поддержку для файловой системы /dev/pts.

Листинг 13. Включение поддержки файловой системы /dev/pts

File systems --->
  Pseudo filesystems --->
    [*] /dev/pts file system for Unix98 PTYs


Пред.: Как использовать udev в GentooВ началоУровень выше: Руководство по udev в GentooСлед.: Ссылки на ресурсы и благодарности
В началоРуководство по udev в Gentoo → Известные проблемы