Linux-source -... a un module qui est désactivé dans config /boot/config-3.4-trunk-686-pae afin qu’il ne fasse pas partie de linux-image -... (ceci est sur Debian, mais la solution devrait être la même pour Ubuntu, ou?), par exemple
# CONFIG_CAN_PEAK_USB is not set
Comment compiler simplement ce module du noyau, de sorte qu'il puisse être utilisé avec le noyau distribué?
Le paquet linux-source -... correspondant est déjà installé, décompressé et lié à / usr / src / linux. /boot/config-3.4-trunk-686-pae est copié dans /usr/src/linux/.config et modifié avec
CONFIG_CAN_PEAK_USB=m
Avec
make
make modules
il est possible de compiler le noyau et tous les modules. Mais comment ne compiler que ce module spécifique?
(Note: aussi les besoins du noyau à compiler avant, sinon vous obtenez l'erreur suivante: no symbol version for module_layout
)
depmod -a
avantmodbrobe
?Réponses:
J'ai eu le même problème. Je suppose que vous devez non seulement copier .config mais aussi Module.symvers
mes étapes pour compiler le module ft1000 (exécutant Debian Wheeze 7.1.0; noyau 3.2.0-4-686-pae):
la source
make M=/path/to/module
ce qui semblait fonctionner.Dans le répertoire source de niveau supérieur, indiquez simplement le chemin d'accès au nom ou au répertoire du module, par exemple:
ou pour un exemple plus simple (pilote Ethernet Intel e1000):
la source
make drivers/net/can/usb/peak_usb/pcan_usb.ko
Do : n'a construit que pcan_usb.o. Faire lemake drivers/net/can/usb/peak_usb/ && make drivers/net/can/usb/peak_usb/pcan_usb.ko
compile, mais insmod se plaintError: could not insert module drivers/net/can/usb/peak_usb/peak_usb.ko: Invalid module format
. dmesg:peak_usb: no symbol version for module_layout
modprobe
aussi.make modules SUBDIRS=drivers/net/can/usb/peak_usb
ou n’importe quel autre sous-répertoire. Cela fonctionne bien ici.Aussi simple que: (Cet exemple illustre le pilote ft1000, cela ne devrait prendre que quelques minutes, sinon quelques instants)
Vous pouvez ensuite charger le module avec
modprobe
afterdepmod
Remarque: en fonction de la dépendance du module, il peut être nécessaire de reconstruire entièrement le noyau.
la source