Problema de uso de la tercera edición del controlador de dispositivo Linux

  
 

Cuando vi el controlador del dispositivo Linux, descargué el controlador que venía con el libro. Siempre quise usar el comando gcc en lugar del archivo make para compilar el controlador. La primera vez que utilicé gcc para compilar el problema, el siguiente es el problema:

Comenzando a usar este comando:

$ gcc -O2 -DMODULE -D__KERNEL__ -c test.c

No, hay tantos errores, no debería haber ninguna biblioteca conectada al kernel. Archivo, luego uso el makefile incluido, de todos modos, siempre que make, hay un problema, el siguiente es el problema:

make es el programa debajo de la carpeta scull, el mensaje de error es:

[root @ azuo scull] # make

make -C /lib/modules/2.6.15-1.2054_FC5/build M = /myfile /examples /scull LDDINC = /myfile /examples /scull /../include módulos

make: *** /lib/modules/2.6.15-1.2054_FC5/build: No existe tal archivo o directorio. Para

make: *** [modules] Error 2

Fui a la ruta /lib/modules/2.6.15-1.2054_FC5 y verifiqué el archivo de compilación, pero el enlace es incorrecto. , Verifiqué las propiedades de la compilación, su destino de enlace es /usr/src/kernels/2.6.15-1.2054_FC5-i686, iré a /usr /src para ver, realmente no hay /kernels/2.6.15-1.2054_FC5 -i686, algunos redhat esta carpeta, hay varias carpetas, BUILD, RPMS, SPECS, SOURCES, SRPMS. Y está vacío por dentro.

Manejé esto, directamente bajo una versión del kernel de 2.6.20, y luego extraigo a /usr /src hay una carpeta llamada linux2.6.20, ingrese directamente, comience a compilar el kernel, específicamente cómo Compile una referencia a mi artículo llamado compilar el kernel.

Una vez completado, vaya a /lib/modules/2.6.15-1.2054_FC5/build. A continuación, puede ver que el archivo de compilación no es una conexión incorrecta, sino una conexión de carpeta, supongo que debería ser Casi

Con apoyo psicológico, ve directamente a la carpeta de scull y ve a hacerla, y puedes pasarla. No hay problema. Puedes ver el proceso de creación en el interior y decir la longevidad de scull.ko y otras cosas. De hecho, este es el archivo ejecutable del controlador.

Según el autor de LDD3, insmod scull.ko

puede pasar, pero no hay respuesta. No aparecieron esas declaraciones para ser impresas, realmente no puedo entenderlo, no puedo ver LDD3, mi versión en inglés, que es un documento electrónico, hay en la introducción del primer controlador, cómo compilar y cómo Vea los resultados, dijo que si usa el terminal de control de texto, puede ver, si usa el control en xwindow no puede ver, tiene que mirar dentro de /var /log /messages, estoy en dos Se pueden ver los módulos compilados y cargados en su interior. Hehe logró compartirlo.

Hay otro problema, ya que si el archivo make del autor es universal, eh, eh, solo cambia el nombre de la o después del obj, hice esto.

De hecho, no tiene que actualizar y compilar el kernel. Puede descargar el paquete correspondiente de rpm del kernel, porque el paquete de desarrollo del kernel no está instalado cuando el sistema está instalado. Descargue un kernel-devel-2.6.15-1.2054_FC5.i686.rpm.

Descargar desde Internet:

http://download.fedora.redhat.com/pub/fedora/linux/core/5/i386/os/Fedora/RPMS/kernel-devel- 2.6.15-1.2054_FC5.i686.rpm

También debe haber en el CD de instalación.

Pero esto he compilado el kernel para saber, y puedo resolver el problema sin saberlo.

Oh, vamos! ! !

Copyright © Conocimiento de Windows All Rights Reserved