Compilation d'un module pour le kernel impossible

Compilation d'un module pour le kernel impossible - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 31-10-2005 à 03:22:39    

Bonjour,  
 
J'ai acheté une carte PCI spécifique avec un driver linux fourni en tant que module prévu pour un kernel 2.4.22. Malheureusement je suis en 2.4.28. Heureusement j'ai les sources du modules
 

Code :
  1. ldipci.c
  2. ldipci.h


 
j'ai donc bêtement tappé la commande
 

Code :
  1. gcc -Wall -DMODULE -D__KERNEL__ -I . -c ldipci.c -o ldipci.o


 
Voici que j'obtient ceci...

Code :
  1. In file included from /usr/include/asm/system.h:5,
  2.                  from /usr/include/asm/processor.h:18,
  3.                  from /usr/include/asm/thread_info.h:13,
  4.                  from /usr/include/linux/thread_info.h:21,
  5.                  from /usr/include/linux/spinlock.h:19,
  6.                  from /usr/include/linux/capability.h:45,
  7.                  from /usr/include/linux/sched.h:7,
  8.                  from /usr/include/linux/module.h:10,
  9.                  from ldipci.c:21:
  10. /usr/include/linux/kernel.h:72: error: erreur de syntaxe before "size_t"
  11. /usr/include/linux/kernel.h:74: error: erreur de syntaxe before "size_t"
  12. In file included from /usr/include/linux/timex.h:186,
  13.                  from /usr/include/linux/sched.h:11,
  14.                  from /usr/include/linux/module.h:10,
  15.                  from ldipci.c:21:
  16. /usr/include/linux/time.h:14: error: erreur de syntaxe before "time_t"
  17. /usr/include/linux/time.h:16: error: erreur de syntaxe before '}' token
  18. /usr/include/linux/time.h:20: error: erreur de syntaxe before "time_t"
  19. In file included from /usr/include/linux/timex.h:186,
  20.                  from /usr/include/linux/sched.h:11,
  21.                  from /usr/include/linux/module.h:10,
  22.                  from ldipci.c:21:
  23. /usr/include/linux/time.h: Dans la fonction « timespec_to_jiffies »:
  24. /usr/include/linux/time.h:198: error: dereferencing pointer to incomplete type
  25. /usr/include/linux/time.h:199: error: dereferencing pointer to incomplete type
  26. /usr/include/linux/time.h: Dans la fonction « jiffies_to_timespec »:
  27. /usr/include/linux/time.h:219: error: dereferencing pointer to incomplete type
  28. /usr/include/linux/time.h:219: error: dereferencing pointer to incomplete type
  29. /usr/include/linux/time.h: Dans la fonction « timeval_to_jiffies »:
  30. /usr/include/linux/time.h:237: error: dereferencing pointer to incomplete type
  31. /usr/include/linux/time.h:238: error: dereferencing pointer to incomplete type
  32. /usr/include/linux/time.h: Dans la fonction « jiffies_to_timeval »:
  33. /usr/include/linux/time.h:257: error: dereferencing pointer to incomplete type
  34. /usr/include/linux/time.h:257: error: dereferencing pointer to incomplete type
  35. /usr/include/linux/time.h:258: error: dereferencing pointer to incomplete type
  36. /usr/include/linux/time.h: Dans la fonction « timespec_equal »:
  37. /usr/include/linux/time.h:263: error: dereferencing pointer to incomplete type
  38. /usr/include/linux/time.h:263: error: dereferencing pointer to incomplete type
  39. /usr/include/linux/time.h:263: error: dereferencing pointer to incomplete type
  40. /usr/include/linux/time.h:263: error: dereferencing pointer to incomplete type
  41. /usr/include/linux/time.h: Dans la fonction « get_seconds »:
  42. /usr/include/linux/time.h:305: error: invalid use of undefined type `struct timespec'
  43. /usr/include/linux/time.h: Hors de toute fonction :
  44. /usr/include/linux/time.h:329: error: erreur de syntaxe before "time_t"
  45. .......


 
Je n'arrive pas à comprendre quelle est l'erreur, pourvez-vous m'aider ?


---------------
.:coin:.
Reply

Marsh Posté le 31-10-2005 à 03:22:39   

Reply

Marsh Posté le 22-02-2006 à 18:56:24    

j'aimerai comprendre... on peut compiler un module et l'installer sans recompiler tout le noyau ?
(j'débute en remcopilation de noyau...)

Reply

Marsh Posté le 22-02-2006 à 19:11:27    

Oui, un make modules && make modules_install suffise. Par contre les sources et le noyau précompilé doivent être de la même version.

Reply

Marsh Posté le 22-02-2006 à 19:33:45    

et si j'ai fait un make-kpkg kernel_image, faut que je fasse le même en kernel_source ? pour avoir les sources? j'ai cru comprendre que oui merci en tous cas !!

Reply

Marsh Posté le 22-02-2006 à 19:40:19    

si tu as fais "make-kpkg kernel_image" cela suppose que les sources du noyau sont déjà installées puisque make-kpkg exécute la compilation (make bzImage...)


Message édité par jlighty le 22-02-2006 à 19:41:09
Reply

Marsh Posté le 23-02-2006 à 08:48:15    

ça se tient :)
 
faut juste que je déplace les sources alors :)
 
merci :jap: !!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed