mecanismo hotplug_uevent en Linux (mecanismo de conexión en caliente)

Mirando hacia atrás al conductor que escribimos antes

Solo mira uno


¿Por qué crear una clase? ¿Por qué crear un dispositivo en la clase?

Para que mdev cree nodos de dispositivos basados ​​en esta información

Echemos un vistazo a por qué device_create puede hacer que mdev cree nodos de dispositivo


Luego ingrese este device_create_vargs


Luego veremos la función clave device_register


Luego ingrese device_add

También ingrese la función clave

kobjece_uevent esta función


Entrar en esta función

Paso a paso

Luego también encuentra la función clave


Aquí el puntero de action_string apunta a "agregar"


Entonces en


Primero asigne un búfer para las variables de entorno


Luego establezca la variable de entorno

¿Qué son las variables de entorno?

Ingrese env en su placa de desarrollo


Estas son variables de entorno

Esta variable de entorno es nuestro programa de shell, que es la variable de entorno del programa de shell que ejecuta el programa de acuerdo con nuestra entrada.

ps mira


Esta es la variable de entorno

Cada aplicación tiene variables de entorno


Si esta variable tiene datos, call_usermodehelper

Que es esto

La aplicación que llama, qué es esta aplicación, como mdev Suponga argv [0] = uevent_helper = mdev

Invocar el asistente de modo de usuario es crear un proceso, pasar la transmisión y las variables de entorno. La aplicación creará nodos de dispositivo basados ​​en esta variable de entorno.


Imprimamos y veamos si esto es igual a mdev

Modifique el código de la siguiente manera



Luego recompile el kernel para quemar

Entonces instalamos un conductor

La información de salida es la siguiente (debido a que ahora no hay red, solo se puede cortar la imagen de wds)

Entonces obtendrás

Creará nodos de dispositivos basados ​​en esta información

Luego analice busybox mdev_main ()



¿Qué significa mdev -s si no es mdev -s?

Escanea, cuando empezamos

Nosotros cat /etc/init.d/rcS



Aquí está mdev -s


Escanee el directorio / sys y genere este directorio. Cuando se inicie el sistema, cree el dispositivo según la información de este

No somos este


Obtener variables de entorno

acción = agregar


Nuestro aquí es OP_add

Entonces ingrese el siguiente make_device


En esta función, miramos los principales


Crear nodo de dispositivo aquí

Veamos cómo se crea node_name

Supongo que te gusta

Origin blog.csdn.net/qq_26690505/article/details/79300614
Recomendado
Clasificación