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. Créalos 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 -n -t 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 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 -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

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

mount -t devpts -o gid=4,mode=620 none /dev/pts
mount -t 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.