J'ai un module de noyau de travail que j'installe manuellement avec la commande insmod/modprobe comme appris en lisant le livre. Cependant, je me demandais s'il y avait moyen de le faire automatiquement après la compilation - Donc, fondamentalement, comment automatiser insmod/modprobe commande?pouvons-nous installer le module du noyau avec le fichier make
Mon modprobe a un fichier dépendant thread_module.o ainsi
Mon Makefile jusqu'à présent
obj-m := wakeup_counter.o
obj-m += thread_module.o
$INSTALL_MOD_PATH = /lib/modules/2.6.32-5-amd64/
all:
make -C /lib/modules/2.6.32-5-amd64/build M=$(PWD) modules
install:
make $(INSTALL_MOD_PATH) =/build modules_install
clean:
make -C /lib/modules/2.6.32-5-amd64/build M=$(PWD) modules
sortie après l'exécution: make install
[email protected]:/home/xyz/Desktop/Drivers/symbols# make install
make -C /lib/modules/2.6.32-5-amd64/build M=/home/xyz/Desktop/Drivers/symbols modules_install
make[1]: Entering directory `/usr/src/linux-headers-2.6.32-5-amd64'
INSTALL /home/xyz/Desktop/Drivers/symbols/thread_module.ko
INSTALL /home/xyz/Desktop/Drivers/symbols/wakeup_counter.ko
DEPMOD 2.6.32-5-amd64
make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-5-amd64'
Edit: Après avoir traversé les commentaires et https://www.kernel.org/doc/Documentation/kbuild/modules.txt J'ai essayé d'ajouter la commande d'installation, mais je ne vois aucun module dans le chemin de compilation - Aussi à haut niveau je reçois ce que nous écrivons dans l'invite de cmd nous tapons Makefile mais si quelqu'un peut donner un exemple cela m'aiderait à comprendre avec un joli cas de référence.
L'installation du logiciel est généralement effectuée par 'make install' commande. Créez simplement la cible "install" dans votre makefile et placez toutes les actions nécessaires dans ses recettes. – Tsyvarev
Oui, et appelez 'make ... modules_install'. – 0andriy
Toute commande que vous pouvez exécuter dans le shell de commande, vous pouvez ajouter cette action en tant que règles pour une cible dans makefile. – cm161