Je travaille actuellement sur des modules noyau sous une version 2.6.8.1. J'utilise un makefile de ce type :
obj-m := sum-module.o
KDIR := /lib/modules/$(shell uname -r)/build
PWD := $(shell pwd)
default:
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
Je voudrais savoir si quelqu'un sait comment faire pour compiler un module noyau en utilisant une bibliothèque externe (du genre ../meslibrairies/maLib.a).
Pour le makefile d'un programme "normal" pas de problème mais dans ce cas précis, je n'ai toujours pas trouvé de solution
# c'est simple
Posté par TheBreton . Évalué à 2.
on ne le fait pas.
En effet le code que tu insere dans le noyeaux doit etre le plus petit, le plus efficace et le moins bugger que possible.
La programmation dans le noyeaux impose certaines regles, et interdit l'utilisation des libc normales.
Les bilbiotheques sont des sources compilée d'une certaine maniere, les modules sont des programmes compilé d'une autre donc fatalement tout est incompatible.
Si tu avais besoin de scinder ton modules en plusieurs fichiers C et les linker entre eux c'est faisable en faisant dependre ton .o de plusieurs .o mais je ne vois pas de raison d'utiliser une bilbiotheque de truc tout fait dans le kernel.
[^] # Re: c'est simple
Posté par iugruik . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.