Modifica ricompilazione installazione modulo del kernel

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2923
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Modifica ricompilazione installazione modulo del kernel

Messaggioda joe » mar apr 21, 2015 16:58

Sto smanettando con delle chiavette internet USB...
Per attivarne alcune funzionalità mi è stato necessario scaricare ed installare un kernel recente che ho al momento in uso da qualche giorno e pare funzionare senza problemi.
Una di queste chiavette viene gestita su alcune su interfacce dal modulo "option".
Purtroppo però all'inserimento del dispositivo tale modulo non viene automagicamente caricato e tanto meno prende in conegna le interfacce del dispositivo di sua potenziale competenza.
Per spiegarmi meglio vi metto di seguito l'output del comando "usb-devices" che mette in evidenza i driver che stanno gestendo le varie interfacce del dispositivo.

Codice: Seleziona tutto

T:  Bus=01 Lev=02 Prnt=04 Port=00 Cnt=01 Dev#= 11 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=(none)
I:  If#= 3 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#= 5 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
I:  If#= 6 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

Questo è quello che accade senza intervenire con alcuna regola di udev o altra configurazione che forza il modulo option a prendere in consegna le interfaccie la cui voce Driver è marchiata come "(none)".
Tanto per la cronaca aggiungo che volendo basta aggiungere id vendor e product al file /sys/bus/usb-serial/drivers/option1/new_id:

Codice: Seleziona tutto

# echo "2020 4000" > /sys/bus/usb-serial/drivers/option1/new_id

Così facendo al posto del "(none)" leggeremo "option".

Sembra che un'altra strada per far si che la gestione delle interfacce orfane venga presa in consegna da "option" sia quella di modificare il sorgente del driver, appunto "option.c" e quindi ricompilare il kernel per apportare la modifica e aver un modulo "option.ko" modificato e pronto da testare.

Siccome vorrei evitare di ricompilare l'intero kernel, per questioni di tempistiche, mi chiedevo se fosse possibile compilare solamente il modulo option.
Al momento ho i sorgenti del kernel in uso sul sistema, già lavorati, visto che l'ho compilato l'altro giorno.

Che procedura potrei seguire per compilare solo il modulo option?

miklos
Linux 4.x
Linux 4.x
Messaggi: 1443
Iscritto il: lun lug 16, 2007 17:39
Slackware: 14.1 64bit
Kernel: 3.16.3
Desktop: openbox 3.5.2
Località: Roma

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda miklos » mar apr 21, 2015 17:10

se non sbaglio.. ogni modulo ha al suo interno un makefile.. quando lanci il make dalla directory principale del kernel quest'ultimo li include e li esegue uno per volta.
di conseguenza se ti posizioni all'interno della directory del modulo modificato basta che da li lanci il make e il modulo viene magicamente ricompilato
ho visto cose che voi astemi non potete immaginare

Avatar utente
sya54M
Master
Master
Messaggi: 1622
Iscritto il: mer giu 06, 2007 14:44
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 4.16.x
Desktop: KDE
Località: (Salerno)
Contatta:

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda sya54M » mar apr 21, 2015 21:21

basta non pulire i sorgenti, quindi non bisogna aver lanciato ne make clean ne make mrproper, e lanciare make modules, verranno compilati solo i nuovi moduli, quindi poi basta reinstallare i moduli e il System.map nel sistema: make modules_install && cp System.map /boot

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2923
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda joe » mer apr 22, 2015 0:09

Innanzitutto mi fai venire un dubbio che non c'entra direttamente con la mia domanda: ma il System.map... è così importante?
Chiedo perchè nel mio caso quando ho compilato il "3.19.4" (attualmente in uso), io l'ho copiato sì nella dir /boot, ma non l'ho sostituito al link che c'era già prima e che puntava al System.map del vecchio kernel...
Per capirci vedi come come sono i System.map nella mia /boot dir:

Codice: Seleziona tutto

