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.
rik70
Iper Master
Iper Master
Messaggi: 2097
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 5.0.21
Desktop: Xfce 4.14
Distribuzione: Arch Linux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » gio apr 23, 2015 21:08

joe ha scritto:Ma una domanda, se io do "make help" il target "prepare" non lo trovo... cosa fà di preciso?

Di preciso non ne ho idea, ma io seguo Pat:
http://ftp.osuosl.org/pub/slackware/sla ... README.TXT

Qualcosa però succede:

Codice: Seleziona tutto

make prepare
  HOSTCC  scripts/basic/fixdep
  HOSTCC  scripts/basic/bin2c
  HOSTCC  arch/x86/tools/relocs_32.o
  HOSTCC  arch/x86/tools/relocs_64.o
  HOSTCC  arch/x86/tools/relocs_common.o
  HOSTLD  arch/x86/tools/relocs
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CC      kernel/bounds.s
  GEN     include/generated/bounds.h
  CC      arch/x86/kernel/asm-offsets.s
  GEN     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh


joe ha scritto:Quei comandi lì comunque li intendi lanciati dalla root dir dei sorgenti giusto?

Sì.
Ma come dicevo prima, non so minimamente se lo stato dei sorgenti c'entri o meno con la faccenda: è una pura supposizione priva di fondamento.

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

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda sya54M » gio apr 23, 2015 21:14

make prepare serve a "preparare" i sorgenti alla compilazione di nuovi moduli nel caso siano stati puliti con make clean o mrproper (o siano "nuovi" appena scompattati) avendo solo il .config, praticamente ricrea gli header in include/generated/

rik70
Iper Master
Iper Master
Messaggi: 2097
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 5.0.21
Desktop: Xfce 4.14
Distribuzione: Arch Linux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » gio apr 23, 2015 21:15

sya54M ha scritto:make prepare serve a "preparare" i sorgenti alla compilazione di nuovi moduli nel caso siano stati puliti con make clean o mrproper (o siano "nuovi" appena scompattati) avendo solo il .config, praticamente ricrea gli header in include/generated/

Ottimo, grazie mille 8)

rik70
Iper Master
Iper Master
Messaggi: 2097
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 5.0.21
Desktop: Xfce 4.14
Distribuzione: Arch Linux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » gio apr 23, 2015 21:36

@joe
Tagliamo la testa al toro.
Senza ricompilare nulla, semplice copia incolla:

Codice: Seleziona tutto

sudo mkdir -pv /lib/modules/$(uname -r)/aaa

Codice: Seleziona tutto

sudo cp -iv /lib/modules/$(uname -r)/kernel/drivers/usb/serial/option.ko /lib/modules/$(uname -r)/aaa/

Codice: Seleziona tutto

sudo depmod -av $(uname -r) | grep option.ko

/lib/modules/4.0.0-smp/aaa/option.ko needs "usb_wwan_write": /lib/modules/4.0.0-smp/kernel/drivers/usb/serial/usb_wwan.ko
/lib/modules/4.0.0-smp/aaa/option.ko needs "usb_serial_deregister_drivers": /lib/modules/4.0.0-smp/kernel/drivers/usb/serial/usbserial.ko

Codice: Seleziona tutto

sudo modprobe -v option

insmod /lib/modules/4.0.0-smp/kernel/drivers/usb/serial/usbserial.ko
insmod /lib/modules/4.0.0-smp/kernel/drivers/usb/serial/usb_wwan.ko
insmod /lib/modules/4.0.0-smp/aaa/option.ko


Viene caricato il modulo presente in aaa/
A te invece che succede?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
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 » gio apr 23, 2015 22:43

Codice: Seleziona tutto

# mkdir -pv /lib/modules/$(uname -r)/aaa
mkdir: directory "/lib/modules/3.19.4-hb_smp/aaa" creata

# cp -iv /lib/modules/$(uname -r)/kernel/drivers/usb/serial/option.ko /lib/modules/$(uname -r)/aaa/
"/lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/option.ko" -> "/lib/modules/3.19.4-hb_smp/aaa/option.ko"

# depmod -av $(uname -r) | grep option.ko
/lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/option.ko needs "usb_wwan_write": /lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/usb_wwan.ko
/lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/option.ko needs "usb_serial_deregister_drivers": /lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/usbserial.ko

# modprobe -v option
insmod /lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/usbserial.ko
insmod /lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/usb_wwan.ko
insmod /lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/option.ko

#


Niente da fare, sul mio sistema la cosa non funge...

rik70
Iper Master
Iper Master
Messaggi: 2097
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 5.0.21
Desktop: Xfce 4.14
Distribuzione: Arch Linux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » ven apr 24, 2015 7:45

joe ha scritto:Niente da fare, sul mio sistema la cosa non funge...

E non è affatto normale. Da cosa dipenda non ne ho idea, ma la faccenda esula dalla questione che stiamo affrontando: la procedura di (ri)compilazione è corretta, i problemi stanno altrove. Forse il tuo .config? Da dove l'hai preso e/o come l'hai generato?

Per curiosità, prova a incollare:

Codice: Seleziona tutto

ls -la /lib/
ls -la /lib/modules
ls -la /lib/modules/3.19.4-hb_smp/

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
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 » ven apr 24, 2015 12:31

Ecco l'output dei comandi ls -la /lib ecc...

Codice: Seleziona tutto

# ls -la /lib
totale 19096
drwxr-xr-x  7 root root   12288 apr 20 14:08 ./
drwxr-xr-x 21 root root    4096 apr 20 20:14 ../
lrwxrwxrwx  1 root root      12 gen 21  2013 cpp -> /usr/bin/cpp*
drwxr-xr-x  3 root root    4096 ago  1  2014 dhcpcd/
-rwxr-xr-x  1 root root    8332 set 24  2012 e2initrd_helper*
drwxr-xr-x 58 root root   12288 apr 17 09:19 firmware/
-rwxr-xr-x  1 root root  153614 gen 28 09:10 ld-2.15.so*
lrwxrwxrwx  1 root root      10 gen 29 21:37 ld-linux.so.2 -> ld-2.15.so*
lrwxrwxrwx  1 root root      18 apr 22  2013 ld-lsb.so.3 -> /lib/ld-linux.so.2*
-rwxr-xr-x  1 root root    7064 gen 28 09:10 libBrokenLocale-2.15.so*
lrwxrwxrwx  1 root root      23 gen 29 21:37 libBrokenLocale.so.1 -> libBrokenLocale-2.15.so*
-rwxr-xr-x  1 root root   16122 gen 28 09:10 libSegFault.so*
lrwxrwxrwx  1 root root      15 gen 21  2013 libacl.so.1 -> libacl.so.1.1.0*
-rwxr-xr-x  1 root root   31604 giu 28  2012 libacl.so.1.1.0*
lrwxrwxrwx  1 root root      15 gen 21  2013 libaio.so.1 -> libaio.so.1.0.1*
-rwxr-xr-x  1 root root    2512 mag 12  2010 libaio.so.1.0.1*
-rwxr-xr-x  1 root root   17481 gen 28 09:10 libanl-2.15.so*
lrwxrwxrwx  1 root root      14 gen 29 21:37 libanl.so.1 -> libanl-2.15.so*
lrwxrwxrwx  1 root root      16 gen 21  2013 libattr.so.1 -> libattr.so.1.1.0*
-rwxr-xr-x  1 root root   17044 giu 28  2012 libattr.so.1.1.0*
lrwxrwxrwx  1 root root      17 gen 21  2013 libblkid.so.1 -> libblkid.so.1.1.0*
-rwxr-xr-x  1 root root  163440 ago 15  2012 libblkid.so.1.1.0*
lrwxrwxrwx  1 root root      13 gen 21  2013 libbz2.so.1 -> libbz2.so.1.0*
lrwxrwxrwx  1 root root      15 gen 21  2013 libbz2.so.1.0 -> libbz2.so.1.0.6*
-rwxr-xr-x  1 root root   70360 set 20  2010 libbz2.so.1.0.6*
-rwxr-xr-x  1 root root 1790836 gen 28 09:10 libc-2.15.so*
lrwxrwxrwx  1 root root      12 gen 29 21:37 libc.so.6 -> libc-2.15.so*
-rw-r--r--  1 root root   23784 giu 25  2012 libcap.a
lrwxrwxrwx  1 root root      11 gen 21  2013 libcap.so -> libcap.so.2*
lrwxrwxrwx  1 root root      14 gen 21  2013 libcap.so.2 -> libcap.so.2.22*
-rwxr-xr-x  1 root root   17340 giu 25  2012 libcap.so.2.22*
-rwxr-xr-x  1 root root  194808 gen 28 09:10 libcidn-2.15.so*
lrwxrwxrwx  1 root root      15 gen 29 21:37 libcidn.so.1 -> libcidn-2.15.so*
-r--r--r--  1 root root   12444 set 24  2012 libcom_err.a
lrwxrwxrwx  1 root root      17 gen 21  2013 libcom_err.so.2 -> libcom_err.so.2.1*
-rwxr-xr-x  1 root root   10324 set 24  2012 libcom_err.so.2.1*
-rwxr-xr-x  1 root root   46558 gen 28 09:10 libcrypt-2.15.so*
lrwxrwxrwx  1 root root      16 gen 29 21:37 libcrypt.so.1 -> libcrypt-2.15.so*
lrwxrwxrwx  1 root root      18 gen 18 20:28 libcrypto.so.0 -> libcrypto.so.0.9.8*
-r-xr-xr-x  1 root root 1698181 gen  9 18:28 libcrypto.so.0.9.8*
lrwxrwxrwx  1 root root      18 gen 18 20:28 libcrypto.so.1 -> libcrypto.so.1.0.0*
-r-xr-xr-x  1 root root 1786484 gen  9 18:26 libcrypto.so.1.0.0*
lrwxrwxrwx  1 root root      22 gen 21  2013 libcryptsetup.so.4 -> libcryptsetup.so.4.2.0*
-rwxr-xr-x  1 root root  108584 lug  6  2012 libcryptsetup.so.4.2.0*
-rwxr-xr-x  1 root root  508748 giu 29  2012 libdb-3.1.so*
-rwxr-xr-x  1 root root  604188 giu 29  2012 libdb-3.3.so*
-rwxr-xr-x  1 root root  871648 mar  5  2006 libdb-4.2.so*
-rwxr-xr-x  1 root root 1165272 ago 15  2012 libdb-4.4.so*
-rwxr-xr-x  1 root root 1588776 ago 23  2012 libdb-4.8.so*
-r-xr-xr-x  1 root root    6144 lug 22  2012 libdevmapper-event-lvm2.so.2.02*
-r-xr-xr-x  1 root root   20628 lug 22  2012 libdevmapper-event.so.1.02*
-r-xr-xr-x  1 root root  236524 lug 22  2012 libdevmapper.so.1.02*
-rwxr-xr-x  1 root root   17492 gen 28 09:10 libdl-2.15.so*
lrwxrwxrwx  1 root root      13 gen 29 21:37 libdl.so.2 -> libdl-2.15.so*
lrwxrwxrwx  1 root root      14 gen 21  2013 libdm.so.0 -> libdm.so.0.0.4*
-rwxr-xr-x  1 root root   17216 giu 14  2009 libdm.so.0.0.4*
-r--r--r--  1 root root   45836 set 24  2012 libe2p.a
lrwxrwxrwx  1 root root      13 gen 21  2013 libe2p.so.2 -> libe2p.so.2.3*
-rwxr-xr-x  1 root root   27132 set 24  2012 libe2p.so.2.3*
-r--r--r--  1 root root  378124 set 24  2012 libext2fs.a
lrwxrwxrwx  1 root root      16 gen 21  2013 libext2fs.so.2 -> libext2fs.so.2.4*
-rwxr-xr-x  1 root root  283144 set 24  2012 libext2fs.so.2.4*
-rwxr-xr-x  1 root root     920 gen 31  2011 libfuse.la*
lrwxrwxrwx  1 root root      16 gen 21  2013 libfuse.so -> libfuse.so.2.8.5*
lrwxrwxrwx  1 root root      16 gen 21  2013 libfuse.so.2 -> libfuse.so.2.8.5*
-rwxr-xr-x  1 root root  160372 gen 31  2011 libfuse.so.2.8.5*
lrwxrwxrwx  1 root root      19 ago 27  2013 libgcrypt.so.11 -> libgcrypt.so.11.8.2*
-rwxr-xr-x  1 root root  539168 ago  3  2013 libgcrypt.so.11.8.2*
lrwxrwxrwx  1 root root      21 ott 22  2013 libgpg-error.so.0 -> libgpg-error.so.0.9.0*
-rwxr-xr-x  1 root root   13796 ott  6  2013 libgpg-error.so.0.9.0*
lrwxrwxrwx  1 root root      16 gen 21  2013 libgpm.so.1 -> libgpm.so.1.19.0*
-rwxr-xr-x  1 root root   18384 giu  1  2007 libgpm.so.1.19.0*
lrwxrwxrwx  1 root root      21 gen 21  2013 libgudev-1.0.so.0 -> libgudev-1.0.so.0.1.1*
-rwxr-xr-x  1 root root   35488 set 10  2012 libgudev-1.0.so.0.1.1*
lrwxrwxrwx  1 root root      18 gen 21  2013 libhandle.so.1 -> libhandle.so.1.0.3*
-rwxr-xr-x  1 root root    9812 giu 28  2012 libhandle.so.1.0.3*
lrwxrwxrwx  1 root root      18 gen 21  2013 libkeyutils.so.1 -> libkeyutils.so.1.4*
-rwxr-xr-x  1 root root    9836 giu 20  2012 libkeyutils.so.1.4*
lrwxrwxrwx  1 root root      16 gen 21  2013 libkmod.so.2 -> libkmod.so.2.1.3*
-rwxr-xr-x  1 root root   89816 ago 10  2012 libkmod.so.2.1.3*
-r-xr-xr-x  1 root root  686536 lug 22  2012 liblvm2app.so.2.2*
-r-xr-xr-x  1 root root  974220 lug 22  2012 liblvm2cmd.so.2.02*
lrwxrwxrwx  1 root root      16 gen 21  2013 liblzma.so.5 -> liblzma.so.5.0.4*
-rwxr-xr-x  1 root root  164696 giu 27  2012 liblzma.so.5.0.4*
-rwxr-xr-x  1 root root  202934 gen 28 09:10 libm-2.15.so*
lrwxrwxrwx  1 root root      12 gen 29 21:37 libm.so.6 -> libm-2.15.so*
-rwxr-xr-x  1 root root   21318 gen 28 09:10 libmemusage.so*
lrwxrwxrwx  1 root root      17 gen 21  2013 libmount.so.1 -> libmount.so.1.1.0*
-rwxr-xr-x  1 root root  176648 ago 15  2012 libmount.so.1.1.0*
lrwxrwxrwx  1 root root      17 gen 21  2013 libncurses.so.5 -> libncurses.so.5.9*
-rwxr-xr-x  1 root root  268236 apr  5  2011 libncurses.so.5.9*
lrwxrwxrwx  1 root root      18 gen 21  2013 libncursesw.so.5 -> libncursesw.so.5.9*
-rwxr-xr-x  1 root root  317548 apr  5  2011 libncursesw.so.5.9*
-rwxr-xr-x  1 root root  112576 gen 28 09:10 libnsl-2.15.so*
lrwxrwxrwx  1 root root      14 gen 29 21:37 libnsl.so.1 -> libnsl-2.15.so*
-rwxr-xr-x  1 root root   39451 gen 28 09:10 libnss_compat-2.15.so*
lrwxrwxrwx  1 root root      21 gen 29 21:37 libnss_compat.so.2 -> libnss_compat-2.15.so*
-rwxr-xr-x  1 root root   35212 gen 28 09:10 libnss_db-2.15.so*
lrwxrwxrwx  1 root root      17 gen 29 21:37 libnss_db.so.2 -> libnss_db-2.15.so*
-rwxr-xr-x  1 root root   25447 gen 28 09:10 libnss_dns-2.15.so*
lrwxrwxrwx  1 root root      18 gen 29 21:37 libnss_dns.so.2 -> libnss_dns-2.15.so*
-rwxr-xr-x  1 root root   54520 gen 28 09:10 libnss_files-2.15.so*
lrwxrwxrwx  1 root root      20 gen 29 21:37 libnss_files.so.2 -> libnss_files-2.15.so*
-rwxr-xr-x  1 root root   21829 gen 28 09:10 libnss_hesiod-2.15.so*
lrwxrwxrwx  1 root root      21 gen 29 21:37 libnss_hesiod.so.2 -> libnss_hesiod-2.15.so*
-rwxr-xr-x  1 root root   49289 gen 28 09:10 libnss_nis-2.15.so*
lrwxrwxrwx  1 root root      18 gen 29 21:37 libnss_nis.so.2 -> libnss_nis-2.15.so*
-rwxr-xr-x  1 root root   66452 gen 28 09:10 libnss_nisplus-2.15.so*
lrwxrwxrwx  1 root root      22 gen 29 21:37 libnss_nisplus.so.2 -> libnss_nisplus-2.15.so*
lrwxrwxrwx  1 root root      19 ott 15  2014 libnss_winbind.so -> libnss_winbind.so.2*
-rwxr-xr-x  1 root root   22264 giu 24  2014 libnss_winbind.so.2*
lrwxrwxrwx  1 root root      16 ott 15  2014 libnss_wins.so -> libnss_wins.so.2*
-rwxr-xr-x  1 root root 1459924 giu 24  2014 libnss_wins.so.2*
lrwxrwxrwx  1 root root      20 gen 21  2013 libntfs-3g.so -> libntfs-3g.so.83.0.0*
lrwxrwxrwx  1 root root      20 gen 21  2013 libntfs-3g.so.83 -> libntfs-3g.so.83.0.0*
-rwxr-xr-x  1 root root  330784 lug 16  2012 libntfs-3g.so.83.0.0*
-rwxr-xr-x  1 root root    7306 gen 28 09:10 libpcprofile.so*
lrwxrwxrwx  1 root root      16 gen 21  2013 libpopt.so.0 -> libpopt.so.0.0.0*
-rwxr-xr-x  1 root root   26432 apr 30  2010 libpopt.so.0.0.0*
-rwxr-xr-x  1 root root   48580 mar 29  2011 libproc-3.2.8.so*
-rwxr-xr-x  1 root root  120185 gen 28 09:10 libpthread-2.15.so*
lrwxrwxrwx  1 root root      18 gen 29 21:37 libpthread.so.0 -> libpthread-2.15.so*
-r--r--r--  1 root root   37742 set 24  2012 libquota.a
-rwxr-xr-x  1 root root  103406 gen 28 09:10 libresolv-2.15.so*
lrwxrwxrwx  1 root root      17 gen 29 21:37 libresolv.so.2 -> libresolv-2.15.so*
-rwxr-xr-x  1 root root   38787 gen 28 09:10 librt-2.15.so*
lrwxrwxrwx  1 root root      13 gen 29 21:37 librt.so.1 -> librt-2.15.so*
-r--r--r--  1 root root   32874 set 24  2012 libss.a
lrwxrwxrwx  1 root root      12 gen 21  2013 libss.so.2 -> libss.so.2.0*
-rwxr-xr-x  1 root root   20244 set 24  2012 libss.so.2.0*
lrwxrwxrwx  1 root root      15 gen 18 20:28 libssl.so.0 -> libssl.so.0.9.8*
-r-xr-xr-x  1 root root  366236 gen  9 18:28 libssl.so.0.9.8*
lrwxrwxrwx  1 root root      15 gen 18 20:28 libssl.so.1 -> libssl.so.1.0.0*
-r-xr-xr-x  1 root root  410344 gen  9 18:26 libssl.so.1.0.0*
lrwxrwxrwx  1 root root      17 gen 21  2013 libsysfs.so.2 -> libsysfs.so.2.0.1*
-rwxr-xr-x  1 root root   36228 dic 12  2006 libsysfs.so.2.0.1*
lrwxrwxrwx  1 root root      19 gen 21  2013 libtermcap.so.2 -> libtermcap.so.2.0.8*
-rwxr-xr-x  1 root root   10280 dic 14  2006 libtermcap.so.2.0.8*
-rwxr-xr-x  1 root root   34535 gen 28 09:10 libthread_db-1.0.so*
lrwxrwxrwx  1 root root      19 gen 29 21:37 libthread_db.so.1 -> libthread_db-1.0.so*
lrwxrwxrwx  1 root root      17 gen 21  2013 libudev.so.0 -> libudev.so.0.13.1*
-rwxr-xr-x  1 root root   57212 set 10  2012 libudev.so.0.13.1*
-rwxr-xr-x  1 root root     933 gen 31  2011 libulockmgr.la*
lrwxrwxrwx  1 root root      20 gen 21  2013 libulockmgr.so -> libulockmgr.so.1.0.1*
lrwxrwxrwx  1 root root      20 gen 21  2013 libulockmgr.so.1 -> libulockmgr.so.1.0.1*
-rwxr-xr-x  1 root root    7564 gen 31  2011 libulockmgr.so.1.0.1*
-rwxr-xr-x  1 root root   12473 gen 28 09:10 libutil-2.15.so*
lrwxrwxrwx  1 root root      15 gen 29 21:37 libutil.so.1 -> libutil-2.15.so*
lrwxrwxrwx  1 root root      16 gen 21  2013 libuuid.so.1 -> libuuid.so.1.3.0*
-rwxr-xr-x  1 root root   13244 ago 15  2012 libuuid.so.1.3.0*
lrwxrwxrwx  1 root root      13 gen 21  2013 libz.so.1 -> libz.so.1.2.6*
-rwxr-xr-x  1 root root   84924 mar 24  2012 libz.so.1.2.6*
drwxr-xr-x  2 root root    4096 set 10  2012 modprobe.d/
drwxr-xr-x  6 root root    4096 apr 17 09:17 modules/
drwxr-xr-x  5 root root    4096 apr 20 14:08 udev/

# ls -la /lib/modules
totale 32
drwxr-xr-x 6 root root  4096 apr 17 09:17 ./
drwxr-xr-x 7 root root 12288 apr 20 14:08 ../
drwxr-xr-x 5 root root  4096 apr 24 00:14 3.19.4-hb_smp/
drwxr-xr-x 3 root root  4096 giu 24  2013 3.2.29-smp/
drwxr-xr-x 3 root root  4096 giu 24  2013 3.2.45/
drwxr-xr-x 3 root root  4096 mar 17 19:52 3.2.45-smp/

# ls -la /lib/modules/3.19.4-hb_smp
totale 3544
drwxr-xr-x  5 root root   4096 apr 24 00:14 ./
drwxr-xr-x  6 root root   4096 apr 17 09:17 ../
drwxr-xr-x  2 root root   4096 apr 23 22:38 aaa/
lrwxrwxrwx  1 root root     36 apr 17 09:17 build -> /home/joe/.kernel-build/linux-3.19.4/
drwxr-xr-x  2 root root   4096 apr 24 00:13 extra/
drwxr-xr-x 13 root root   4096 apr 22 08:24 kernel/
-rw-r--r--  1 root root 872413 apr 24 00:14 modules.alias
-rw-r--r--  1 root root 857912 apr 24 00:14 modules.alias.bin
-rw-r--r--  1 root root  11591 apr 22 01:45 modules.builtin
-rw-r--r--  1 root root  15978 apr 24 00:14 modules.builtin.bin
-rw-r--r--  1 root root 384731 apr 24 00:14 modules.dep
-rw-r--r--  1 root root 539948 apr 24 00:14 modules.dep.bin
-rw-r--r--  1 root root    376 apr 24 00:14 modules.devname
-rw-r--r--  1 root root 136052 apr 22 01:45 modules.order
-rw-r--r--  1 root root    193 apr 24 00:14 modules.softdep
-rw-r--r--  1 root root 342103 apr 24 00:14 modules.symbols
-rw-r--r--  1 root root 429134 apr 24 00:14 modules.symbols.bin
lrwxrwxrwx  1 root root     36 apr 22 01:45 source -> /home/joe/.kernel-build/linux-3.19.4/


