%general-entities; ]> Подготовка виртуальных файловых систем ядра /dev/* Приложения, работающие в пользовательском пространстве, используют различные файловые системы, созданные ядром, для взаимодействия с самим ядром. Эти файловые системы являются виртуальными: для них не используется дисковое пространство. Содержимое файловых систем находится в памяти. Эти файловые системы должны быть смонтированы в дереве каталогов $LFS, чтобы приложения могли найти их в среде chroot. Начните с создания каталогов, в которые будут смонтированы эти виртуальные файловые системы: mkdir -pv $LFS/{dev,proc,sys,run} Монтирование и заполнение /dev Во время обычной загрузки ядро автоматически монтирует файловую систему devtmpfs в каталог /dev; ядро создает узлы устройств в этой виртуальной файловой системе в процессе загрузки или при первом обнаружении устройства, или доступе к нему. Демон udev может изменять владельца или разрешения узлов устройств, созданных ядром, или создавать новые узлы устройств или символические ссылки, чтобы облегчить работу разработчиков дистрибутива или системных администраторов. (Подробности смотрите в .) Если ядро хоста поддерживает &devtmpfs;, мы можем просто смонтировать &devtmpfs; в $LFS/dev и положиться на ядро для его заполнения. Но в некоторых ядрах хоста отсутствует поддержка &devtmpfs;, эти хост-дистрибутивы используют разные методы для создания содержимого /dev. Таким образом, единственный независимый от хоста способ заполнить каталог $LFS/dev - это привязка к каталогу /dev хост-системы. Связное монтирование - это особый тип монтирования, который делает дерево каталога или файл видимым в каком-либо другом месте. Для этого используйте следующую команду: mount -v --bind /dev $LFS/dev Монтирование виртуальных файловых систем ядра Теперь смонтируйте оставшиеся виртуальные файловые системы: mount -v --bind /dev/pts $LFS/dev/pts mount -vt proc proc $LFS/proc mount -vt sysfs sysfs $LFS/sys mount -vt tmpfs tmpfs $LFS/run В некоторых хост-системах /dev/shm является символической ссылкой на /run/shm. /run tmpfs был смонтирован выше, поэтому нужно создать только каталог. В других хост-системах /dev/shm является точкой монтирования для tmpfs. В этом случае монтирование /dev приведет только к созданию /dev/shm как каталога в среде chroot. В этой ситуации мы должны явно смонтировать tmpfs: if [ -h $LFS/dev/shm ]; then (cd $LFS/dev; mkdir $(readlink shm)) else mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm fi