Forum Programmation.autre makefile modules noyau 2.6

Posté par  .
Étiquettes : aucune
0
6
avr.
2005
Salut!

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  . Évalué à 2.

    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).
    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  . Évalué à 1.

      Je vais utiliser une carte assez spécifique (carte maître pour les réseaux profibus DP) et je dois absolument pouvoir utiliser les primitives de l'API de cette carte dans un module noyau RTAI en fait je suis le seul et le premier à faire ça avec ce genre de carte). Je vais me débrouiller avec le fournisseur de la carte. (ou alors je vais passer à LXRT mais ça m'emm#"*<%erde bien :(

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.