$ ls -l /boot/S*
lrwxrwxrwx 1 root root      30 giu 24  2013 /boot/System.map -> System.map-huge-smp-3.2.45-smp
-rw-r--r-- 1 root root 1519622 giu  1  2013 /boot/System.map-generic-3.2.45
-rw-r--r-- 1 root root 1566848 mag 31  2013 /boot/System.map-generic-smp-3.2.45-smp
-rw-r--r-- 1 root root 2488612 giu  1  2013 /boot/System.map-huge-3.2.45
-rw-r--r-- 1 root root 3008289 apr 17 10:35 /boot/System.map-huge-smp-3.19.4-hb_smp
-rw-r--r-- 1 root root 2539894 mag 31  2013 /boot/System.map-huge-smp-3.2.45-smp

Ora, la mia domanda da ignorante è, adesso visto che faccio il boot caricando l'immagine:
"vmlinuz-huge-smp-3.19.4-hb_smp"
Automaticamente sto usando il corrispondente "System.map-huge-smp-3.19.4-hb_smp", oppure il "System.map", che poi in realtà punta al "System.map-huge-smp-3.2.45-smp" ???

Ok, tornando in topic...
In questo caso avendo i sorgenti già lavorati perchè ho appena compilato il kernel la tua risposta ci stà, cioè ovviamente ricompilando tutti i moduli, in realtà viene compilato solo l'eventuale "option.c" che andrò a modificare...
Però non esiste la possibilità di compilare esplicitamente solo lui?
E quindi installarlo in modo che vada a sovrascrivere l'attuale?
Per ottenere la stessa situazione di adesso, ma con il modulo option modificato e funzionante?

miklos ha scritto:se ti posizioni all'interno della directory del modulo modificato basta che da li lanci il make e il modulo viene magicamente ricompilato

Ho provato ma non succede granchè:

Codice: Seleziona tutto

[joe@darkstar serial]$ pwd
/home/joe/.kernel-build/linux-3.19.4/drivers/usb/serial
[joe@darkstar serial]$ make
make: *** Nessun obiettivo.  Stop.
[joe@darkstar serial]$


Forse perchè al momento non ho ancora toccato il sorgente del modulo "option.c"??? O il comando dato così non funziona proprio?

PS.
In ogni caso... Al termine di questa ricompilazione e sovrascrittura di un solo modulo, non dovrei avere problemi con qualche altro driver di terze parti in uso ad esempio i driver Nvidia proprietari che sto utilizzando... vero?

Avatar utente
sya54M
Master
Master
Messaggi: 1622
Iscritto il: mer giu 06, 2007 14:44
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 4.16.x
Desktop: KDE
Località: (Salerno)
Contatta:

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda sya54M » mer apr 22, 2015 0:24

il System.map è importante e viene utilizzato quello con lo stesso suffisso dell'immagine del kernel specificata nel bootloader, cioè se dal bootloader stai caricando l'immagine chiamata vmlinuz-huge-smp-3.19.4-hb_smp, sarà utilizzato il System.map con lo stesso suffisso System.map-huge-smp-3.19.4-hb_smp quindi il link non serve, anzi sarebbe sbagliato farlo senza fare anche il link vmlinuz. Se non stessi usando il corretto System.map te ne accorgeresti perché probabilmente non troverebbe nessun modulo caricabile.
Se usi driver di terze parti, purtroppo sì, vanno reinstallati... compilare esplicitamente un modulo non so, credo che non si può, però come hai visto la compilazione è veloce se non pulisci i sorgenti perché vengono compilati solo i moduli aggiunti

rik70
Master
Master
Messaggi: 1943
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 4.18
Desktop: Xfce 4.12
Distribuzione: archlinux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » mer apr 22, 2015 7:36

Per ricompilare solo il modulo segui questo - adattandolo al caso specifico:
http://www.slacky.eu/forum/viewtopic.ph ... 10#p333639