Il config l'avevo preso dalla dir testing dei src di slackware currente di qualche giorno fà.
Vedo ora che il link non è più accessibile perchè pare che la versione del kernel di slack current sia cambiato e aggiornato al 4.0
Il link era questo:
http://slackware.muzzy.it/slackware-cur ... ng-3.18.1/

Ora invece non c'è più e al suo posto trovo:
http://slackware.muzzy.it/slackware-cur ... sting-4.0/

Nel mio caso avevo preso: config-huge-smp-3.18.1-smp

L'avevo piazzato nei sorgenti del kernel 3.19.4.
Avevo dato:

Codice: Seleziona tutto

make oldconfig

Ho risposto alle domande col seguente criterio: possibilmente "M" se non so di cosa si tratta (quasi sempre) allora ho risposto "Y". Tanto per non farci mancare nulla. :lol:

Codice: Seleziona tutto

make menuconfig

Qui non ho fatto nulla, ho solo "localizzato" la versione del kernel targandola: hb_smp invece che solo smp, in modo che sia possibile distinguerla dal config originale di Pat e in modo da farmi balzare all'occhio che è stato configurato e compilato da me a mano (hand built - ecco perchè "hb").

Quindi il config dovrebbe essere apposto, però non si sà mai, allora lo allego a questo post, così chi fosse interessato può anche vedere cosa è stato configurato e cosa no e se ci fosse qualcosa che manca...
Allegati
config-huge-smp-3.19.4-hb_smp.TXT
(148.59 KiB) Scaricato 65 volte

