Cómo compilar un controlador de dispositivo Linux

by admin

Cómo compilar un controlador de dispositivo Linux

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.

ETIQUETA: