-
[UBUNTU]Ricompilazione moduli (driver sky2)
Ciao a tutti,
ho il seguente problema.
Devo modificare il driver della scheda di rete Marvell che ho (driver sky2 sotto drivers/net) ma quando lo ricompilo e tento di caricarlo insmod mi da errore. Per evitare fraintendimenti, ho allora eseguito i seguenti passi.
Premetto che uso ubuntu 8.10 con kernel 2.6.27.10-generic
ho scaricato i sorgenti del kernel vanilla 2.6.27.10 ed eseguito su questi "sudo make oldconfig" e "sudo make prepare".
A questo punto ho tolto con rmmod il modulo sky2 e ho copiato in locale i file sky2.h e sky2.c dalla cartella drivers/net del kernel in una mia cartella e da li ho ricompilato il modulo con il seguente Makefile:
ifndef KERNELRELEASE
LINUX ?= /usr/src/linux-2.6.27.10
PWD := $(shell pwd)
all:
$(MAKE) -C $(LINUX) SUBDIRS=$(PWD) modules
clean:
rm -f *.o *.ko *~ core .depend *.mod.c *.cmd
else
obj-m := sky2.o
endif
la compilazione è corretta e mi genera il file .o
ma quando faccio insmod sky2.o mi da:
insmod: error inserting 'sky2.o': -1 Invalid module format
il mio dubbio è: com'è possibile che mi dia quest'errore il driver orignale del kernel???
mi sapete aiutare? qualcuno mi sa dire quali sono i passi corretti per ricompilare il driver senza incorrere in quell'errore?
Grazie in anticipo
P.S. per completezza metto pure l'out del make quando ricompilo il modulo
make -C /usr/src/linux-2.6.27.10 SUBDIRS=/home/pippo/Scrivania/programma modules
make[1]: Entering directory `/usr/src/linux-2.6.27.10'
WARNING: Symbol version dump /usr/src/linux-2.6.27.10/Module.symvers
is missing; modules will have no dependencies and modversions.
CC [M] /home/pippo/Scrivania/programma/sky2.o
Building modules, stage 2.
MODPOST 1 modules
CC /home/pippo/Scrivania/programma/sky2.mod.o
LD [M] /home/pippo/Scrivania/programma/sky2.ko
make[1]: Leaving directory `/usr/src/linux-2.6.27.10'
-
Software Zone Fanatic
Titolo modificato. Leggi il regolamento di sezione se non vuoi trovarti chiusa la discussione la prossima volta.
-
Software Zone Maniac
prova usando il pacchetto linux-kernel-devel invece di ricompilare l'intero kernel
una volta installato dovresti solo dare un make e un make install dalla cartella dove hai estratto i file del driver
Permessi di Scrittura
- Tu non puoi inviare nuove discussioni
- Tu non puoi inviare risposte
- Tu non puoi inviare allegati
- Tu non puoi modificare i tuoi messaggi
-
Regole del Forum
Segnalibri