Cela fait des jours que j'essaye de construire le module pour mon périphérique USB sans fil.
C'est un Edimax EW-7811UN
J'ai trouvé plusieurs ressources sur la construction de modules pour Debian, mais aucune pour Arch. Actuellement, je tente de compiler de manière croisée à l'aide de la ToolChain disponible sur le Raspberry Pi GitHub . Ce sont les mesures que j'ai prises:
- Téléchargé les sources de pilotes depuis le site Web Edimax .
- Téléchargé les sources du noyau depuis GitHub .
- Création d'une règle de création spécifique (selon la documentation Edimax) dans le fichier MakeFile Edimax:
ifeq ($(CONFIG_PLATFORM_PI), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
ARCH := arm
CROSS_COMPILE := arm-bcm2708-linux-gnueabi-
KVER := 3.1.9-30-ARCH+
KSRC := /pi-sources/lib/modules/3.1.9-30-ARCH+/build
MODDESTDIR := /pi-sources/lib/modules/3.1.9-30-ARCH+/kernel/drivers/net/wireless/
INSTALL_PREFIX :=
endif
KSRC
est le répertoire contenant les sources du noyau.MODDESTDIR
est le répertoire dans lequel vous souhaitez que le module se termine.CROSS_COMPILE
est mon toolchain (qui a été ajouté àPATH
)
La première tentative make
donne cette erreur:
fatal error: linux/smp_lock.h: No such file or directory
J'ai trouvé qu'il s'agit d'un en-tête obsolète, et le fait de le lier par un lien smp.h
devrait résoudre le problème. Cependant, la construction échoue toujours avec des erreurs de source, qui ressemblent à ceci:
error: field 'recv_tasklet' has incomplete type
J'ai assez compilé pour savoir que la compilation ne prend pas en charge la dernière version du noyau, mais si c'est le cas, comment a-t-elle été construite pour Debian?
Informations supplémentaires:
- La sortie complète ici .