[risolto] inclusione modulo a posteriori

Compilazione del kernel, gestione moduli, servizi attivi, e tutti gli interventi per l'ottimizzazione del sistema operativo.

[risolto] inclusione modulo a posteriori

Messaggioda sacarde » martedì 1 novembre 2016, 12:56

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, 21:56, modificato 2 volte in totale.
sacarde
Prode Principiante
 
Messaggi: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda Janvitus » mercoledì 2 novembre 2016, 15:27

La seconda.
Avatar utente
Janvitus
Amministratore
Amministratore
 
Messaggi: 17114
Iscrizione: aprile 2005
Località: Potenza
Desktop: GNOME Shell 3.24
Distribuzione: Fedora/Ubuntu
Sesso: Maschile

Re: inclusione modulo a posteriori

Messaggioda sacarde » mercoledì 2 novembre 2016, 22:37

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: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda sacarde » giovedì 3 novembre 2016, 12:21

sacarde
Prode Principiante
 
Messaggi: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda sacarde » giovedì 3 novembre 2016, 12:30

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: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda sacarde » giovedì 3 novembre 2016, 18:51

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: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda sacarde » sabato 5 novembre 2016, 22:24

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: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda sacarde » giovedì 10 novembre 2016, 10:52

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
sacarde
Prode Principiante
 
Messaggi: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda Janvitus » giovedì 10 novembre 2016, 13:52

MA in giro non trovi niente di preparato per dkms?
Avatar utente
Janvitus
Amministratore
Amministratore
 
Messaggi: 17114
Iscrizione: aprile 2005
Località: Potenza
Desktop: GNOME Shell 3.24
Distribuzione: Fedora/Ubuntu
Sesso: Maschile

Re: inclusione modulo a posteriori

Messaggioda sacarde » giovedì 10 novembre 2016, 14:40

evidentemente e' un modulo poco richiesto
sacarde
Prode Principiante
 
Messaggi: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda Janvitus » venerdì 11 novembre 2016, 19:07

Ma non ho capito se è un modulo esterno oppure c'è nel kernel ma non viene compilato...
Avatar utente
Janvitus
Amministratore
Amministratore
 
Messaggi: 17114
Iscrizione: aprile 2005
Località: Potenza
Desktop: GNOME Shell 3.24
Distribuzione: Fedora/Ubuntu
Sesso: Maschile

Re: inclusione modulo a posteriori

Messaggioda sacarde » venerdì 11 novembre 2016, 21:22

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: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda sacarde » sabato 12 novembre 2016, 12:45

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
sacarde
Prode Principiante
 
Messaggi: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda ivantu » sabato 12 novembre 2016, 18:53

prima della compilazione, va anche preparato il pacchetto
guarda qui se è d'aiuto compilare un modulo driver
Buona giornata utenti del forum. :ciao: ivantu
Avatar utente
ivantu
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 4517
Iscrizione: giugno 2013
Desktop: Lubuntu
Distribuzione: 16.04.3 LTS x86_64, 17.04 x86_64
Sesso: Maschile

Re: inclusione modulo a posteriori

Messaggioda sacarde » sabato 12 novembre 2016, 22:01

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: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda sacarde » sabato 12 novembre 2016, 22:04

per fare quello che voglio fare io

serve il pacchetto: kernel-package ?
sacarde
Prode Principiante
 
Messaggi: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda sacarde » sabato 12 novembre 2016, 22:20

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
sacarde
Prode Principiante
 
Messaggi: 126
Iscrizione: agosto 2006

Re: inclusione modulo a posteriori

Messaggioda Mdfalcubo » sabato 12 novembre 2016, 22:36

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)
"Se vuoi una mano per essere aiutato la trovi alla fine del tuo braccio,,
Avatar utente
Mdfalcubo
Moderatore Globale
Moderatore Globale
 
Messaggi: 20052
Iscrizione: dicembre 2008
Desktop: Solo XFCE
Distribuzione: Manjaro - PCLinuxOS - Xubuntu (64)
Sesso: Maschile

Re: inclusione modulo a posteriori

Messaggioda ivantu » domenica 13 novembre 2016, 10:36

sacarde Immagine 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
Avatar utente
ivantu
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 4517
Iscrizione: giugno 2013
Desktop: Lubuntu
Distribuzione: 16.04.3 LTS x86_64, 17.04 x86_64
Sesso: Maschile

Re: inclusione modulo a posteriori

Messaggioda sacarde » mercoledì 16 novembre 2016, 12:46

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
sacarde
Prode Principiante
 
Messaggi: 126
Iscrizione: agosto 2006

Successiva

Torna a Kernel e servizi di sistema

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 4 ospiti