[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Compilazione di moduli 3rd party



On Mon, Dec 02, 2002 at 06:32:07PM +0100, ZaFx wrote:

> mi sono trovato nella necessità di compilare il driver proprietario del 
> mio modem (un winmodem, urgh!).  Scarico dal sito il tar.gz (lasciando 
> lì gli rpm per tutti i gusti), compilo seguendo le istruzioni, faccio 

Cos'e', un Conexant HSF per caso? :-)
Ad ogni modo, la tua descrizione combacia, pertanto ti dico come ho fatto io
per quello del mio Presario e spero che ti sia utile.

> C'è da dire che durante la compilazione lo script ha chiesto i sorgenti 
> del kernel che io avevo installato dai paccketti debian in
[cut]
> abbia tenuto presente questo particolare.  Per cui vi chiedo, che cosa 
> devo fare per avere una compilazione senza alcun warning (che credo sia 
> il problema)?

Se mantieni il kernel precompilato con la relativa extraversion (il -k7),
non c'e' molto che puoi fare: lo script di configurazione "impara" la
versione del kernel dal versions.h.
Una soluzione possibile potrebbe essere questa: modifichi il Makefile dei
sorgenti del kernel e imposti EXTRAVERSION = -k7, ricompili il kernel
leggendo la configurazione da /boot/config-2.4.18-k7, NON lo installi e
compili il driver del modem indicando come directory dei sorgenti quella in
cui hai appena ricompilato.
Cosi' il versions.h (e anche il modversions.h) dovrebbe riportare le
indicazioni corrette.
Oppure fai come ho fatto io: ricompili e installi un kernel personalizzato e
compili i driver del modem indicando come directory dei sorgenti
/lib/modules/<versione>/build, che e' un symlink alla directory giusta.
Cosi' funziona di sicuro, testato di persona.
Tra l'altro, se il driver cui ti riferisci e' quello del Conexant, lo script
di installazione e' fatto benissimo e supporta Debian, nel senso che usa le
utility della distro per eseguire il setup.
Esempio banale, per aggiungere gli alias a modules.conf non fa un semplice
append alla fine del file, ma crea un file in /etc/modutils e invoca
update-modules.
Quindi puoi eseguire tranquillamente il make install, senza paura di
introdurre modifiche non tracciabili al tuo sistema.
Io ho provato anche a disinstallare con make uninstall e non rimane la
benche' minima traccia.

> sembra percorribile.  Inoltre non mi è chiaro se ci sia un posto 
> corretto dove andare a mettere i "driver-del-modem.o" (anziché 
> /lib/modules/2.4.18-k7/misc !?), e in generale i driver compilati per 
> qualunque tipo di periferica.

/lib/modules/<versione del kernel> e' il posto giusto per quelli compilati
come modulo, quindi vai tranquillo.

> Ma un driver di questo tipo (modem), deve essere caricato al boot?

Dipende se ti serve subito o no. :-)
Io lo carico dinamicamente quando lancio la connessione ad Internet, ma e'
questione di gusti.

> PS. certo che quando si tratta di RH, Mandrake o SuSe, ci sono gli rpm 
> di tutti i generi, tutte le architetture, sorgenti, documentazione... 

Non dimenticare che si tratta di distribuzioni commerciali.
RH, poi, e' un caso particolare: da sola, costituisce quasi i tre quarti del
fatturato di tutte le aziende Linux centered, e' normale che moltissimi
pacchetti siano nativi per essa.
Ad ogni modo, pure Debian non scherza, in quanto a ricchezza di software.

> per il resto del mondo invece ci sono i tar.gz dei poveri

Beh, se non fosse che e' scomodo e su tante macchine diventa quasi
masochismo, io trovo che compilare e installarsi il software dai sorgenti
sia la cosa piu' divertente (oltre che didattica) del mondo!
Senza contare che puoi sempre crearti tu i tuoi pacchetti .deb partendo dai
sorgenti originali.

> (ma alien funziona bene o crea altra entropia?).

L'ho usato proprio per convertire l'rpm dei driver del Conexant (versione
RH) a .deb: confesso che ero scettico, ma ha funzionato perfettamente e al
primo colpo.
Onore e gloria al genio che lo ha inventato, anche se, onestamente, non lo
userei su pacchetti molto complessi.
Spero di averti aiutato, ciao! :-)

-- 
BlueRaven

There are only 10 types of people in this world...
those who understand binary, and those who don't.



Reply to: