From 2203e654b389586650d553251b04544a34f189bf Mon Sep 17 00:00:00 2001 From: Sn4il Date: Mon, 2 Sep 2024 15:54:35 +0300 Subject: LFS 12.2 --- lfs-12.1-sysv/chapter08/udev.html | 406 -------------------------------------- 1 file changed, 406 deletions(-) delete mode 100644 lfs-12.1-sysv/chapter08/udev.html (limited to 'lfs-12.1-sysv/chapter08/udev.html') diff --git a/lfs-12.1-sysv/chapter08/udev.html b/lfs-12.1-sysv/chapter08/udev.html deleted file mode 100644 index fff3127..0000000 --- a/lfs-12.1-sysv/chapter08/udev.html +++ /dev/null @@ -1,406 +0,0 @@ - - - - - - 8.75. Udev из Systemd-255 - - - - - - - - -

- 8.75. Udev из - Systemd-255 -

-
-
-

- Пакет Udev содержит программы для динамического создания узлов - устройств. -

-
-
-
- Приблизительное время сборки: - 0.2 SBU -
-
- Требуемое дисковое - пространство: 144 MB -
-
-
-
-
-

- 8.75.1. Установка пакета Udev -

-

- Udev является частью пакета systemd-255. Используйте файл - systemd-255.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 helpers и сохраните его в - переменной (экспортировать его не обязательно, но это упрощает - сборку от имени обычного пользователя или при использовании - менеджера пакетов): -

-
export udev_helpers=$(grep "'name' :" ../src/udev/meson.build | \
-                      awk '{print $3}' | tr -d ",'" | grep -v 'udevadm')
-

- Соберите только компоненты, необходимые для udev: -

-
ninja udevadm systemd-hwdb \
-      $(ninja -n | grep -Eo '(src/(lib)?udev|rules.d|hwdb.d)/[^ ]*') \
-      $(realpath libudev.so --relative-to .)                         \
-      $udev_helpers
-

- Установите пакет: -

-
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 $udev_helpers                       /usr/lib/udev
-install -vm644 ../network/99-default.link          /usr/lib/udev/network
-

- Установите некоторые пользовательские правила и вспомогательные - файлы, полезные в среде LFS: -

-
tar -xvf ../../udev-lfs-20230818.tar.xz
-make -f udev-lfs-20230818/Makefile.lfs install
-

- Установите справочные страницы: -

-
tar -xf ../../systemd-man-pages-255.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_helpers: -

-
unset udev_helpers
-
-
-

- 8.75.2. Настройка Udev -

-

- Информация об аппаратных устройствах хранится в каталогах - /etc/udev/hwdb.d и /usr/lib/udev/hwdb.d. Udev необходимо, чтобы эта информация была - скомпилирована в двоичную базу данных /etc/udev/hwdb.bin. Создайте исходную базу - данных: -

-
udev-hwdb update
-

- Эту команду необходимо запускать каждый раз при обновлении - информации об оборудовании. -

-
-
-

- 8.75.3. Содержимое - пакета Udev -

-
-
-
- Установленные программы: - udevadm, udevd (символическая ссылка на - udevadm) и udev-hwdb -
-
- Установленные библиотеки: - libudev.so -
-
- Созданные каталоги: - /etc/udev и /usr/lib/udev -
-
-
-
-

- Short Descriptions -

- - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- udevadm -

-
-

- Универсальный инструмент администрирования udev: - управляет демоном udevd, предоставляет информацию из базы - данных Udev, отслеживает uevents, ожидает завершения - uevents, проверяет конфигурацию Udev и запускает uevents - для данного устройства -

-
-

- udevd -

-
-

- Демон, который прослушивает uevents в сокете netlink, - создает устройства и запускает настроенные внешние - программы в ответ на эти uevents -

-
-

- udev-hwdb -

-
-

- Обновляет или запрашивает базу данных оборудования -

-
-

- libudev -

-
-

- Библиотека для получения информации об устройствах udev -

-
-

- /etc/udev -

-
-

- Содержит файлы конфигурации Udev, разрешения для - устройств и правила именования устройств -

-
-
-
-
- - - -- cgit v1.2.3