Pagina 1 di 2

compilazione kernel senza moduli

Inviato: mer 18 gen 2012, 18:25
da ulisse89
Ciao a tutti,

E' un po' che non scrivo più in questo forum perchè negli ultimi tempi non sto usando più Slackware,
ma continuo a leggervi e certe domande preferisco farle qui dato che sono sempre stato cordialmente aiutato.

Avrei una domanda un po' particolare da porvi.
Mettiamo che io voglia modificare una parte del codice del kernel Linux.
Ogni volta che voglio testare le modifiche fatte, dovrei ricompilare tutto il kernel + moduli, il che mi porterebbe via delle ore ogni volta.
Vi chiedo, esiste un modo per velocizzare questa operazione di compilazione?
Nel mio piccolo, ho pensato che si potrebbe in primis, evitare di compilare i moduli ogni volta, e continuare ad utilizzare quelli compilati la prima volta.
E' possibile e/o sensato?
Sapete come lavorano gli sviluppatori del kernel a questo riguardo?

Spero di essermi spiegato bene.

Grazie,

Riccardo

Re: compilazione kernel senza moduli

Inviato: mer 18 gen 2012, 18:50
da Ansa89
Se tu compili il kernel, poi modifichi una parte dei sorgenti e torni a compilare, il make compila solo lo stretto necessario per rendere effettive le tue modifiche.

Re: compilazione kernel senza moduli

Inviato: mer 18 gen 2012, 20:02
da ulisse89
Ansa89 ha scritto:Se tu compili il kernel, poi modifichi una parte dei sorgenti e torni a compilare, il make compila solo lo stretto necessario per rendere effettive le tue modifiche.
Questo lo ignoravo davvero.
Appena posso proverò a vedere se è proprio come dici.

Grazie. ;)

Re: compilazione kernel senza moduli

Inviato: mer 18 gen 2012, 20:03
da Blallo
Ansa89 ha scritto:Se tu compili il kernel, poi modifichi una parte dei sorgenti e torni a compilare, il make compila solo lo stretto necessario per rendere effettive le tue modifiche.
Confermo :)

Re: compilazione kernel senza moduli

Inviato: mer 18 gen 2012, 20:46
da ulisse89
Ok, non sapete che buona notizia mi date.
Devo lavorare sul kernel linux per la mia tesi, e mi era già presa male se ogni volta dovevo aspettare una vita per compilare.
:)

Re: compilazione kernel senza moduli

Inviato: mer 18 gen 2012, 21:49
da targzeta
Offtopic:
ulisse89 ha scritto:Offtopic: Ok, non sapete che buona notizia mi date.
Devo lavorare sul kernel linux per la mia tesi, e mi era già presa male se ogni volta dovevo aspettare una vita per compilare.
:)
Offtopic: Io non ho mai capito come mai all'università non insegnano l'ABC del make. Seguendo i corsi della specialistica ho sentito professori che davano i binari del loro programma perché se iniziavano a smerciare i sorgenti i ragazzi andavano in panico. Sorgenti con 'configure+make+make install'. Università di informatica!!!

Tutte queste cose teoriche e poi se uno deve svilupparsi un programma da solo e distribuirlo deve leggersi dei manuali a parte perché nessuno ti ha mai insegnato ad usare gli strumenti standard. In pratica uno deve per forza formarsi da qualche altra parte, l'università, almeno in questo campo, non è che poi mi abbia dato molto.

Emanuele

Re: compilazione kernel senza moduli

Inviato: gio 19 gen 2012, 3:01
da Blallo
spina ha scritto:Offtopic: Tutte queste cose teoriche e poi se uno deve svilupparsi un programma da solo e distribuirlo deve leggersi dei manuali a parte perché nessuno ti ha mai insegnato ad usare gli strumenti standard. In pratica uno deve per forza formarsi da qualche altra parte, l'università, almeno in questo campo, non è che poi mi abbia dato molto.

Emanuele
Offtopic: Anche a me il PoliTo (ing. Informatica) da questo punto di vista (e dal punto di vista pratico in generale) non mi ha mai offerto molto. Credo sia proprio una cosa tutta italiana.

Re: compilazione kernel senza moduli

Inviato: gio 19 gen 2012, 8:13
da ulisse89
Offtopic: Purtroppo è così. A parte un lieve accenno agli strumenti di compilazione non è mai stato fatto di più.

