Newsgroup: it.comp.os.linux.debian
Titolo: installazione driver e sorgenti del kernel

Salve a tutti,
devo compilare il driver zaptel per una scheda telefonica della digum.
Ho una debian con kernel-image-2.6.8-2-368.
Mi dice che non ho i sorgenti corretti, eppure ho installato il 
kernel-source-2.6.8.
Cosa posso fare ?
Grazie

Non basta installare il pacchetto kernel-source, devi decomprimere il
file /usr/src/kernel-source-1.6.x.tar.bz2.
Ti verrà creata la directory /usr/src/kernel-source-2.6.x sotto la
quale potrai lavorare con make-kpkg.
--
RaSca
rasc...@tiscali.it

 quale potrai lavorare con make-kpkg.
Sisi naturalmente ho decompresso in /usr/src e creato il link simbolico 
a kernel-source-2.6.8 in linux ma continua a dirmi che i sorgenti non 
vanno bene.
Non mi rimane che ricompilare ?

Posta l'errore che ti da.
E poi certo, il fatto che tu installi i sorgenti del kernel, dovrebbe
presupporre che tu li compili.
--
RaSca
rasc...@tiscali.it

 presupporre che tu li compili.
eheh questo si in effetti hai ragione.
solo mi chiedevo se non ci fosse il modo di avere i sorgenti del kernel 
senza bisogno di compilare.
comunque questo è l'errore:
platone:/usr/src/zaptel# make install
cc -I. -O4 -g -Wall -DBUILDING_TONEZONE    -DSTANDALONE_ZAPATA 
-DZAPTEL_CONFIG=\"/etc/zaptel.conf\"   -c -o gendigits.o gendigits.c
cc -o gendigits gendigits.o -lm
./gendigits
cc -I. -O4 -g -Wall -DBUILDING_TONEZONE    -DSTANDALONE_ZAPATA 
-DZAPTEL_CONFIG=\"/etc/zaptel.conf\"    makefw.c   -o makefw
./makefw tormenta2.rbt tor2fw > tor2fw.h
Loaded 69900 bytes from file
./makefw pciradio.rbt radfw > radfw.h
Loaded 42096 bytes from file
cc -I. -O4 -g -Wall -DBUILDING_TONEZONE    -DSTANDALONE_ZAPATA 
-DZAPTEL_CONFIG=\"/etc/zaptel.conf\"   -c -o ztcfg.o ztcfg.c
cc -c -fPIC -I. -O4 -g -Wall -DBUILDING_TONEZONE    -DSTANDALONE_ZAPATA 
-DZAPTEL_CONFIG=\"/etc/zaptel.conf\" -DBUILDING_TONEZONE -o zonedata.lo 
zonedata.c
cc -c -fPIC -I. -O4 -g -Wall -DBUILDING_TONEZONE    -DSTANDALONE_ZAPATA 
-DZAPTEL_CONFIG=\"/etc/zaptel.conf\" -DBUILDING_TONEZONE -o tonezone.lo 
tonezone.c
ar rcs libtonezone.a zonedata.lo tonezone.lo
cc -o ztcfg ztcfg.o libtonezone.a -lm
cc -I. -O4 -g -Wall -DBUILDING_TONEZONE    -DSTANDALONE_ZAPATA 
-DZAPTEL_CONFIG=\"/etc/zaptel.conf\"   -c -o torisatool.o torisatool.c
cc -o torisatool torisatool.o
cc -I. -O4 -g -Wall -DBUILDING_TONEZONE    -DSTANDALONE_ZAPATA 
-DZAPTEL_CONFIG=\"/etc/zaptel.conf\"   -c -o ztmonitor.o ztmonitor.c
cc -o ztmonitor ztmonitor.o
cc -o ztspeed.o -c ztspeed.c
cc -o ztspeed ztspeed.o
cc -I. -O4 -g -Wall -DBUILDING_TONEZONE    -DSTANDALONE_ZAPATA 
-DZAPTEL_CONFIG=\"/etc/zaptel.conf\"    zttest.c   -o zttest
cc -I. -O4 -g -Wall -DBUILDING_TONEZONE    -DSTANDALONE_ZAPATA 
-DZAPTEL_CONFIG=\"/etc/zaptel.conf\"   -c -o fxotune.o fxotune.c
cc -o fxotune fxotune.o -lm
You do not appear to have the sources for the 2.6.8-2-686 kernel installed.
make: *** [linux26] Error 1
platone:/usr/src/zaptel#

Controlla il Makefile, sicuramente c'è una variabile a cui fanno
riferimento i sorgenti.
Magari ti basta passargliela in fase di compilazione tipo :
#make KERNEL_SOURCE=<path>
--
RaSca
rasc...@tiscali.it

 #make KERNEL_SOURCE=<path>
Nel makefile c'č scritto
ifndef KSRC
   ifneq (,$(wildcard /lib/modules/$(KVERS)/build))
     KSRC:=/lib/modules/$(KVERS)/build
   else
     KSRC_SEARCH_PATH:=/usr/src/linux-2.4 /usr/src/linux
     KSRC:=$(shell for dir in $(KSRC_SEARCH_PATH); do if [ -d $$dir ]; 
then echo $dir; break; fi; done)
   endif
