¿Qué es mdev y cómo se crean los nodos / dev / * en Linux?


11

Nuestro kernel de Linux es 2.6.31 ejecutándose en un procesador MIPS integrado con busybox.

El script de inicialización (rcS) comienza mdev con:

echo "/sbin/stbhotplug" > /proc/sys/kernel/hotplug
mdev -s

¿Alguien puede decirme qué hace la utilidad mdev de Linux?

Parece que se conecta automáticamente en caliente ya que stbhotplug es un script que maneja interfaces ethernet.

Además, el rootfs que se nos ha dado solo tiene un dispositivo de consola, /dev/consolees decir, es el único archivo en /dev.

Sin embargo, cuando el sistema se está ejecutando, el /devdirectorio está lleno de archivos del dispositivo (por ejemplo /dev/mtd, etc.).

La razón por la que pregunto es que ocasionalmente recibimos un error por el cual se informa que /dev/ubi_ctrlno se encuentra o /dev/ubi1no se encuentra.

¿Cómo o cuándo Linux crea estos dispositivos?

Gracias.

Respuestas:



6

mdev es una alternativa ligera a udev para su uso en dispositivos integrados. Ambos manejan la creación de archivos de dispositivos /devy el inicio de acciones cuando ocurren ciertos eventos.


Entonces, si los /devdispositivos no se están creando, ¿podría ser un problema mdevo un problema de tiempo?

Sí, por lo que yo entiendo, ambas podrían ser ciertas. Pero solo escribí la respuesta porque ayer había leído sobre mdev en un artículo de noticias. En general, no tengo experiencia con él y no puedo brindar más ayuda. Es por eso que publiqué mi respuesta como un comienzo para una respuesta wiki comunitaria.

1

mdevbásicamente requiere mknodun conjunto de archivos de dispositivo preconfigurados.

Si tiene una opción, use en su lugar:

CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y

que monta automáticamente el sistema de archivos devtmpfs especial /devy permite que los módulos creen automáticamente sus propios archivos de dispositivo insmod, como se muestra en: /programming/5970595/how-to-create-a-device-node-from -the-init-module-code-of-a-linux-kernel-module / 45531867 # 45531867

Esto es lo que Buildroot y la mayoría de las distribuciones hacen actualmente de forma predeterminada.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.