Estoy construyendo busy-box e iptables para un dispositivo incrustado y una de las dependencias para ellos son los encabezados del kernel.
He buscado en todo el sistema de archivos archivos * .ko y no he encontrado ninguno. Así que concluí que las aplicaciones no están creando controladores cargables (módulos del núcleo).
¿Cuáles son otros casos para que una aplicación de espacio de usuario requiera encabezados de kernel?
linux
linux-kernel
kernel-modules
El Ingeniero Significante
fuente
fuente
include <linux/*.h>
que abrir un zócalo? (Estaba apuntando a sys / socket.h)Respuestas:
Debido a que esos programas están diseñados para usar cosas definidas en los encabezados del núcleo:
Para cada herramienta específica, necesitaría leer la fuente de la herramienta y el encabezado del núcleo correspondiente para averiguar exactamente qué.
Puede ver que se comentan algunas cosas para que sea más fácil.
Por ejemplo,
mkfs_vfat
incluyelinux/fd.h
obtenerFDGETPRM
:Probablemente podría eliminar el relevante
#include
y observar los errores del compilador para que sea más fácil, recibirá advertencias de que algunas cosas no están definidas. Esas cosas probablemente provienen de los encabezados del núcleo.fuente