Alla fine, siccome non ero sicuro della procedura di compilazione del solo singolo modulo e siccome avevo già la directory dei sorgenti appena compilati e non ripulita, ho seguito il consiglio di "sya54M":
Codice: Seleziona tutto
$ cd /home/joe/.kernel-build/linux-3.19.4/
$ vim drivers/usb/serial/option.c
$ make modules
$ su
# make modules_install
# cp System.map /boot/System.map-tmp
# cd /boot/
# cp System.map-huge-smp-3.19.4-smp_hb System.map-huge-smp-3.19.4-smp_hb.orig
# cp System.map-tmp System.map-huge-smp-3.19.4-smp_hb
A dirla tutta la copia del System.map non era necessaria in quanto i due file, quello nella dir dei sorgenti dopo la ricompilazione dei moduli e quello che avevo già in uso nei sorgenti e ho backuppato targandolo "-orig" sono identici:
Codice: Seleziona tutto
# diff /home/joe/.kernel-build/linux-3.19.4/System.map /boot/System.map-huge-smp-3.19.4-hb_smp.orig
#
Anticipo subito che la procedura ha rasato completamente la dir /lib/modules/3.19.4-hb_smp...
Nella dir c'erano anche dei driver proprietari nvidia...
Pertanto al riavvio il server X non è partito. Ma da come aveva detto Sya, era prevedibile.
Li ho reinstallati... ora non so di preciso quali file installa il "NVIDIA-ecc.run" ma alcuni si possono elencare di seguito
Codice: Seleziona tutto
# find /lib/modules/3.19.4-hb_smp/ -iname "*nvidia*"
/lib/modules/3.19.4-hb_smp/kernel/drivers/net/ethernet/nvidia
/lib/modules/3.19.4-hb_smp/kernel/drivers/video/fbdev/nvidia
/lib/modules/3.19.4-hb_smp/kernel/drivers/video/fbdev/nvidia/nvidiafb.ko
/lib/modules/3.19.4-hb_smp/kernel/drivers/video/nvidia-uvm.ko
/lib/modules/3.19.4-hb_smp/kernel/drivers/video/nvidia.ko
/lib/modules/3.19.4-hb_smp/kernel/drivers/char/agp/nvidia-agp.ko
Dando il "make modules_install", si cancellano...
@ rik 70
Avevo letto anche io il file modules.txt, purtroppo senza capirci granchè, ma ammetto di averlo "sfogliato" alla carlona.
Però la procedura che proponi non mi torna del tutto...
Mi leggerò meglio la documentazione e cercherò di fare il punto, sempre col vostro aiuto.
Per buttare lì una cosa al volo:
Questo "target" non appare nell'help del make.
C'è solo "make modules_prepare"... Dove l'hai pescato?
Forse era un target valido per versioni precedenti del kernel, visto che il post di cui parliamo era di un anno emmezzo fà... (tra l'altro rispondevi ad un mio messaggio
tanto per cambiare!!
).
EDIT.
rik hai hai aggiunto una risposta mentre io stavo scrivendo.
L'esempio concreto è senz'altro graditissimo.
Già l'ho proposto: "voglio patchare il driver 'option' ".
Però ho il dubbio che ci sia un modo più facile e "canonico" di installare il modulo ricompilato e sue eventuali dipendenze eventualmente ritoccate dal processo di compilazione...
Secondo me con qualche target opportuno del make si dovrebbe riuscire... magari sbaglio. Nel frattempo mi leggo meglio quella documentazione...
PS.
Tanto per la cronaca la modifica al sorgente del driver option ha sortito l'effetto desiderato:
al momento la chiavetta Olivetti Olicard-300 (2020:4000) viene presa in consegna nel modo corretto dai driver preposti, ciascuno risulta agganciato alla specifica interfaccia d cui dispone il device:
Codice: Seleziona tutto
T: Bus=02 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#= 9 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=2020 ProdID=4000 Rev=03.00
S: Manufacturer=Network Connect
S: Product=MT6225
C: #Ifs= 7 Cfg#= 1 Atr=a0 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option
I: If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
Prima della modifica del driver option, le interfacce da 2 a 5 erano orfane... nessun driver veniva automaticamente caricato per gestirle, come si vede dall'output del comando "usb-devices" riportato nel mio primo post. Questa è un'ottima notizia!!
PPS.
Qualcuno sà a chi precisamente appartiene il "vendor id" 2020?
Per modificare il modulo option in modo un po' più elegante e preciso sarebbe il caso di includere questa società che detiene il "VID".
Potrebbe essere VisonTek...
Ma sui database ufficiali presi da usb.org o linux-usb.org non viene confermata... Potrei chiedere direttamente nelle loro mailing...
Se eventualmente conosceste la risposta, fatevi avanti!