rik70
Iper Master
Iper Master
Messaggi: 2097
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 5.0.21
Desktop: Xfce 4.14
Distribuzione: Arch Linux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » ven apr 24, 2015 13:39

Bene, partiamo dal .config:
perché usare lo huge quando quel tipo di kernel non è indicato per gli usi normali?

Io parto sempre dal generic-smp. Poi se non ti vuoi creare l'initramfs, marchi il modulo del filesystem che usi per la root come 'built-in' e non hai problemi.

Ora, fai un test col kernel generico smp che esce con la 14.0:

Codice: Seleziona tutto

## @root

cd /lib/modules/3.2.45-smp/build

make prepare

grep option drivers/usb/serial/Makefile | tee drivers/usb/serial/Kbuild

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

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

depmod -av 3.2.45-smp | grep option.ko

## clean

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

rm -iv drivers/usb/serial/Kbuild


Come prima, quello che c'interessa in particolare è l'output di `depmod`.

Ovviamente controlla e correggi eventuali errori di battitura.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
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 » ven apr 24, 2015 14:20

Guarda un po'...
A me pare che non cambi nulla...

Codice: Seleziona tutto

[root@darkstar build]# make prepare
  HOSTCC  arch/x86/tools/relocs
  CHK     include/linux/version.h
  CHK     include/generated/utsrelease.h
  HOSTCC  scripts/basic/fixdep
  CALL    scripts/checksyscalls.sh
