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

Re: [linux_var] Kernel e HW



Scusate, ho scritto di fretta e devo fare un paio di precisazioni:

Alle martedì 20 gennaio 2009, Wolf L.A.B. ha scritto:
> Quanto già scritto a volte può non essere sufficiente.
>
> Ho fatto alcune ricerche, ho trovato ad esempio questo sito:
> http://cateee.net/lkddb/
>
> oppure questo articolo:
> http://www.ossblog.it/post/3399/e-nato-il-linux-kernel-driver-database
>
> Devo dire che però non esiste (o non l'ho ancora trovato!) un vero e
> proprio database, magari online, con una bella funzione di ricerca...
>
> Analizzando alcuni elementi del primo sito, in particolare del web-lkddb
> alla seguente pagina:
> http://cateee.net/lkddb/web-lkddb/
> ho notato che alla fine le informazioni derivano da tutti i file
> denominati "Kconfig" che all'interno del kernel contengono gli help
> che poi vediamo nei vari "make menuconfig", "make xconfig", ecc, ecc...
>
> A volte alcuni device sono elencati in tali descrizioni, ma non sempre
> corrispondono ai nomi a cui si arriva tramite la funzione di ricerca di
> xconfig che ho indicato nella mia prima risposta ad Antonello.
> Vi faccio un esempio: se dobbiamo cercare la scheda "3com 3C339" e
> digitiamo "3C339" nella funzione di ricerca che ho citato, non trova
> niente, ma... se guardiamo nell'help della scheda "3com 3C359" leggiamo
> quanto segue:
>
> "This is support for the 3Com PCI Velocity XL cards, specifically
> the 3Com 3C359, please note this is not for the 3C339 cards, you
> should use the tms380 driver instead."
>
> Adesso sappiamo che per la "3C339" dobbiamo usare il driver "tms380", ma...
> come risalire a questo?
> Possiamo farlo con una funzione di ricerca che ci vada a cercare quanto
> vogliamo trovare nei vari "Kconfig".
>
> Perciò in attesa che qualcuno faccia un database come si deve (o di
> trovarlo se già esiste!) possiamo sfruttare la grandissima potenza della
> nostra shell! Come? Entrando nella directory del kernel che vorremo
> analizzare e digitando la seguente stringa:
>
> find . -iname 'konfig' | xargs grep -i nome_che_cerchiamo
>

in questo caso ho scritto "konfig" anzichè "kconfig", e ho dimenticato di 
aggiungere l'opzione "-n" (indica la linea del file in cui trova la stringa) 
oltre a "-i" (case insensitive) a "grep", perciò la stringa giusta sarà:

find . -iname 'kconfig' | xargs grep -in nome_che_cerchiamo

> ovviamente "nome_che_cerchiamo" è ciò che ci interessa cercare.
> Preciso che grazie alle opzioni "-iname" di "find" e "-i" di "grep" la
> ricerca non è sensibile alle maiuscole e alle minuscole (case insensitive).
> Comunque, questa funzione ci restituirà tutte quelle stringhe e i
> relativi "Kconfig" in cui è elencata la descrizione di quanto ci interessa.
>
> Facendo un esempio sulla scheda prima citata, possiamo digitare:
>
> find . -iname 'kconfig' | xargs grep -n 3C339
>

anche qua ho dimenticato l'opzione "-i" di "grep" (che potrebbe essere omessa 
nel caso si scriva il nome con le giuste maiuscole e minuscole, come nel caso 
di "find" in cui si potrebbe usare l'opzione "-name" anzichè "-iname" se 
usassimo "Kconfig" anzichè "kconfig", vedete voi...), perciò la stringa sarà:

find . -iname 'kconfig' | xargs grep -ni 3C339

(dopo "-" le opzioni possono essere messe in qualsiasi ordine, nel primo caso 
ho scritto "-in", in quest'ultimo caso "-ni", è la stessa cosa! ;) )

> il risultato sarà:
>
> ./drivers/net/tokenring/Kconfig:72:       the 3Com 3C359, please note this
> is not for the 3C339 cards, you
>
> che è ne più e ne meno una delle righe dell'help della scheda 3C359 di
> ..................................


-- 
bye :-)

Gigi aka Wolf

-- 
Per cancellare l'iscrizione: <talking-unsubscribe at ml.linuxvar.it>
Archivi web e configurazione: http://ml.linuxvar.it/ml/