Pagina 1 di 1

ricompilazione kernel.

Inviato: ven 29 dic 2006, 18:41
da makbell
Scusate se faccio una domanda sicuramente stradiscussa, ma non riesco a trovare discussioni al riguardo: ho ricompilato per l'ennesima volta il mio kernel 2.6.11 e vi ho aggiunto solamente 1 modulo. Devo per forza fare tutta la trafila x compilarlo o c'è un sistema più svelto?
Grazie per le delucidazioni. Ciao!

Inviato: ven 29 dic 2006, 18:45
da Paoletta
se il modulo in questione non ha dipendenze (come credo sia il tuo caso) puoi fare così (ad esempio, se fosse ext2):

Codice: Seleziona tutto

# make M=fs/ext2/
e lo carichi con

Codice: Seleziona tutto

# insmod fs/ext2/ext2.ko
oppure

Codice: Seleziona tutto

# mkdir -p /lib/modules/`uname -r`/kernel/fs/ext2/
# cp fs/ext2/ext2.ko /lib/modules/`uname -r`/kernel/fs/ext2/
# modprobe ext2
senza ricompilare tutto il kernel; ovviamente poi sistema a mano il config per mantenerlo coerente

Inviato: ven 29 dic 2006, 18:52
da makbell
Grazie paoletta, mi sembrava strano che non ci fosse un'alternativa. Ciao!

Inviato: sab 30 dic 2006, 14:29
da robbybby
In realta', se solo aggiungi o togli un modulo (o anche piu' di uno), senza toccare opzioni globali, il make e' sufficientemente intelligente da ricompilare solo il modulo in questione, e poi linka di nuovo il kernel.
Quindi basta fare
make
make modules_install
e copiare bzImage e System.map in /boot (a ridare il solito lilo)

Lo stesso se agguingi o togli un modulo, non come modulo, ma linkato direttamente nel kernel: l'ho fatto giusto nei giorni scorsi, per un fine tuning del 2.6.19.1 sul PC nuovo, di cui non conoscevo tutti i dettagli.

Inviato: mer 3 gen 2007, 20:20
da checcozorzi
ma quindi basta fare

Codice: Seleziona tutto

# make menuconfig
fare le modifiche del caso e poi dare

Codice: Seleziona tutto

# make
# make modules_install
e il gioco è fatto? O l'ho capita un po' troppo semplicisticamente?

Inviato: mer 3 gen 2007, 22:37
da robbybby
checcozorzi ha scritto:ma quindi basta fare

Codice: Seleziona tutto

# make menuconfig
fare le modifiche del caso e poi dare

Codice: Seleziona tutto

# make
# make modules_install
e il gioco è fatto? O l'ho capita un po' troppo semplicisticamente?
E' cosi'. A volte le cose sono piu' semplici di quanto si pensi.
Il 'make clean' serve se vuoi assicurarti di partire da zero, senza avere oggetti rimasti in giro da altre compilazioni, magari per altre macchine.

Inviato: mer 3 gen 2007, 23:34
da makbell
Credo che "make" e "make modules_install" siano comunque gli unici 2 comandi essenziali in tutti i casi. Mi sembra infatti che il "make" alla fine faccia da solo anche il "make modules". Non sono però sicuro che funzioni anche per pochi moduli statici. Secondo me i moduli statici li ricompila ogni volta tutti. Forse aggiungendo o togliendo solo moduli, basta "make modules && make_modules install". Chiedo chiarimenti ad esperti. E poi vorrei sapere: è necessario avere un file "config" per ogni "vmlinuz" in /boot o ne basta uno? :?: Ciao!

Inviato: gio 4 gen 2007, 2:22
da Dani
makbell ha scritto:E poi vorrei sapere: è necessario avere un file "config" per ogni "vmlinuz" in /boot o ne basta uno? :?: Ciao!
Non è obbligatorio tenere i file config in /boot, quei file contengono la configurazione del kernel, non servono al boot !