[root@darkstar build]# grep option drivers/usb/serial/Makefile
obj-$(CONFIG_USB_SERIAL_OPTION)                 += option.o
[root@darkstar build]# grep option drivers/usb/serial/Makefile|tee drivers/usb/serial/Kbuild
obj-$(CONFIG_USB_SERIAL_OPTION)                 += option.o
[root@darkstar build]# cat drivers/usb/serial/Kbuild
obj-$(CONFIG_USB_SERIAL_OPTION)                 += option.o
[root@darkstar build]# make -C `pwd` M=drivers/usb/serial
make: Entering directory `/usr/src/linux-3.2.45'
  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-3.2.45'
[root@darkstar build]# make -C `pwd` M=drivers/usb/serial modules_install
make: Entering directory `/usr/src/linux-3.2.45'
  INSTALL drivers/usb/serial/option.ko
  DEPMOD  3.2.45-smp
make: Leaving directory `/usr/src/linux-3.2.45'
[root@darkstar build]# depmod -av 3.2.45-smp | grep option.ko
/lib/modules/3.2.45-smp/kernel/drivers/usb/serial/option.ko needs "usb_wwan_write": /lib/modules/3.2.45-smp/kernel/drivers/usb/serial/usb_wwan.ko
/lib/modules/3.2.45-smp/kernel/drivers/usb/serial/option.ko needs "usb_serial_disconnect": /lib/modules/3.2.45-smp/kernel/drivers/usb/serial/usbserial.ko
[root@darkstar build]#  ls /lib/modules/3.2.45-smp/extra/
option.ko

Anche in questo caso il modulo ricompilato viene correttamente collocato in "extra", ma depmod "non ci sente"... Per lui ha priorità la versione del modulo "in-tree"...
Se ti viene qualche altra idea...

rik70
Iper Master
Iper Master
Messaggi: 2097
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 5.0.21
Desktop: Xfce 4.14
Distribuzione: Arch Linux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » ven apr 24, 2015 14:46

Purtroppo nessuna idea, ma ho testato su slackware 13.1 e kernel 2.6.33-smp e il risultato da me non cambia.

Depmod:

Codice: Seleziona tutto

/lib/modules/2.6.33.4-smp/extra/option.ko needs "usb_serial_port_softint": /lib/modules/2.6.33.4-smp/kernel/drivers/usb/serial/usbserial.ko
/lib/modules/2.6.33.4-smp/extra/option.ko needs "usb_serial_disconnect": /lib/modules/2.6.33.4-smp/kernel/drivers/usb/serial/usbserial.ko
/lib/modules/2.6.33.4-smp/extra/option.ko needs "usb_serial_suspend": /lib/modules/2.6.33.4-smp/kernel/drivers/usb/serial/usbserial.ko
/lib/modules/2.6.33.4-smp/extra/option.ko needs "usb_serial_probe": /lib/modules/2.6.33.4-smp/kernel/drivers/usb/serial/usbserial.ko
/lib/modules/2.6.33.4-smp/extra/option.ko needs "usb_serial_register": /lib/modules/2.6.33.4-smp/kernel/drivers/usb/serial/usbserial.ko
/lib/modules/2.6.33.4-smp/extra/option.ko needs "usb_serial_deregister": /lib/modules/2.6.33.4-smp/kernel/drivers/usb/serial/usbserial.ko
/lib/modules/2.6.33.4-smp/extra/option.ko needs "usb_serial_resume": /lib/modules/2.6.33.4-smp/kernel/drivers/usb/serial/usbserial.ko


Modprobe:

Codice: Seleziona tutto

insmod /lib/modules/2.6.33.4-smp/kernel/drivers/usb/serial/usbserial.ko
insmod /lib/modules/2.6.33.4-smp/extra/option.ko


A questo punto sappiamo solo che il tuo .config non è la causa del problema. Per il resto buio pesto.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
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 » ven apr 24, 2015 16:06

Però qua pare che qualcun'altro sia incappato nello stesso problemino:

Purtroppo non c'è la soluzione ne si capiscono le cause. Però qualche ulteriore dettaglio di come funziona la cosa viene accennato.

rik70
Iper Master
Iper Master
Messaggi: 2097
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 5.0.21
Desktop: Xfce 4.14
Distribuzione: Arch Linux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » ven apr 24, 2015 16:50

joe ha scritto:Però qua pare che qualcun'altro sia incappato nello stesso problemino:

Purtroppo non c'è la soluzione ne si capiscono le cause. Però qualche ulteriore dettaglio di come funziona la cosa viene accennato.


In base al funzionamento "normale", la directory 'extra' ha priorità su quella 'kernel' - perché viene 'listata' per prima. Ma nel tuo caso non funziona.

Prova allora a forzare in questo modo la ricerca del modulo:

Codice: Seleziona tutto

mkdir -pv /etc/depmod.d

Codice: Seleziona tutto

nano /etc/depmod.d/extra.conf

e incolla questo:

Codice: Seleziona tutto

override option * extra

Compila e reinstalla il modulo option come abbiamo visto - se l'hai eliminato - e aggiorna col famigerato depmod.

Verifica il tutto con i comandi che ormai conosciamo.

P.s.
Se dovesse andare, riedita il file extra.conf, commenta la riga aggiunta e modificalo così:

Codice: Seleziona tutto

# override option * extra
search extra

Nuovo depmod e nuova verifica.

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
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 » ven apr 24, 2015 17:44

Codice: Seleziona tutto

[root@darkstar linux-3.19.4]# mkdir -pv /etc/depmod.d
mkdir: directory "/etc/depmod.d" creata
[root@darkstar linux-3.19.4]# echo 'override option * extra' > /etc/depmod.d/extra.conf

Codice: Seleziona tutto

[joe@darkstar linux-3.19.4]$ make prepare
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CALL    scripts/checksyscalls.sh
[joe@darkstar linux-3.19.4]$ make -C /lib/modules/$(uname -r)/build M=drivers/usb/serial
make: Entering directory `/home/joe/.kernel-build/linux-3.19.4'
  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 `/home/joe/.kernel-build/linux-3.19.4'

Codice: Seleziona tutto

[root@darkstar linux-3.19.4]# make -C `pwd` M=drivers/usb/serial modules_install
make: Entering directory `/home/joe/.kernel-build/linux-3.19.4'
  INSTALL drivers/usb/serial/option.ko
  DEPMOD  3.19.4-hb_smp
