Question

J'essaie de suivre un tutoriel pour créer un pilote USB personnalisé sous Linux et j'espère pouvoir développer cette chose sur mon Eee PC avec Ubuntu Eee en utilisant g ++. Malheureusement, pour suivre le tutoriel, j'ai besoin du fichier d'en-tête linux / module.h. D'après ce que j'ai compris, il faudra compiler le noyau pour que cela fonctionne. Je n’ai jamais compilé de noyau auparavant et toutes les instructions que je trouve sont destinées au bureau Ubuntu.

Je le fais sur mon Eee car j'obtiendrai un crédit supplémentaire dans une classe si je peux le faire et l'utiliser dans un projet de classe.

Les tutoriels que je suis ici se trouvent ici: http://www.linuxjournal.com/article/ 7353 et ici: http://www.linuxjournal.com/article/4786

Était-ce utile?

La solution

La plupart (toutes?) des principales distributions Linux distribuent non seulement le noyau Linux, mais lui appliquent également de nombreux correctifs. Améliorant ainsi la stabilité et ajoutant de nombreuses fonctionnalités. Vous voudrez donc utiliser le système de paquets d'Ubuntu pour récupérer la source du noyau corrigée d'Ubuntu!

Vous n'avez probablement pas PAS besoin de reconstruire le noyau! Il vous suffit probablement du paquet kernel-headers pour que votre noyau actuel puisse compiler votre pilote USB. En supposant que vous le construisiez comme un module de noyau, vous pouvez alors le charger avec modprobe ou insmod. (lsmod & et rmmod sont également utiles.)

Si vous avez besoin de reconstruire le noyau, eh bien, c'est facile. ( Si facile, j'utilise des versions du noyau pour tester mon matériel.) Il y a beaucoup de HOWTO sur la construction de noyaux sur le Web. Vous vous amusez beaucoup en essayant de déterminer quelles options vous voulez en tant que modules, ce que vous voulez compiler et ce que vous voulez omettre. Vous pouvez réduire la taille du noyau, mais certaines de ces choses pourraient vous échapper.

Modifié pour ajouter:

  
    

Je me souviens de faire & "sudo apt-get install linux-headers-eeepc, &"; ai-je besoin de plus que cela? Sinon, où se trouvent ces en-têtes, car mon code de test incluant & "; Linux / module.h &"; ne compile pas

  

Il devrait être un moyen de répertorier tous les fichiers dans ce paquet linux-headers-eeepc. Je viens du monde RedHat / RPM. Mais je suppose que quelque chose comme dpkg --contents linux-headers -eeepc ou dpkg - -listfiles linux-headers-eeepc . Vous devrez peut-être jouer avec cela un peu.

Sinon, http://packages.ubuntu.com/ , des packages tels que linux-headers -2.6.27-7 contient le fichier /usr/src/linux-headers-2.6.27-7/include/linux/module.h. Vous voudrez peut-être simplement regarder dans / usr / src / * / include / linux / module.h.

Vous pouvez également essayer:

% recherchez linux / module.h | grep 'linux / module.h $'

Ou

% recherchez / -path '* / linux / module.h'

(Cette recherche peut prendre un certain temps ...)

Autres conseils

À partir d'ici: Noyau / Compiler Ubuntu Commencer: sudo apt-get installez linux-kernel-devel fakeroot build-essential makedumpfile

Vous venez probablement de lire ce lien .

De plus amples détails ici

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