endif
ho notato che in /lib/modules/2.6.8-2-686 c'e' un link ad una directory 
nella home di un utente sconosciuto al mio sistema, molto probabilmente 
del tizio che ha compilato il kernel 2.6.8-2 che ho scaricato dal 
repository debian.
Allora ho definito KSRC=/usr/src/kernel-2.6.8 e la compilazione non si 
blocca piů a dirmi che non ho i sorgenti, ma ottengo un casino di errori 
di cui ti riporto solo un piccolo estratto. Sai dirmi da cosa puň 
dipendere ? Insomma sta diventando un'odissea compilare questo driver.
Grazie
---Cut
include/linux/thread_info.h: In function `test_and_set_ti_thread_flag':
include/linux/thread_info.h:67: error: dereferencing pointer to 
incomplete type
include/linux/thread_info.h: At top level:
include/linux/thread_info.h:70: warning: `struct thread_info' declared 
inside pa rameter list
include/linux/thread_info.h: In function `test_and_clear_ti_thread_flag':
include/linux/thread_info.h:72: error: dereferencing pointer to 
incomplete type
include/linux/thread_info.h: At top level:
include/linux/thread_info.h:75: warning: `struct thread_info' declared 
inside pa rameter list
include/linux/thread_info.h: In function `test_ti_thread_flag':
include/linux/thread_info.h:77: error: dereferencing pointer to 
incomplete type
include/linux/thread_info.h: In function `set_need_resched':
include/linux/thread_info.h:82: error: `TIF_NEED_RESCHED' undeclared 
(first use in this function)
include/linux/thread_info.h: In function `clear_need_resched':
include/linux/thread_info.h:87: error: `TIF_NEED_RESCHED' undeclared 
(first use in this function)
In file included from include/linux/capability.h:45,
                  from include/linux/sched.h:7,
                  from include/linux/module.h:10,
                  from /usr/src/zaptel/zaptel.c:44:
include/linux/spinlock.h:16:52: asm/processor.h: No such file or directory
include/linux/spinlock.h:17:24: asm/system.h: No such file or directory
In file included from include/linux/sched.h:7,
                  from include/linux/module.h:10,
                  from /usr/src/zaptel/zaptel.c:44:
include/linux/capability.h: At top level:
include/linux/capability.h:59: error: syntax error before "kernel_cap_t"
include/linux/capability.h:59: warning: type defaults to `int' in 
declaration of  `kernel_cap_t'
include/linux/capability.h:59: warning: data definition has no type or 
storage c lass
include/linux/capability.h:291: error: syntax error before "cap_bset"
include/linux/capability.h:291: warning: type defaults to `int' in 
declaration o f `cap_bset'
include/linux/capability.h:291: warning: data definition has no type or 
storage
---Cut


Usare module-assistant.

 Usare module-assistant.
Non conoscevo questo aggeggio, sto leggendo apt-cache show module-assistant.
Sembra interessante.
Sto leggendo la man page ma non ci sto capendo molto.
Come si usa ?

 dipendere ? Insomma sta diventando un'odissea compilare questo driver.
Secondo me, quei driver sono per la serie 2.4.
Il kernel 2.6 e' piuttosto diverso, e non trova quello che si
aspetta, come strutture dati.
-- 
           |Save our planet!
    Ciao   |Save wildlife!
   roberto |For your E-MAIL use ONLY recycled Bytes  !!
           |roberto poggi   
rpo...@softhome.net


Io invece avevo fatto aptitude search zaptel e ho visto che c'era
zaptel-source,quindi ad occhio e croce module-assistant poteva fare al
caso tuo.
Appena finito di postare m'e` venuto il dubbio che zaptel-source potesse
fare al caso tuo indi per cui un veloce:
http://www.justfuckinggoogleit.com/search.pl?query=module-assistant+zaptel
mi ha tolto ogni dubbio.
Pero` la curiosita` mi ha spinto anche provare questo:
http://www.justfuckinggoogleit.com/search.pl?query=debian+zaptel
che mi ha portato alla fin fine agli stessi risultati.
Ora vorrei sapere di grazia cosa hai guardato prima di postare la prima
domanda e poi questa...chesso` provare anche:
http://www.justfuckinggoogleit.com/search.pl?query=module-assistant+guida
oppure
http://www.justfuckinggoogleit.com/search.pl?query=module-assistant+howto
Guardare in /usr/share/doc/module-assistant/ ? Toh,c'e` un HOWTO oltre al
man...
Morale,qualora non si fosse capito:
Google e /usr/share/doc/*/ sono tuoi amici.

 aspetta, come strutture dati.
La lezione di oggi è oltre al fatto che sono stordito (spero sia il 
caldo) è che la gente (in particolare il sottoscritto) si dimentica 
sempre di leggere !
La presenza di un file dal nome README.Linux26 non mi ha insospettito 
per niente finora !!!!!
Mi sono deciso a leggerlo (14 righe!!) e il driver si è compilato in un 
attimo. Il link simbolico ai sorgenti del kernel 2.6 doveva chiamarsi 
linux-2.6 e non linux.
Grazie a tutti !