Cómo compilar el controlador de dispositivo Linux para la máquina de destino
apt-get install build-essential
El código fuente de Linux puede instalarse a través de los siguientes comandos: Obténgalo de esta manera:
Después de descomprimir el código fuente en el directorio /usr/src/, vaya al directorio linux-source- (número de versión) y ejecute lo siguiente comando:
make oldconfig
make prepare
crea scripts
Visita directamente www.kernel.org para descargar
Descargue el código fuente a través de la herramienta de administración de paquetes de software, en Debian y Ubuntu, puede descargarlo a través del siguiente comando:
apt-get install linux-source- (número de versión descargada). El archivo está en el directorio /usr/src. Descomprímalo en este directorio
Escriba un controlador de Linux, tomando el hello.c más simple como ejemplo.
c, por ejemplo, el contenido de hello.c es el siguiente:
#include "linux/init.h"
#include "linux/module.h"
static int hola _init(void)
{
printk(KERN_ALERT "Hola mundo linux_driver_module\n");
devuelve 0; p>
}
static void hello_exit( void)
{
printk(KERN_ALERT "Adiós linux_driver_module\n");
}
module_init(hola_init);
module_exit( hola_salida);
MODULE_LICENSE("GPL");
MODULE_AUTHOR( "lpj") ;
Escriba un Makefile. El ejemplo es el siguiente y los parámetros se modifican según la situación real:
Ejemplo del módulo #Driver
KDIR = /usr/src/linux-source-2.6.24/
todos:
$(MAKE ) -C $(KDIR) M =$(PWD)
./p>
Borrar:
rm -f *.mod.c *. mod.o *.ko *. o *.tmp_versions
Para compilar, ejecute make en el directorio donde se encuentran hello.c y Makefile. Una vez completada la compilación, se genera el archivo hello.ko. directorio actual
Carga y prueba: Para cargar el Kernel, utilice el comando insmod o modprobe, por ejemplo, ejecute el siguiente código en la ruta actual:
insmod hello.ko o modprobe hello
Tenga en cuenta que si el kernel está cargado en una terminal virtual, no podrá ver la impresión del kernel porque la información impresa del kernel no se envía a la terminal virtual, sino a /proc/kbm/kbm/kbm. La información impresa del kernel no se enviará a la terminal virtual, sino al archivo /proc/kmsg, por lo que puede ver la información del kernel de la siguiente manera:
cat /proc/kmsg continuará imprimiéndose, necesita usar Ctrl-C para finalizarlo manualmente
dmesg o dmesg | tail -N, N es un número, muestra las últimas N líneas
Desinstalar: usa rmesg o modprobe hola
p>
Desinstalar: use rmesg o modprobe hola.
Desinstalar: utilice el comando rmmod para desinstalar el módulo del controlador, como rmmod hello.