Pilote Compilation Redhat
-
22-07-2019 - |
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 ???
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:
- 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.
- Run make. Ceci utilise le Makefile généré à l'étape 1 pour construire le binaire.
- Exécutez make install. Cela installe le binaire dans le bon emplacement sur le système.
Avez-vous exécuté le script .configure fourni avec le package de pilotes?