Pregunta

¡Soy totalmente nuevo en la compilación de controladores para Linux y tengo algunos problemas!

Estoy intentando compilar un controlador para un dispositivo usb.

Resultado:


[thayoz@lacalpc13 linux]$ make
for i in driver lib qrng ; do cd $i && (make all || exit ) && cd ..; done
make[1]: Entering directory /home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver'
make -C /usr/src/kernels/ M=/home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver V=1 modules
make[2]: Entering directory/usr/src/kernels'
make[2]: * No rule to make target folder/Quantis-USB/src/linux/driver'.  Stop.
make[2]: Leaving directory/usr/src/kernels'
make[1]: * [all] Error 2
make[1]: Leaving directory `/home/thayoz/Desktop/untitled folder/Quantis-USB/src/linux/driver'
/bin/sh: line 0: cd: lib: No such file or directory
/bin/sh: line 0: cd: qrng: No such file or directory
make: *** [all] Error 1

No sé qué pasa ???

¿Fue útil?

Solución

Típicamente algo como:

make -C <directory to kernel source> M=<directory to module/driver source> modules
make -C <directory to kernel source> M=<directory to module/driver source> modules_install

es suficiente.

¿Tu conductor vino con un archivo MAKE? ¿Está compilando contra las fuentes de kernel adecuadas, la versión correcta, por ejemplo?

Otros consejos

Creo que el espacio en la ruta a su directorio de compilación podría estar causando el problema.

/ home / thayoz / Desktop / carpeta sin título / Quantis-USB ...

Observe el espacio en la 'carpeta sin título'.

Parece que make está tomando el directorio del módulo como:

/ home / thayoz / Desktop / sin título

Y:

carpeta / Quantis-USB / src / linux / driver

se pasa a hacer como argumento adicional (probablemente un objetivo a construir).

Intente cambiar el nombre de '/ home / thayoz / Desktop / untitled folder' a '/ home / thayoz / Desktop / untitledfolder' y vea qué sucede.

Mi comprensión del procedimiento general para construir una pieza de software empaquetada usando el sistema de compilación GNU es:

  1. Ejecute el script .configure. Este script verifica el entorno de compilación en su sistema, asegurando que todos los ejecutables necesarios, bibliotecas, etc. estén disponibles y crea un Makefile que funcione.
  2. Ejecuta make. Esto usa el Makefile generado en el paso 1 para construir el binario.
  3. Ejecute make install. Esto instala el binario en la ubicación correcta del sistema.

GNU Build System

¿Ha ejecutado el script .configure que vino con el paquete del controlador?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top