Los controladores de dispositivo de cargas Linux kernel y es el núcleo del sistema operativo en todas las versiones de Linux. Los controladores de dispositivos se cargan automáticamente por el hardware soportado en la mayoría de las distribuciones basadas en RPM y apt. Si el hardware no se carga automáticamente y el fabricante proporciona un controlador de dispositivo, puede instalarlo manualmente. módulos compilados pueden ser cargados y se añaden a la configuración del núcleo inmediatamente. El código fuente debe primero compilar utilizando las cabeceras del núcleo o el código fuente completo.
Instrucciones
Compilación de un módulo
1 Descargar el código fuente para el módulo del núcleo.
2 Escriba el siguiente comando en una ventana de terminal para instalar las cabeceras del núcleo:
distribuciones basadas en RPM: su -c 'yum install kernel-devel'
distribuciones basadas APT: sudo apt-get install linux-headers - $ (uname -r)
Utilice el comando correcto para su versión de Linux. Asegúrese de escribir los comandos tal y como se muestra, incluyendo las comillas simples.
3 Escriba el siguiente comando para cambiar al directorio del código fuente:
cd / home / miusuario / modulecode
Cambiar "/ home / miusuario / modulecode" a la ubicación del código fuente del módulo.
4 Escriba el comando siguiente para crear un "makefile:"
vi Makefile
Esto abre el editor de texto vi y crea el archivo MAKE. La "marca" comando utiliza el Makefile para compilar el módulo.
5 Introduzca los siguientes seis líneas de código en el editor de texto:
obj-m = mymodule.o
KVERSION = $ (shell uname -r)
todas:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
limpiar:
make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean
Reemplazar "mimodulo" con el nombre del módulo que se está compilando. Guarde el archivo y salir de vi.
6 Escriba el siguiente comando para compilar el módulo:
hacer
7 Escriba los siguientes comandos para cargar y descargar el módulo:
Carga: su -c 'mymodule.ko insmod'
Descargar: su -c 'mimodulo rmmod'
Reemplazar "mimodulo" con el nombre del módulo que está siendo cargado o descargado.
Cargando los módulos automáticamente al arrancar
8 Escriba el siguiente comando en una ventana de terminal:
su -c 'mkdir -p / lib / modules / $ (uname -r) / kernel / drivers / mimodulo'
Reemplazar "mimodulo" con el nombre del módulo. Este comando crea un directorio para almacenar el módulo.
9 Escriba el siguiente comando para copiar el módulo en el nuevo directorio:
su -c 'cp /modulepath/mymodule.ko / lib / modules / $ (uname -r) / kernel / drivers / mimodulo /'
Reemplazar "modulepath" y "mimodulo" con la ruta y el nombre correcto del módulo.
10 Escriba el siguiente comando:
su -c 'vi / etc / modules'
Este comando abre el archivo de configuración del módulo de todo el sistema para la edición.
11 Añadir lo siguiente al final del archivo:
mimodulo
Reemplazar "mimodulo" con el nombre del módulo. Cierre y guarde el archivo. Los cambios tendrán efecto la próxima vez que el sistema se reinicia. Ya no será necesario para cargar y descargar el módulo manualmente.