Io partirei comunque da sorgenti "puliti".

Quindi:

Codice: Seleziona tutto

make clean
make prepare
rm .version


La ragione è che il modulo che vai a ricompilare può dipendere da altri moduli: se è così, verranno compilati anche quest'ultimi e andranno aggiornati/reinstallati insieme al modulo in questione.

Avatar utente
sya54M
Master
Master
Messaggi: 1622
Iscritto il: mer giu 06, 2007 14:44
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 4.16.x
Desktop: KDE
Località: (Salerno)
Contatta:

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda sya54M » mer apr 22, 2015 8:03

rik70 ha scritto:La ragione è che il modulo che vai a ricompilare può dipendere da altri moduli: se è così, verranno compilati anche quest'ultimi e andranno aggiornati/reinstallati insieme al modulo in questione.

con make modules vengono ricompilati anche eventuali moduli da cui dipende senza pulire i sorgenti e il problema non si pone

rik70
Master
Master
Messaggi: 1943
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 4.18
Desktop: Xfce 4.12
Distribuzione: archlinux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » mer apr 22, 2015 8:29

sya54M ha scritto:
rik70 ha scritto:La ragione è che il modulo che vai a ricompilare può dipendere da altri moduli: se è così, verranno compilati anche quest'ultimi e andranno aggiornati/reinstallati insieme al modulo in questione.

con make modules vengono ricompilati anche eventuali moduli da cui dipende senza pulire i sorgenti e il problema non si pone


Bhe sì, però make modules ricompila tutti i moduli. A quel punto il problema di ricompilarne uno solo non si pone.
Partendo da un clean, tu ricompili solo quello che ti serve ed in automatico verranno compilate anche le dipendenze.

Avatar utente
sya54M
Master
Master
Messaggi: 1622
Iscritto il: mer giu 06, 2007 14:44
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 4.16.x
Desktop: KDE
Località: (Salerno)
Contatta:

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda sya54M » mer apr 22, 2015 8:31

rik70 ha scritto:Bhe sì, però make modules ricompila tutti i moduli.

no, se i sorgenti non vengono puliti compila solo il necessario

rik70
Master
Master
Messaggi: 1943
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 4.18
Desktop: Xfce 4.12
Distribuzione: archlinux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » mer apr 22, 2015 8:43

Vabbè non mi sono "capito" ma va bene lo stesso. :D

Dare un nuovo make modules esula dal problema del ricompilare un modulo solo.
Per questo la procedura corretta è quella linkata.

Avatar utente
sya54M
Master
Master
Messaggi: 1622
Iscritto il: mer giu 06, 2007 14:44
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 4.16.x
Desktop: KDE
Località: (Salerno)
Contatta:

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda sya54M » mer apr 22, 2015 8:52

ah ok, non avevo capito cosa intendevi, sì hai ragione, lui chiede di compilarlo esplicitamente, però in pratica con make modules viene comunque compilato solo quel modulo

rik70
Master
Master
Messaggi: 1943
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 4.18
Desktop: Xfce 4.12
Distribuzione: archlinux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » mer apr 22, 2015 11:16

sya54M ha scritto:ah ok, non avevo capito cosa intendevi, sì hai ragione, lui chiede di compilarlo esplicitamente, però in pratica con make modules viene comunque compilato solo quel modulo


Ci tenevo a precisare, perché se dopo il make modules lui dovesse dare make modules_install, tutto quello che c'è in /lib/modules/versione_kernel viene "rasato" e poi reinstallato. Fatto, questo, che può creare un attimo di panico, perché sparirebbero eventuali moduli di terze parti precedentemente compilati e installati - es: nvidia.

Con l'altro sistema invece si aggiornano solo i moduli necessari, "replicandoli" in un'altra directory opportunamente "nominata" in modo da avere priorità nella ricerca dei moduli "aggiornati".