Certo è che con il poco tempo a disposizione e la necessità di dare una preparazione base più o meno completa per il mondo del lavoro,
si tende a tralasciare forse le cose "meno importanti" dal punto di vista lavorativo.

E' anche vero che ci sono dei corsi, a mio avviso, molto inutili per quello che dovremo fare (economia, fisica1 e fisica2, etc)
e che quindi potrebbero essere sacrificati in favore di qualcosa di più inerente all'informatica.

Re: compilazione kernel senza moduli

Inviato: gio 19 gen 2012, 9:31
da Ansa89
Offtopic: A me l'hanno insegnato l'ABC del make :roll: ...

Re: compilazione kernel senza moduli

Inviato: gio 19 gen 2012, 10:52
da DarthSteve
Idem come "Ansa89" ...ma in piu' anche con la creazione e/o modifica manuale del file 'makefile'!
(Univ. di Pisa - Informatica)

Re: compilazione kernel senza moduli

Inviato: gio 19 gen 2012, 11:01
da targzeta
DarthSteve ha scritto:Idem come "Ansa89" ...ma in piu' anche con la creazione e/o modifica manuale del file 'makefile'!
(Univ. di Pisa - Informatica)
Quale insegnante? A me la Pelagatti mi fece una piccola lezione di 10-15 minuti. Però non ho mai imparato ad usare, ad esempio, gli autobuilder. Ci sarebbe veramente tanto da imparare secondo me.

Emanuele

Re: compilazione kernel senza moduli

Inviato: gio 19 gen 2012, 11:07
da Ansa89
DarthSteve ha scritto:Idem come "Ansa89" ...ma in piu' anche con la creazione e/o modifica manuale del file 'makefile'!
Sì, anche a me hanno insegnato a mettere mano ai Makefile.
spina ha scritto:Però non ho mai imparato ad usare, ad esempio, gli autobuilder.
Anche a me non hanno mai parlato di autobuilder.

Re: compilazione kernel senza moduli

Inviato: gio 19 gen 2012, 11:16
da targzeta
Ansa89 ha scritto:
spina ha scritto:Però non ho mai imparato ad usare, ad esempio, gli autobuilder.
Anche a me non hanno mai parlato di autobuilder.
Ormai siamo veramente OT, comunque tutti i software oggi vengono distribuiti con un qualche meccanismo di autogenerazione dei binari. Gli autobuilder hanno fatto storia. Forse è vero che all'università dovrebbero insegnare qualcosa di più teorico: alla fine questi "attrezzi" li impari con un qualsiasi manuale. Però, boh, a me avrebbe fatto piacere avere un professore di riferimento anche su queste questioni più pratiche.

Emanuele

Re: compilazione kernel senza moduli

Inviato: gio 19 gen 2012, 12:33
da shark1500
Tornando in-topic. Se devi scrivere solo un modulo del kernel allora puoi semplicemente ricompilare quel modulo e non devi nemmeno riavviare la macchina (rmmod + modprobe). Se devi fare cambiamenti piu` importanti allora devi per forza riavviare il sistema (oppure usare metodi come kexec).

Comunque, come diceva ansa, make e` "furbo" e ricompila solo il necessario. A volte pero` per velocizzare il processo puoi usare software come ccache.

Re: compilazione kernel senza moduli

Inviato: gio 19 gen 2012, 15:32
da ulisse89
shark1500 ha scritto:Tornando in-topic. Se devi scrivere solo un modulo del kernel allora puoi semplicemente ricompilare quel modulo e non devi nemmeno riavviare la macchina (rmmod + modprobe). Se devi fare cambiamenti piu` importanti allora devi per forza riavviare il sistema (oppure usare metodi come kexec).

Comunque, come diceva ansa, make e` "furbo" e ricompila solo il necessario. A volte pero` per velocizzare il processo puoi usare software come ccache.
Eh appunto, se avessi dovuto modificare un modulo, sarebbe stato tutto più semplice.
Purtroppo la parte che devo guardare è inerente al protocollo TCP, quindi compilata nel kernel vero e proprio e non nei moduli.

Comunque adesso che ho capito del make "intelligente", sono più tranquillo.
Rimane poi l'altro problema grosso, cioè capirci qualcosa in quel "casino" di codice che è il kernel Linux. ;)