Библиотека сайта rus-linux.net
6.8. Заполнение /dev
6.8.1. Создание первоначальных файлов устройств
Когда ядро загружает систему, оно требует наличия нескольких
файлов устройств, обычно это устройства console
и null
. Создадим их запуском следующих
команд:
mknod -m 600 /dev/console c 5 1 mknod -m 666 /dev/null c 1 3
6.8.2. Монтирование ramfs и заполнение /dev
Идеальный способ для заполнения /dev
- это
монтирование ramfs
в /dev
, как tmpfs
и
создавать там устройства при каждой загрузке. Поскольку система
не была загружена, это необходимо сделать, чтобы в противном случае
загрузочные скрипты могли выполниться и заполнить /dev
. Начнем с монтирования /dev
:
mount -n -t ramfs none /dev
Запустим установленную программу udevstart
для создания первоначальных устройств, основанных на всей информации в
директории /sys
:
/tools/sbin/udevstart
Есть несколько ссылок и директорий, необходимых для LFS, которые не создаются Udev, поэтому создадим их здесь:
ln -s /proc/self/fd /dev/fd ln -s /proc/self/fd/0 /dev/stdin ln -s /proc/self/fd/1 /dev/stdout ln -s /proc/self/fd/2 /dev/stderr ln -s /proc/kcore /dev/core mkdir /dev/pts mkdir /dev/shm
В конце подмонтируем собственные виртуальные файловые системы (ядра) в только что созданные директории:
mount -t devpts -o gid=4,mode=620 none /dev/pts mount -t tmpfs none /dev/shm
Команды mount, запущенные выше, могут выдать следующее предупреждение:
can't open /etc/fstab: No such file or directory.
Этот файл - /etc/fstab
- пока не был
создан, но он пока не нужен для нормального монтирования файловых
систем. Раз так, предупреждение может быть проигнорировано.