In caso di dubbi da parte di joe potremmo fare un esempio concreto ad "uso e consumo" di tutti.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 2923
Iscritto il: ven apr 27, 2007 11:21
Slackware: 14.2
Kernel: 4.4.38
Desktop: KDE-4.14.21

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda joe » mer apr 22, 2015 11:49

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:

Codice: Seleziona tutto

make prepare

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 :lol: tanto per cambiare!! :D ).

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!! :D

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! :)

Avatar utente
sya54M
Master
Master
Messaggi: 1622
Iscritto il: mer giu 06, 2007 14:44
Nome Cognome: Andrea P.
Slackware: 64-current
Kernel: 4.16.x
Desktop: KDE
Località: (Salerno)
Contatta:

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda sya54M » mer apr 22, 2015 11:56

joe ha scritto: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:

è vero sono identici ma solo perché non c'è nessun modulo in più, il modulo option infatti lo hai modificato ma era già presente, se non fosse stato precedentemente presente il System.map sarebbe stato diverso

rik70
Master
Master
Messaggi: 1943
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 4.18
Desktop: Xfce 4.12
Distribuzione: archlinux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » mer apr 22, 2015 12:47

Allora, partendo dalla documentazione del kernel, un esempio pratico di ricompilazione del solo modulo 'option.ko'.

Spostiamoci nella directory dei sorgenti:

Codice: Seleziona tutto

cd /usr/src/linux-4.0


La directory che c'interessa si trova in 'drivers/usb/serial/': e' da qui che prende i sorgenti per la compilazione. Diamo uno sguardo al Makefile:

Codice: Seleziona tutto

less drivers/usb/serial/Makefile

Prendiamo la parte di codice che c'interessa -

Codice: Seleziona tutto

 'obj-$(CONFIG_USB_SERIAL_OPTION)                 += option.o'

e piazziamola dentro un nuovo file chiamato Kbuild:

Codice: Seleziona tutto

nano drivers/usb/serial/Kbuild
cat drivers/usb/serial/Kbuild

obj-$(CONFIG_USB_SERIAL_OPTION)                 += option.o


Procediamo alla compilazione:

Codice: Seleziona tutto

make -C `pwd` M=drivers/usb/serial

Output:

Codice: Seleziona tutto

make: Entering directory `/usr/src/linux-4.0'
  LD      drivers/usb/serial/built-in.o
  CC [M]  drivers/usb/serial/option.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      drivers/usb/serial/option.mod.o
  LD [M]  drivers/usb/serial/option.ko
make: Leaving directory `/usr/src/linux-4.0'

Installazione:

Codice: Seleziona tutto

make -C `pwd` M=drivers/usb/serial modules_install

Codice: Seleziona tutto

make: Entering directory `/usr/src/linux-4.0'
mkdir -p /lib/modules/4.0.0-smp/extra
make -f ./scripts/Makefile.modinst
echo '  INSTALL drivers/usb/serial/option.ko'; mkdir -p /lib/modules/4.0.0-smp/extra ; cp drivers/usb/serial/option.ko /lib/modules/4.0.0-smp/extra ; true /lib/modules/4.0.0-smp/extra/option.ko ; true /lib/modules/4.0.0-smp/extra/option.ko || true ; true /lib/modules/4.0.0-smp/extra/option.ko
:
echo '  DEPMOD  4.0.0-smp'; /bin/sh ./scripts/depmod.sh /sbin/depmod 4.0.0-smp ""
make: Leaving directory `/usr/src/linux-4.0'

Nota come il modulo nuovo venga piazzato in '/lib/modules/4.0.0-smp/extra': in questo modo verrà caricato prima del vecchio - che pertanto non sarà necessario rimuovere.

Infine, non si sa mai:

Codice: Seleziona tutto

depmod -a 4.0.0-smp


Edit
Ovviamente quel Kbuild va poi eliminato se si vuol procedere a una ricompilazione completa del kernel.