[Gulli] modem adsl usb

Alessandro Guarguaglini ilguargua@tiscali.it
Gio 21 Apr 2005 18:13:49 CEST


Alle 00:27, giovedė 21 aprile 2005, Stefano Lenzi ha scritto:

> Vediamo cosa ho scoperto:
>
> 1 - Makefile non corretto
> Io uso debian ed ho i sorgenti del kernel(2.6.11.7), nonostante questo
> anche a me diceva che mancava il file irq_vectors.h, a questo punto mi
> sono venute in mente due cose:
>  - Il file era disponibile solo in version pių vecchie del kernel
>  - Il makefile non guardava nei punti giusti
> Visto che in
> /usr/src/<kernel-dir>/include/asm/misc-default/irq_vectors.h esiste era
> il Makefile il problema.

Scusa, ma il Makefile non fa un sourcing del Makefile de kernel??
Visto che si tratta di un modulo del kernel stesso e' obbligato a farlo, non 
fosse altro per capire per quale architettura stai compilando.

> 1. Inviduazione irq_vectors.h
> su -
> <digitare password di root>
> updatedb
> locate irq_vectors.h

Ad esempio, se guardo tra i sorgenti del mio kernel (vanilla 2.6.10) di 
irq_vectors.h ne vedo perlomeno 3. 

> 2. Modificare il Makefile
> aprire il file Makefile con kate o vi
> individuare la riga
> #INCLUDES := -I/root/e2/include/
> modficarla in (se i sorgenti del kernel sono in /usr/src/linux)
> INCLUDES := -I/usr/src/linux/include
> -I/usr/src/linux/include/asm/mach-default

Anche qui, se guardi bene nei sorgenti del kernel installati *ma non 
configurati*, la directory include/asm non esiste nemmeno, viene creato un 
symlink con la directory interessata (asm-i386 nel caso piu' comune) al 
momento della configurazione. Inoltre (dal Makefile principale) :

[...]
# Read in dependencies to all Kconfig* files, make sure to run
# oldconfig if changes are detected.
-include .config.cmd

include .config
[...]

qui viene fatto il sourcing del .config ...


[...]
include/asm:
        @echo '  SYMLINK $@ -> include/asm-$(ARCH)'
        $(Q)if [ ! -d include ]; then mkdir -p include; fi;
        @ln -fsn asm-$(ARCH) $@
[...]

qui viene creato il symlink ...


[...]
include $(srctree)/arch/$(ARCH)/Makefile
[...]

qui viene incluso un altri file dipendente dalla configurazione, nel quale :


[...]
# default subarch .h files
mflags-y += -Iinclude/asm-i386/mach-default

viene finalmente menzionata da dir che contiene l'irq_vectors.h .


Io credo che il Makefile del driver dovrebbe includere anche il Makefile del 
kernel (e quest'ultimo deve essere configurato) .
Comunque non ho i sorgenti sottomano e quindi non ho provato, se mi dite come 
si chiama il programma faccio qualche prova.


Ciao, a presto.


Maggiori informazioni sulla lista Gulli