2010-07-26 5 views
3

J'ai besoin de convertir un pilote Linux en android. quelqu'un peut-il m'aider avec le twiking kernel? y a-t-il un changement au fichier Make du pilote? où obtenir les fichiers sources du noyau? puis-je utiliser insmod/mknod dans adb shell pour charger le pilote dynamiquement?compiler un pilote

tout soupçon sera accueilli ...

noam

Répondre

0

Beaucoup de questions ...

Oui, vous avez besoin de modifier les fichiers makefile dans le noyau. Par exemple, si la source de votre pilote est dans drivers/net, vous devrez y changer le Makefile afin qu'il génère vos sources.

Vous devrez également ajouter une nouvelle option de configuration dans le fichier Kconfig afin que le processus de construction sache s'il doit générer vos sources, s'il doit être construit en tant que module, etc. Vous devrez exécuter 'make oldconfig' ou similaire pour inclure votre nouvelle option dans le noyau .config.

Les sources du noyau sont disponibles de la même manière que les sources Android (voir http://source.android.com); vous devez ajouter un .repo/fichier local_manifest.xml tels que:

<?xml version="1.0" encoding="UTF-8"?> 
<manifest> 
<project path="kernel" name="kernel/omap" 
revision="refs/heads/android-omap-2.6.29"/> 
</manifest> 

Et oui, si vous construisez votre pilote en tant que module, vous pouvez utiliser insmod/rmmod pour insérer/retirer d'un noyau en cours d'exécution.

HTH!