¿Quién crea /dev/net/tun?

¿Quién crea /dev/net/tun?

Estoy intentando crear una imagen personalizada para beaglebone. Una de las funciones está habilitada openvpn. El problema es que en el primer arranque no hay ningún archivo /dev/net/tun a pesar de que lo he creado mientras creaba rootfs con:

mkdir -p /dev/net
chroot rootfs/ mknod /dev/net/tun c 10 200
chmod 600 /dev/net/tun

Si lo creo de la misma manera, el archivo del sistema beaglbone persiste y openvpn funciona. Entonces, ¿quién es responsable de mantener este archivo y cómo hacer que el sistema lo cree automáticamente, excepto si utiliza el servicio systemd personalizado?

¡Gracias!

Respuesta1

El contenido de /dev en su rootfs no se usa para nada en absoluto. Durante el arranque temprano, undevtmpfsEl sistema de archivos virtual se monta en /dev y hace que el contenido anterior sea invisible, como cualquier otro sistema de archivos montado. Después de este punto, los únicos archivos visibles en /dev son a) creados por el propio kernel, ob) creados por un servicio durante cada proceso de arranque.

En los núcleos modulares (donde "tun" es un módulo), ciertos nodos de dispositivos se crean previamente mediante una combinación de kmod-static-nodes.servicey systemd-tmpfiles-setup-dev.service:

  1. kmod-static-nodes lee /lib/modules y genera una lista de nodos de dispositivos para crear previamente;
  2. systemd-tmpfiles los crea como parte de su procesamiento "tmpfiles.d".

información relacionada