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/chapter07/kernfs.html | 207 ------------------------------------ 1 file changed, 207 deletions(-) delete mode 100644 lfs-12.1-sysv/chapter07/kernfs.html (limited to 'lfs-12.1-sysv/chapter07/kernfs.html') diff --git a/lfs-12.1-sysv/chapter07/kernfs.html b/lfs-12.1-sysv/chapter07/kernfs.html deleted file mode 100644 index f30a70e..0000000 --- a/lfs-12.1-sysv/chapter07/kernfs.html +++ /dev/null @@ -1,207 +0,0 @@ - - - - - - 7.3. Подготовка виртуальных файловых систем ядра - - - - - - - - -

- 7.3. Подготовка - виртуальных файловых систем ядра -

-
-

- Приложения, работающие в пользовательском пространстве, используют - различные файловые системы, созданные ядром, для взаимодействия с - самим ядром. Эти файловые системы являются виртуальными: для них не - используется дисковое пространство. Содержимое файловых систем - находится в памяти. Эти файловые системы должны быть смонтированы в - дереве каталогов $LFS, чтобы приложения могли найти их в среде - chroot. -

-

- Начните с создания каталогов, в которые будут смонтированы эти - виртуальные файловые системы: -

-
mkdir -pv $LFS/{dev,proc,sys,run}
-
-

- 7.3.1. - Монтирование и заполнение /dev -

-

- Во время обычной загрузки ядро автоматически монтирует файловую - систему devtmpfs в каталог - /dev; ядро создает узлы устройств в - этой виртуальной файловой системе в процессе загрузки или при - первом обнаружении устройства, или доступе к нему. Демон udev может - изменять владельца или разрешения узлов устройств, созданных ядром, - или создавать новые узлы устройств или символические ссылки, чтобы - облегчить работу разработчиков дистрибутива или системных - администраторов. (Подробности смотрите в Раздел 9.3.2.2, «Создание - узла устройства».) Если ядро хоста поддерживает devtmpfs, мы можем просто смонтировать - devtmpfs в $LFS/dev и положиться на ядро для его заполнения. -

-

- Но в некоторых ядрах хоста отсутствует поддержка devtmpfs, эти хост-дистрибутивы используют - разные методы для создания содержимого /dev. Таким образом, единственный независимый от - хоста способ заполнить каталог $LFS/dev - это привязка к каталогу /dev хост-системы. Связное монтирование - это - особый тип монтирования, который делает дерево каталога или файл - видимым в каком-либо другом месте. Для этого используйте следующую - команду: -

-
mount -v --bind /dev $LFS/dev
-
-
-

- 7.3.2. - Монтирование виртуальных файловых систем ядра -

-

- Теперь смонтируйте оставшиеся виртуальные файловые системы: -

-
mount -vt devpts devpts -o gid=5,mode=0620 $LFS/dev/pts
-mount -vt proc proc $LFS/proc
-mount -vt sysfs sysfs $LFS/sys
-mount -vt tmpfs tmpfs $LFS/run
-
-

- Значение параметров монтирования для devpts: -

-
-
- gid=5 -
-
-

- Этот параметр гарантирует, что все узлы устройств, созданные - devpts, принадлежат группе с идентификатором 5. Это - идентификатор, который мы будем использовать позже для группы - tty. Мы используем - идентификатор группы вместо имени, поскольку хост-система - может использовать другой идентификатор для своей группы - tty. -

-
-
- mode=0620 -
-
-

- Этот параметр гарантирует, что все узлы устройств, созданные - devpts, будут иметь права 0620 (доступен для чтения и записи - пользователем, доступен для записи группе). Вместе с - вышеуказанной опцией это гарантирует, что devpts создаст узлы - устройств, соответствующие требованиям grantpt(), а это - означает, что вспомогательный файл Glibc pt_chown (который не - установлен по умолчанию) не требуется. -

-
-
-
-

- В некоторых хост-системах /dev/shm - является символической ссылкой на каталог /run/shm. /run tmpfs был смонтирован выше, - поэтому сейчас необходимо только создать каталог с правильными - разрешениями. -

-

- В других хост-системах /dev/shm - является точкой монтирования для tmpfs. В этом случае монтирование - /dev приведет только к созданию /dev/shm как каталога в среде - chroot. В этой ситуации мы должны явно смонтировать tmpfs: -

-
if [ -h $LFS/dev/shm ]; then
-  install -v -d -m 1777 $LFS$(realpath /dev/shm)
-else
-  mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm
-fi
-
-
- - - -- cgit v1.2.3