|
|
|
|
Bonjour,
j'ai vu dans un makefile la création d'un .ko dans le but de transformer un script en C en un module (que l'on peut gérer avec rmmod, insmod, modprobe...)
Le fichier C fait une action toutes les secondes, et j'aimerai pouvoir l'arrêter et le relancer à la manière d'un module
Je vous quote le passage du make file pour ce qui arriveront à le comprendre:
Dir $(MAKE) -C /lib/module/'uname-r'/build SUBDIRS='pwd' modules cp *.ko Dir/
Je débute en lunix, je ne comprend pas bien ce bout de code.
J'espère que vous pourrez m'aider
Merci
Configuration: Windows 2000 Internet Explorer 6.0
Bon alors déjà le C n'est pas un script car c'est compilé et pas interprété. Concrètement ça veut dire que le code source est lu par un compilateur qui génère un exécutable et le programme en lui même est dès lors complètement indépendant du code source (contrairement par exemple à un script shell).
uname -a Exemple : (mando@cobo) (~) $ uname -a Linux cobo 2.6.15-1-686-smp #2 SMP Mon Mar 6 15:34:50 UTC 2006 i686 GNU/Linux Celà signifie que là je ne peux charger que des noyaux pour un noyau 2.6.15-1-686-smp. Les modules correspondants sont dans /lib/modules/2.6.15-1-686-smp/ Quand tu utilises la commande modprobe (qui sert à charger un module), il va automatiquement piocher dans le répertoire associé à ton noyau, contrairement à la commande insmod. Tu peux ensuite vérifier que le module est chargé correctement avec la commande lsmod Pour plus d'informations tape dans une console : man rmmod man lsmod man modprobe man insmod Enfin la ligne dont tu parles dans le makefile sert uniquement à créer les .ko dans le bon répertoire lors de la compilation. Bien sûr la compilation, l'insertion, la suppression de module ne peuvent être faits qu'en root. Bonne chance |
Bonjour,
|
Répondre à mamiemando
|