%general-entities; ]> udev &systemd-version;
&systemd-url;
Udev из Systemd-&systemd-version; Udev <para>Пакет Udev содержит программы для динамического создания узлов устройств.</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&udev-fin-sbu;</seg> <seg>&udev-fin-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>Установка пакета Udev Udev является частью пакета systemd-&systemd-version;. Используйте файл systemd-&systemd-version;.tar.xz в качестве исходного архива. Удалите две ненужные группы render и sgx, из правил udev по умолчанию: sed -i -e 's/GROUP="render"/GROUP="video"/' \ -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in Удалите одно правило udev, требующее полной установки Systemd: sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in Измените жестко заданные пути к файлам конфигурации сети для автономной установки udev: sed '/NETWORK_DIRS/s/systemd/udev/' -i src/basic/path-lookup.h Подготовьте Udev к компиляции: mkdir -p build cd build meson setup \ --prefix=/usr \ --buildtype=release \ -Dmode=release \ -Ddev-kvm-mode=0660 \ -Dlink-udev-shared=false \ -Dlogind=false \ -Dvconsole=false \ .. Значение параметров meson: --buildtype=release Этот параметр переопределяет тип сборки по умолчанию (debug), который создает неоптимизированные двоичные файлы. -Dmode=release Отключает некоторые функции, которые разработчики считают экспериментальными. -Ddev-kvm-mode=0660 По умолчанию правило udev разрешает всем пользователям доступ к /dev/kvm. Редакторы LFS считают это опасным. Данная опция переопределяет разрешение по умолчанию. -Dlink-udev-shared=false Эта опция запрещает udev связываться с внутренней общей библиотекой systemd libsystemd-shared. Эта библиотека предназначена для совместного использования многими компонентами Systemd, и ее использование избыточно, когда установлен только udev. -Dlogind=false -Dvconsole=false Эти параметры предотвращают создание нескольких файлов правил udev, принадлежащих другим компонентам Systemd, которые мы не будем устанавливать. Соберите только компоненты, необходимые для udev: ninja udevadm systemd-hwdb \ $(ninja -n | grep -Eo '(src/(lib)?udev|rules.d|hwdb.d)/[^ ]*') \ $(realpath libudev.so --relative-to .) Установите пакет: install -vm755 -d {/usr/lib,/etc}/udev/{hwdb.d,rules.d,network} install -vm755 -d /usr/{lib,share}/pkgconfig install -vm755 udevadm /usr/bin/ install -vm755 systemd-hwdb /usr/bin/udev-hwdb ln -svfn ../bin/udevadm /usr/sbin/udevd cp -av libudev.so{,*[0-9]} /usr/lib/ install -vm644 ../src/libudev/libudev.h /usr/include/ install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/ install -vm644 src/udev/*.pc /usr/share/pkgconfig/ install -vm644 ../src/udev/udev.conf /etc/udev/ install -vm644 rules.d/* ../rules.d/README /usr/lib/udev/rules.d/ install -vm644 $(find ../rules.d/*.rules \ -not -name '*power-switch*') /usr/lib/udev/rules.d/ install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ install -vm755 $(find src/udev \ -type f -not -name '*.*') /usr/lib/udev install -vm644 ../network/99-default.link /usr/lib/udev/network Установите некоторые пользовательские правила и вспомогательные файлы, полезные в среде LFS: tar -xvf ../../&udev-lfs-version;.tar.xz make -f &udev-lfs-version;/Makefile.lfs install Установите справочные страницы: tar -xf ../../systemd-man-pages-&systemd-man-version;.tar.xz \ --no-same-owner --strip-components=1 \ -C /usr/share/man --wildcards '*/udev*' '*/libudev*' \ '*/systemd.link.5' \ '*/systemd-'{hwdb,udevd.service}.8 sed 's|systemd/network|udev/network|' \ /usr/share/man/man5/systemd.link.5 \ > /usr/share/man/man5/udev.link.5 sed 's/systemd\(\\\?-\)/udev\1/' /usr/share/man/man8/systemd-hwdb.8 \ > /usr/share/man/man8/udev-hwdb.8 sed 's|lib.*udevd|sbin/udevd|' \ /usr/share/man/man8/systemd-udevd.service.8 \ > /usr/share/man/man8/udevd.8 rm /usr/share/man/man*/systemd* Настройка Udev Udev configuring /etc/udev/hwdb.bin Информация об аппаратных устройствах хранится в каталогах /etc/udev/hwdb.d и /usr/lib/udev/hwdb.d. Udev необходимо, чтобы эта информация была скомпилирована в двоичную базу данных /etc/udev/hwdb.bin. Создайте исходную базу данных: udev-hwdb update Эту команду необходимо запускать каждый раз при обновлении информации об оборудовании. Содержимое пакета Udev Установленные программы Установленные библиотеки Созданные каталоги udevadm, udevd (символическая ссылка на udevadm) и udev-hwdb libudev.so /etc/udev и /usr/lib/udev Short Descriptions udevadm Универсальный инструмент администрирования udev: управляет демоном udevd, предоставляет информацию из базы данных Udev, отслеживает uevents, ожидает завершения uevents, проверяет конфигурацию Udev и запускает uevents для данного устройства udevadm udevd Демон, который прослушивает uevents в сокете netlink, создает устройства и запускает настроенные внешние программы в ответ на эти uevents udevd udev-hwdb Обновляет или запрашивает базу данных оборудования udev-hwdb libudev Библиотека для получения информации об устройствах udev libudev /etc/udev Содержит файлы конфигурации Udev, разрешения для устройств и правила именования устройств /etc/udev