PDA

View Full Version : Ricompilare il kernel piu volte di seguito


iocci
02-01-2007, 19:28
Ho appena compliato il kernel con un esito piu che positivo, dato che ho ridotto il tempo di avvio da 37 a 30 secondi e liberato 10MB di ram.

Quello che voglio fare adesso è continuare a fare degli esperimenti sulla configurazione e ricompilarlo per cercare di ottimizzare ancora.

Mi chiedevo una cosa: se faccio una modifica alla configurazione e poi ricompilo posso fare in modo che la parte del kernel che è gia stata compilata rimanga e compili solo quello che è cambiato? Senza cioe dover cancellare il lavoro gia fatto e poi ricompilare tutto di nuovo daccapo?

Ad esempio, mettiamo che voglio compilare un modulo che prima non avevo messo e toglierne uno che invece avevo compilato.
Se faccio queste modifiche con make gconfig e poi faccio make-kpkg, senza prima fare make clean, dovrebbe fare l'immagine del kernel compilando solamente il modulo che mancava e lasciando fuori quello che ho tolto, giusto?

Sul mio celeron 1200 compilare il kernel richiede ben 90 minuti, per cui mi secca dover ricompilare tutto il codice ogni volta per ogni piccola modifica che faccio.

Neon87
02-01-2007, 19:55
se non dai make clean i binari gia' compilati rimangono e non vengono ricompilati... in linea di massimo potrebbe andare ... ma sarebbe meglio evitarlo perche' potrebbero esserci problemi ...
inizialmente facevo anche io così pero' mi sono trovato piu' di una volta con una configurazione che fungeva male per colpa di questo ...

buona fortuna!

iocci
02-01-2007, 20:07
:eek: è quello che sospettavo.
Ho pensato che forse il modo in cui compila un modulo dipende dalla configurazione di tutto il kernel, per cui cambiando configurazione il modulo compilato prima non va piu bene dopo e non puo essere riutilizzato.

Credo pero che se si tratta solo di aggiungere nuovi moduli non dovrebbe dare problemi.

maurinO_o
02-01-2007, 20:08
si puoi fare quello che stai dicendo tu.
a me è capitato di compilare maluccio un kernel, ricaricando il config in /boot
e modificando solo alcune voci, ricompilava in pochi minuti.

e aggiungo una cosa che non sapevo sicuramente utile, se cerchi makefile
dentro i sorgenti del kernel e modifichi questa voce:
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 18
EXTRAVERSION =<----------------nome_che_vuoi
NAME=Avast! A bilge rat!
ti compila un nuovo kernel senza sovrascrivere /lib/module dello stesso precedente compilato,
naturalmente questo deve avere un nuovo System.map e bzimage diverso.

mi sa che l'aveva scritto ilsensine, intanto che cerco il post ci provo pure :sofico:

iocci
02-01-2007, 20:17
e aggiungo una cosa che non sapevo sicuramente utile, se cerchi makefile
dentro i sorgenti del kernel e modifichi questa voce:
VERSION = 2
PATCHLEVEL = 6
SUBLEVEL = 18
EXTRAVERSION =<----------------nome_che_vuoi
NAME=Avast! A bilge rat!
ti compila un nuovo kernel senza sovrascrivere /lib/module dello stesso precedente compilato,
naturalmente questo deve avere un nuovo System.map e bzimage diverso.Anche questo è molto utile... mi sembra che si puo ottenere lo stesso effetto anche con
make-kpkg --append_to_version "-NOME_CHE_VUOI"
se si compila su debian...