Question

Je suis totalement novice dans la compilation de pilotes pour Linux et j'ai eu quelques problèmes!

J'essaie de compiler un pilote pour un périphérique USB.

Résultat:


[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

Je ne sais pas ce qui ne va pas ???

Était-ce utile?

La solution

Généralement, quelque chose comme:

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

est suffisant.

Votre pilote est-il arrivé avec un fichier makefile? Compilez-vous avec les sources de noyau appropriées, la bonne version, par exemple?

Autres conseils

Je pense que le problème est dû à l'espace dans le chemin d'accès à votre répertoire de construction.

/ home / thayoz / Bureau / dossier sans titre / Quantis-USB ...

Notez l'espace dans le "dossier sans titre".

On dirait que make prend le répertoire du module comme suit:

/ home / thayoz / Desktop / sans titre

Et:

dossier / Quantis-USB / src / linux / driver

est en train de passer comme argument supplémentaire (probablement une cible à construire).

Essayez de renommer "/ home / thayoz / Desktop / untitled folder" en "/ home / thayoz / Desktop / untitledfolder" et voyez ce qui se passe.

Je comprends la procédure générale pour créer un logiciel fourni avec le système de construction GNU:

  1. Exécutez le script .configure. Ce script vérifie l'environnement de construction sur votre système, s'assurant que tous les exécutables, bibliothèques, etc. requis sont disponibles et crée un fichier Make fonctionnel.
  2. Run make. Ceci utilise le Makefile généré à l'étape 1 pour construire le binaire.
  3. Exécutez make install. Cela installe le binaire dans le bon emplacement sur le système.

Système de construction GNU

Avez-vous exécuté le script .configure fourni avec le package de pilotes?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top