6.8. Poblar /dev

6.8.1. Crear los nodos de dispositivo iniciales

Cuando el núcleo arranca el sistema necesita la presencia de ciertos nodos de dispositivo, en concreto los dispositivos console y null. Los dispositivos se crearán en el disco duro para que estén disponibles antes de que udev sea iniciado y, adicionalmente, cuando Linux es iniciado en modo de usuatio único (de aquí los permisos restrictivos en console). Crea los dispositivos ejecutando los siguientes comandos:

mknod -m 600 /dev/console c 5 1
mknod -m 666 /dev/null c 1 3

6.8.2. Montar tmpfs y poblar /dev

El método recomendado para poblar /dev con dispositivos es montar un sistema de ficheros virtual (como tmpfs) en /dev, y permitir que los dispositivos se creen dinámicamente en el sistema de ficheros virtual a medida que son detectados o accedidos. Esto se hace generalmente durante el proceso de arranque. Puesto que este nuevo sistema no ha sido arrancado, es necesario hacer lo que hubiesen hecho los guiones de arranque y montar /dev:

mount -nvt tmpfs none /dev

El paquete Udev es quien crea en realidad los dispositivos en el directorio /dev. Puesto que no se instalará hasta más adelante, crea manualmente el conjunto mínimo de nodos de dispositivo necesarios para completar la construcción de este sistema:

mknod -m 622 /dev/console c 5 1
mknod -m 666 /dev/null c 1 3
mknod -m 666 /dev/zero c 1 5
mknod -m 666 /dev/ptmx c 5 2
mknod -m 666 /dev/tty c 5 0
mknod -m 444 /dev/random c 1 8
mknod -m 444 /dev/urandom c 1 9
chown -v root:tty /dev/{console,ptmx,tty}

Ciertos enlaces simbólicos y directorios requeridos por LFS son creados durante el arranque por el paquete LFS-Bootscripts. Puesto que este es un entorno chroot y no un entorno iniciado, necesitamos crear aquí dichos enlaces y directorios:

ln -sv /proc/self/fd /dev/fd
ln -sv /proc/self/fd/0 /dev/stdin
ln -sv /proc/self/fd/1 /dev/stdout
ln -sv /proc/self/fd/2 /dev/stderr
ln -sv /proc/kcore /dev/core
mkdir -v /dev/pts
mkdir -v /dev/shm

Finalmente, monta los sistemas de ficheros virtuales (del núcleo) adecuados en los directorios recién creados:

mount -vt devpts -o gid=4,mode=620 none /dev/pts
mount -vt tmpfs none /dev/shm

El comando mount ejecutado arriba puede mostrar el siguiente aviso:

can't open /etc/fstab: No such file or directory

no puedo abrir /etc/fstab: No existe el fichero o directorio.

El fichero /etc/fstab no ha sido creado todavía, pero tampoco es necesario para que los sistemas de ficheros se monten correctamente. Por tanto, puedes ignorar el aviso con tranquilidad.