Как объясняется в разделе 7.9 "Управление устройствами и модулями в системе LFS", порядок, в котором устройства, имеющие одинаковые функции, появятся в /dev, по существу, является случайным. Например, если у вас есть USB веб-камера и ТВ-тюнер, то иногда /dev/video0 указывает на камеру, а /dev/video1 — на тюнер, а иногда после перезагрузки порядок изменяется на противоположный. Для всех классов аппаратных средств, кроме звуковых и сетевых карт, эту проблему можно скорректировать с помощью создания правил udev, которые будут создавать стабильные символические ссылки. Случай, относящийся к сетевым картам, рассматривается отдельно в разделе 7.13 "Конфигурирование скрипта network", а описание конфигурирования звуковых карт можно найти в BLFS.
Для каждого из ваших устройств, для которых, скорее всего, возможна эта проблема (даже если в текущем дистрибутиве Linux эта проблема отсутствует), найдите соответствующий директорий в /sys/class или в/sys/block. Для видеоустройств, это может быть /sys/class/video4linux/videoX. Найдите в атрибутах значения, которые однозначно определяют устройство (как правило, идентификаторы поставщика и изделия и / или серийные номера):
udevadm info -a -p /sys/class/video4linux/video0 Затем напишите правила, которые создают символические ссылки, например:
cat > /etc/udev/rules.d/83-duplicate_devs.rules << "EOF" # Persistent symlinks for webcam and tunerKERNEL=="video*", ATTRS{idProduct}=="1910", ATTRS{idVendor}=="0d81", \ SYMLINK+="webcam"KERNEL=="video*", ATTRS{device}=="0x036f", ATTRS{vendor}=="0x109e", \ SYMLINK+="tvtuner" EOF В результате этого, устройства /dev/video0 и /dev/video1 по-прежнему случайным образом указывают на тюнер и веб-камеру (и, следовательно, ими никогда не следует пользоваться непосредственно), но есть символические ссылки /dev/tvtuner и /dev/webcam, которые всегда указывают на правильное устройство.