Según lo que he leído, el propósito de depmod es rastrear las dependencias de cada módulo kernel para cuando se carga. ¿Por qué no puede esto simplemente determinarse automáticamente cuando se carga el módulo kernel, similar a cargar dinámicamente una biblioteca compartida de espacio de usuario?¿Por qué es necesario Depmod para construir y trabajar con módulos kernel?
Respuesta
depmod hace algo más que calcular dependencias directas, sino que también crea una asignación entre los identificadores de hardware y los módulos que los manejan. Esto se usa para encontrar el módulo correcto para cargar para una pieza de hardware detectada.
En cuanto a por qué no funciona la carga de la demanda como lo hace el espacio de usuario, parte de esto se debe a que el kernel linker no puede acceder al sistema de archivos, por diseño. La filosofía en el kernel es que el diseño del sistema de archivos depende completamente del espacio de usuario, por lo que no hay garantía de que foo.ko
se encuentre en /lib/modules/3.0.1/drivers/somesubsys/foo.ko
. Como tal, el kernel se basa en las utilidades del espacio de usuario (como depmod y modprobe) para pasarle los datos brutos para sus módulos, en el orden en que los necesita cargar; si el espacio de usuario falla en este trabajo, simplemente devuelve un error y deja que el espacio de usuario se ocupe del problema.
- 1. ¿Por qué es necesario SSLCertificateKeyFile para Apache?
- 2. lo que es Contexto Android y por qué es necesario
- 3. ¿Por qué es necesario el método DataBind()?
- 4. Debug-info para módulos de kernel cargables
- 5. vhost.exe. ¿Por qué es eso necesario?
- 6. ¿Por qué es necesario el botón guardar?
- 7. ¿Por qué session_ destroy() es necesario?
- 8. C - ¿Por qué strcpy() es necesario?
- 9. ¿Por qué es necesario un segundo cin.ignore()?
- 10. Python: ¿Por qué es necesario functools.partial?
- 11. ¿Cómo distribuir módulos kernel usando un RPM?
- 12. Como hacer un módulo kernel de Linux depende de otro módulo externo con depmod?
- 13. ¿Por qué es necesario cerrar File.Create?
- 14. ¿Por qué es necesario "-std = C++ 0x" para g ++ 4.6.2?
- 15. Técnicas para construir módulos Drupal rápidamente?
- 16. C#, Ninject: ¿Dónde colocas el kernel y tus módulos?
- 17. ¿Cómo construir solo los módulos requeridos?
- 18. ¿Por qué usar '*' para construir una vista es malo?
- 19. ¿Qué idiomas y bibliotecas debo usar para trabajar con Gmail?
- 20. Cómo recargar los módulos kernel modificados
- 21. ¿Qué es un hilo Kernel?
- 22. ¿Qué funciones faltan en los módulos Emacs existentes para trabajar con git?
- 23. ¿Por qué es necesario marcar una clase como serializable?
- 24. ¿Por qué ya no es necesario indicar ByVal/ByRef?
- 25. Inserte y elimine mediante programación módulos kernel en C
- 26. por qué es mejor para convertir hashset a TreeSet luego trabajar directamente con TreeSet
- 27. ¿Cómo construir maven parent y seleccionar la cantidad de módulos?
- 28. ¿Por qué session_start es necesario cuando se usa la sesión?
- 29. ¿Por qué Object incluye Kernel y lo hereda en Ruby?
- 30. jQuery 1.7 .on() método, ¿por qué es necesario?
pero luego, modprobe podría encargarse de resolver las dependencias de la información en el módulo y probar primero los módulos dependientes correspondientes, ¿no es así? – PypeBros
depmod construye un caché de esta información de dependencia para el uso de modprobe. en realidad, escanear todos los módulos para obtener esta información puede llevar bastante tiempo, por lo que no querrás hacerlo cada vez que llames a modprobe – bdonlan