make: Leaving directory `/home/joe/.kernel-build/linux-3.19.4'
[root@darkstar linux-3.19.4]# depmod -av `uname -r`|grep option.ko
/lib/modules/3.19.4-hb_smp/extra/option.ko needs "usb_wwan_write": /lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/usb_wwan.ko
/lib/modules/3.19.4-hb_smp/extra/option.ko needs "usb_serial_deregister_drivers": /lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/usbserial.ko
[root@darkstar linux-3.19.4]#


Così funziona! :D
Vediamo anche la stringa più generica...

Rimuovo il modulo e la dir extra... così non ci confondiamo con quella di prima.

Codice: Seleziona tutto

[root@darkstar linux-3.19.4]# rm -ivr /lib/modules/`uname -r`/extra
rm: entrare nella directory "/lib/modules/3.19.4-hb_smp/extra"? y
rm: rimuovere file regolare "/lib/modules/3.19.4-hb_smp/extra/option.ko"? y
"/lib/modules/3.19.4-hb_smp/extra/option.ko" rimosso
rm: rimuovere directory "/lib/modules/3.19.4-hb_smp/extra"? y
directory rimossa: "/lib/modules/3.19.4-hb_smp/extra"


Riconfiguro depmod:

Codice: Seleziona tutto

[root@darkstar linux-3.19.4]# echo 'search extra' > /etc/depmod.d/extra.conf
[root@darkstar linux-3.19.4]# cat /etc/depmod.d/extra.conf
search extra


Ok, ricompilo per completezza ma penso non serva...

Codice: Seleziona tutto

[joe@darkstar linux-3.19.4]$ make prepare
  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CALL    scripts/checksyscalls.sh
[joe@darkstar linux-3.19.4]$ make -C /lib/modules/$(uname -r)/build M=drivers/usb/serial
make: Entering directory `/home/joe/.kernel-build/linux-3.19.4'
  Building modules, stage 2.
  MODPOST 1 modules
