[risolto] inclusione modulo a posteriori

Compilazione del kernel, gestione moduli, servizi attivi, e tutti gli interventi per l'ottimizzazione del sistema operativo.
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

[risolto] inclusione modulo a posteriori

Messaggio da sacarde »

ciao,
avrei bisogno di includere/caricare nel kernel un modulo "bochs-drm" che attualmente non e' stato incluso
nella configurazione di ubuntu (16.10 , kernel-4.8.0)

quale e' il metodo migliore?
evitando di scaricare tutti i sorgenti del kernel (150mb)

- scaricare e compilare solo i sorgenti del modulo? ( /.../drivers/gpu/drm/bochs/*)

- usare DKMS (anche se e' un modulo che fa parte del kernel) ?

- ?


grazie
Ultima modifica di sacarde il giovedì 17 novembre 2016, 20:56, modificato 2 volte in totale.
Avatar utente
Janvitus
Amministratore
Amministratore
Messaggi: 18778
Iscrizione: lunedì 25 aprile 2005, 15:52
Desktop: GNOME Shell / Xfce
Sesso: Maschile
Località: Potenza
Contatti:

Re: inclusione modulo a posteriori

Messaggio da Janvitus »

La seconda.
+Fedora 39 • +Xubuntu 23.10
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

sai se c'e' un modo per scaricare i sorgenti di un solo modulo?

/...kernel/drivers/gpu/drm/bochs/*


(forse tramite git?)
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

dopo aver copiato i sorgenti in /usr/src/...

ho dato:

Codice: Seleziona tutto

dkms build -m bochs-drm -v 4.8.0
ma ho:
Kernel preparation unnecessary for this kernel. Skipping...

Building module:
cleaning build area....
make KERNELRELEASE=4.8.0-26-generic -C /lib/modules/4.8.0-26-generic/build M=/var/lib/dkms/bochs-drm/4.8.0/build....
Error! Build of bochs-drm.ko failed for: 4.8.0-26-generic (x86_64)
Consult the make.log in the build directory
/var/lib/dkms/bochs-drm/4.8.0/build/ for more information

e in make.log
DKMS make.log for bochs-drm-4.8.0 for kernel 4.8.0-26-generic (x86_64)
Thu Nov 3 11:27:20 CET 2016
make: Entering directory '/usr/src/linux-headers-4.8.0-26-generic'
LD /var/lib/dkms/bochs-drm/4.8.0/build/built-in.o
Building modules, stage 2.
MODPOST 0 modules
make: Leaving directory '/usr/src/linux-headers-4.8.0-26-generic'
non capisco che errore c'e'
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

dimenticavo il dkms.conf
PACKAGE_NAME="bochs-drm"
PACKAGE_VERSION="4.8.0"
BUILT_MODULE_NAME[0]="bochs-drm"
DEST_MODULE_LOCATION[0]="/kernel/drivers/gpu/drm/bochs/"
AUTOINSTALL="yes"
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

fatto prova aumentando la verbosita'

Codice: Seleziona tutto

make V=1 KERNELRELEASE=4.8.0-26-generic -C /lib/modules/4.8.0-26-generic/build M=/var/lib/dkms/bochs-drm/4.8.0/build/
make: Entering directory '/usr/src/linux-headers-4.8.0-26-generic'
test -e include/generated/autoconf.h -a -e include/config/auto.conf || ( \
echo >&2; \
echo >&2 " ERROR: Kernel configuration is invalid."; \
echo >&2 " include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 " Run 'make oldconfig && make prepare' on kernel src to fix it."; \
echo >&2 ; \
/bin/false)
mkdir -p /var/lib/dkms/bochs-drm/4.8.0/build//.tmp_versions ; rm -f /var/lib/dkms/bochs-drm/4.8.0/build//.tmp_versions/*
make -f ./scripts/Makefile.build obj=/var/lib/dkms/bochs-drm/4.8.0/build/
rm -f /var/lib/dkms/bochs-drm/4.8.0/build//built-in.o; ar rcsD /var/lib/dkms/bochs-drm/4.8.0/build//built-in.o
(cat /dev/null; ) > /var/lib/dkms/bochs-drm/4.8.0/build//modules.order
make -f ./scripts/Makefile.modpost
find /var/lib/dkms/bochs-drm/4.8.0/build//.tmp_versions -name '*.mod' | xargs -r grep -h '\.ko$' | sort -u | sed 's/\.ko$/.o/' | scripts/mod/modpost -m -a -i ./Module.symvers -I /var/lib/dkms/bochs-drm/4.8.0/build//Module.symvers -o /var/lib/dkms/bochs-drm/4.8.0/build//Module.symvers -S -w -s -T -
make: Leaving directory '/usr/src/linux-headers-4.8.0-26-generic'
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

constatato che senza avere tutto l'albero dei sorgenti e averlo configurato, la compilazione di un modulo non e' possibile


mi e' stato suggerito di usare: module-assistant

ma anche qui, trovo molti moduli da poter aggiungere, ma non il:

bochs-drm
Avatar utente
Janvitus
Amministratore
Amministratore
Messaggi: 18778
Iscrizione: lunedì 25 aprile 2005, 15:52
Desktop: GNOME Shell / Xfce
Sesso: Maschile
Località: Potenza
Contatti:

Re: inclusione modulo a posteriori

Messaggio da Janvitus »

MA in giro non trovi niente di preparato per dkms?
+Fedora 39 • +Xubuntu 23.10
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

evidentemente e' un modulo poco richiesto
Avatar utente
Janvitus
Amministratore
Amministratore
Messaggi: 18778
Iscrizione: lunedì 25 aprile 2005, 15:52
Desktop: GNOME Shell / Xfce
Sesso: Maschile
Località: Potenza
Contatti:

Re: inclusione modulo a posteriori

Messaggio da Janvitus »

Ma non ho capito se è un modulo esterno oppure c'è nel kernel ma non viene compilato...
+Fedora 39 • +Xubuntu 23.10
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

e' un modulo dell'albero del kernel
pero' in ubuntu non viene impostato nella configurazione
...
# CONFIG_DRM_BOCHS is not set
...
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

ho scaricato i sorgenti 4.8.0 (vanilla)
e configurati aggiungendo quel modulo

ma quando eseguo: make M=drivers/gpu/drm/bochs

ho:
WARNING: Symbol version dump ./Module.symvers
is missing; modules will have no dependencies and modversions.

CC [M] drivers/gpu/drm/bochs/bochs_drv.o
drivers/gpu/drm/bochs/bochs_drv.c:1:0: error: code model kernel does not support PIC mode
/*

scripts/Makefile.build:289: recipe for target 'drivers/gpu/drm/bochs/bochs_drv.o' failed
make[1]: *** [drivers/gpu/drm/bochs/bochs_drv.o] Error 1
Makefile:1471: recipe for target '_module_drivers/gpu/drm/bochs' failed
make: *** [_module_drivers/gpu/drm/bochs] Error 2
ivantu
Rampante Reduce
Rampante Reduce
Messaggi: 6674
Iscrizione: sabato 8 giugno 2013, 9:25
Desktop: Ubuntu Lubuntu Mate
Distribuzione: 22.04 LTS; 23.10
Sesso: Maschile

Re: inclusione modulo a posteriori

Messaggio da ivantu »

prima della compilazione, va anche preparato il pacchetto
guarda qui se è d'aiuto compilare un modulo driver
Buona giornata utenti del forum. :ciao: ivantu
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

grazie ivantu della guida

pero' al comando:

Codice: Seleziona tutto

make prepare
ho
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config/kernel.release
Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
Makefile:1048: recipe for target 'prepare-compiler-check' failed
make: *** [prepare-compiler-check] Error 1
forse perche' uso un kernel vanilla?



p.s.
su un'altra distro il modulo viene compilato correttamente, con la stessa procedura
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

per fare quello che voglio fare io

serve il pacchetto: kernel-package ?
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

mancava il pacchetto "bc"

adesso al prepare ho:
CHK include/config/kernel.release
CHK include/generated/uapi/linux/version.h
CHK include/generated/utsrelease.h
CHK include/generated/timeconst.h
UPD include/generated/timeconst.h
CC kernel/bounds.s
kernel/bounds.c:1:0: error: code model kernel does not support PIC mode
/*

Kbuild:45: recipe for target 'kernel/bounds.s' failed
make[1]: *** [kernel/bounds.s] Error 1
Makefile:1015: recipe for target 'prepare0' failed
make: *** [prepare0] Error 2
Avatar utente
Mdfalcubo
Moderatore Globale
Moderatore Globale
Messaggi: 20415
Iscrizione: venerdì 26 dicembre 2008, 11:17
Desktop: Solo XFCE
Distribuzione: Xubuntu 64 bit
Sesso: Maschile

Re: inclusione modulo a posteriori

Messaggio da Mdfalcubo »

Non continuare ad aggiungere un post dietro l'altro dopo pochi minuti, per favore. Edita l'ultimo post e aggiungi ciò che devi aggiungere :)
Grazie.
"Il genere umano è stimolante, è la gente che non sopporto,, (Linus - Peanuts)
ivantu
Rampante Reduce
Rampante Reduce
Messaggi: 6674
Iscrizione: sabato 8 giugno 2013, 9:25
Desktop: Ubuntu Lubuntu Mate
Distribuzione: 22.04 LTS; 23.10
Sesso: Maschile

Re: inclusione modulo a posteriori

Messaggio da ivantu »

sacarde [url=http://forum.ubuntu-it.org/viewtopic.php?p=4933373#p4933373][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:grazie ivantu della guida

pero' al comando:

Codice: Seleziona tutto

make prepare
ho
scripts/kconfig/conf --silentoldconfig Kconfig
CHK include/config/kernel.release
Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler
Makefile:1048: recipe for target 'prepare-compiler-check' failed
make: *** [prepare-compiler-check] Error 1
forse perche' uso un kernel vanilla?
si, purtroppo c'è un bug.

qui c'è qualcosa compilazione kernel ubuntu 16.10
Buona giornata utenti del forum. :ciao: ivantu
sacarde
Prode Principiante
Messaggi: 174
Iscrizione: giovedì 31 agosto 2006, 10:02

Re: inclusione modulo a posteriori

Messaggio da sacarde »

non ho capito se e' possibile una soluzione



p.s.

qui ci sarebbe una patch da applicare al Makefile

http://unix.stackexchange.com/questions ... ode/319830

mi aiutate ad applicarla?

grazie



p.s.
ho provato a applicarla:

Codice: Seleziona tutto

patch < mia.patch
patching file Makefile
patch: **** malformed patch at line 7: all: vmlinux
Scrivi risposta

Ritorna a “Kernel e servizi di sistema”

Chi c’è in linea

Visualizzano questa sezione: Google [Bot] e 11 ospiti