make: Leaving directory `/home/joe/.kernel-build/linux-3.19.4'
[joe@darkstar linux-3.19.4]$


E reinstallo:

Codice: Seleziona tutto

[root@darkstar linux-3.19.4]# make -C `pwd` M=drivers/usb/serial modules_install
make: Entering directory `/home/joe/.kernel-build/linux-3.19.4'
  INSTALL drivers/usb/serial/option.ko
  DEPMOD  3.19.4-hb_smp
make: Leaving directory `/home/joe/.kernel-build/linux-3.19.4'
[root@darkstar linux-3.19.4]# depmod -av `uname -r`|grep option.ko
/lib/modules/3.19.4-hb_smp/extra/option.ko needs "usb_wwan_write": /lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/usb_wwan.ko
/lib/modules/3.19.4-hb_smp/extra/option.ko needs "usb_serial_deregister_drivers": /lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/usbserial.ko

Sembra tutto ok adesso.
Diamo un'occhiata alle informazioni sul modulo option:

Codice: Seleziona tutto

[root@darkstar linux-3.19.4]# modinfo option|grep -v alias
filename:       /lib/modules/3.19.4-hb_smp/extra/option.ko
license:        GPL
description:    USB Driver for GSM modems
author:         Matthias Urlichs <smurf@smurf.noris.de>
depends:        usb_wwan,usbserial
vermagic:       3.19.4-hb_smp SMP mod_unload PENTIUMIII

E proviamo a vedere cosa viene caricato...

Codice: Seleziona tutto

[root@darkstar linux-3.19.4]# lsmod|grep option
option                 27476  0
usb_wwan                5135  1 option
usbserial              20421  2 option,usb_wwan
[root@darkstar linux-3.19.4]# modprobe -r option
[root@darkstar linux-3.19.4]# lsmod|grep option
[root@darkstar linux-3.19.4]# modprobe -v option
insmod /lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/usbserial.ko
insmod /lib/modules/3.19.4-hb_smp/kernel/drivers/usb/serial/usb_wwan.ko
insmod /lib/modules/3.19.4-hb_smp/extra/option.ko


Mi viene in mente una domanda... (l'ennesima!).
Come faccio a vedere a quale file "ko" precisamente corrisponde un modulo in uso.
Mi spiego:
poco fà stavo usando il modulo option, era caricato come si vede dall'lsmod che ho riportato nell'ultimo "code" qua sopra.
Però quello non era relativo al file ko che ho in extra. Perchè il modulo era stato caricato ore prima, quando ancora non avevo forzato depmod...

Dopo la configurazione di depmod, modinfo dava informazioni sul modulo in extra.
Quelle info pertanto non erano relativo al modulo option realmente in uso (che era quello in-tree).
Mi spiego?

Per cui se io volessi vedere precisamente qual'è il percorso di un modulo (il file ".ko") che sto usando come dovrei fare?

Avatar utente
joe
Iper Master
Iper Master
Messaggi: 3056
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 » dom apr 26, 2015 23:35

Resta da capire però ancora una cosa...
Perchè sul mio sistema io ho dovuto manulmente configurare "depmod.d" per indurre depmod/modprobe a dare la priorità ai moduli installati in extra, mentre sul tuo sistema "rik", questo passaggio non è stato necessario?
Che dipenda dalla versione di "kmod" installata? Ma anche qui non si spiegherebbe per quale motivo ti funzioni il tutto anche su slack 13.xx (io sono su 14.0)...

Per curiosità, nel tuo sistema c'è qualcosa in queste tre directories:

Codice: Seleziona tutto

       /lib/depmod.d/*.conf

       /etc/depmod.d/*.conf

       /run/depmod.d/*.conf

???
Leggendo il man depmod.d sembrerebbe dipendere da quello..

rik70
Iper Master
Iper Master
Messaggi: 2097
Iscritto il: gio mar 10, 2011 9:21
Slackware: 14.2
Kernel: 5.0.21
Desktop: Xfce 4.14
Distribuzione: Arch Linux

Re: Modifica ricompilazione installazione modulo del kernel

Messaggioda rik70 » lun apr 27, 2015 11:03

Da me non esiste nessun depmod.d.
joe ha scritto:Che dipenda dalla versione di "kmod" installata?


Potrebbe. Scaricati i sorgenti del pacchetto kmod della 14.1, compila e aggiorna - a tuo rischio e pericolo. È l'unico modo per verificare.
Infatti è proprio dalla versione 14.0 che è avvenuto il passaggio da module-init-tools a kmod:
http://ftp.osuosl.org/pub/slackware/slackware-14.0/CHANGES_AND_HINTS.TXT ha scritto:*** PACKAGE REMOVALS SINCE 13.37 ***

a/gdisk - renamed to gptfdisk
a/module-init-tools - replaced by kmod
ap/ntfsprogs - merged into ntfs-3g