Snellire il kernel

Riporto quello che ho sperimentato, nello smanettamento del kernel .Qua abbiamo visto come ricompilare il kernel, adesso invece vediamo come snellirlo un po , e rendere quindi la compilazione più veloce. Quello che io ho fatto, è stato eliminare alcuni componenti inutili, non solo per il mio pc, ma addirittura inutili per tutti i pc o quasi, di ultima generazione. Andare nella sezione Bus-options e disattivare ISA support ,a patto che non si abbia un pc vecchio che supporti questa scheda. Disattivare il Support for pci hotplug , che serve per chi vuole far funzionare ulteriori processori durante il funzionamento del pc. Nella sezione Device Drivers, disattivare Memory Technology Device (MTD) support, chi non usa le porte parallele, può disattivare anche quelle, alla voce Parallel port support. Nella sezione Input device support disattivare Touchscreen interface, e per chi non gioca come me anche Joystick interface. Per quanto riguarda la scheda grafica, sempre nella sezione Device Drivers – Grafic support, io ho tenuto solo i driver della mia scheda Nvidia. Ci sono altri smanettamenti che si possono fare, per snellire il kernel, ma io ho sperimentato solamente questi, specialmente prima, quando avevo un pc poco performante, e cercavo di aumentarne le prestazione, mentre adesso avendo un pc potente

 

Computer
Processor 2x Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
Memory 2076MB (943MB used)
Operating System Debian GNU/Linux lenny/sid
User Name edmond (edmond)
Date/Time lun 24 set 2007 21:42:22 CEST

eseguo la ricompilazione a volte solo per diletto, oppure solo quando ne ho effettivamente bisogno, come il problema di qualche mese fa con i driver Nvidia e la paravirtualizzazione.

kernel + patch Kolivas

 

Io sulla mia Debian ho ricompilato il kernel, sia per ottimizzarlo, sia per inserire la patch di Kolivas. Questo è il mio:

 

uname -a

Linux Debian 2.6.22-ck1-edmondk #1 SMP Tue Aug 21 18:58:10 CEST 2007 i686 GNU/Linux

Iniziamo ad installare, se non è gia stato fatto un po di roba

 

apt-get install build-essential bin86 kernel-package libncurses5 libncurses5-dev fakeroot module-init-tools

dopodichè andiamo qua e scarichiamo il kernel 2.6.22 e non il 2.6.22.6, dato che le patch si applicano sempre alla versione base del kernel. Scarichiamo anche da qui la patch di Kolivas. Quindi iniziamo l'operazione. Dato che è sconsigliato ricompilare il kernel da root, aggiungiamo il nostro utente al gruppo src

 

# adduser edmond src

dopodichè rifare il login, affinchè si faccia parte veramente del gruppo src, per controllare basta dare il comando

 

groups

copiamo il kernel in /usr/src

 

$ cp linux-2.6.22.tar.bz2 /usr/src

copiamo la patch sempre in /usr/src

 

$ cp patch-2.6.22-ck1.bz2 /usr/src

spostiamoci in

 

$ cd /usr/src

scompattiamo

 

$ tar jxf linux-2.6.22.tar.bz2

creiamo un link simbolico di nome linux

 

$ ln -sf linux-2.6.22 linux

poi

 

$ cd linux

adesso dobbiamo applicare la patch kolivas

 

bzcat ../patch-2.6.22.1.bz2 | patch -p1

poi

 

make menuconfig

la prima cosa che ho fatto , e stato quella di andare alla voce Processor type and features inquanto il kernel anche se porta nel nome l'estensione -i686, è ottimizzato in maniera generica. Quindi alla voce Processor family ho scelto Core 2/newer xeon ( mi portava pentium se non sbaglio).

 

kernel.png

 

Dopodichè salviamo

 

make-kpkg --initrd --append_to_version -edmond kernel_image kernel_headers

al posto di edmond mettete la vostra sigla

 

quando la compilazione sarà finita in /usr/src trovate i pacchetti

 

cd ..

ls

linux-headers-2.6.22-ck1-edmondk_2.6.22-ck1-edmondk-10.00.Custom_i386.deb linux-image-2.6.22-ck1-edmondk_2.6.22-ck1-edmondk-10.00.Custom_i386.deb

 

installiamo i pacchetti con

 

dpkg -i linux-headers-2.6.22-ck1-edmondk_2.6.22-ck1-edmondk-10.00.Custom_i386.deb linux-image-2.6.22-ck1-edmondk_2.6.22-ck1-edmondk-10.00.Custom_i386.deb

A questo punto il nuovo kernel è installato, riavviamo ed incrociamo le dita ehheeheh.

kernel.org

the-linux-kernel-archives.png

 

Questo è il sito ufficiale del kernel linux, dove risiedono le varie versioni del kernel, é importante fare un po di chiarezza, e dare qualche spiegazione. Iniziamo con il dire che, il sito mette a disposizione, sia alcune versioni precedenti, sia alcune versioni di prova. Attualmente vi sono presenti i codici sorgenti delle versioni di kernel 2.2 – 2.4 – 2.6 e possiamo dire che più alto è il numero di versione, più recente è il kernel . Al momento la versione stabile è la 2.6.22.6. Il primo numero ( 2 ), indica che si tratta della seconda generazione del kernel linux. La sottoversione ( 6 ) indica che si tratta del cosiddetto kernel stabile, e lo si riconosce dal fatto che porta il numero pari, quindi significa che è stato giudicato "abile e arruolato" da Linus Torvald in persona. Il terzo ed il quarto numero ( 22.6 ) indicano l’attuale livello di patch, e cioè: la ventiduesima versione ufficializzata del kernel 2.6, fornita del sesto livello di patch. I cambiamenti introdotti nella quarta cifra, non sono altro che bugfix o aggiornamenti di sicurezza, una specie di service-pack insomma. Nel sito troviamo anche delle versioni che portano l’abbreviazione -rc, ed -rc-git cioè Relaese Candidate, e non sono altro (se tutto va bene ) i prossimi kernel stabili. Il numero posto dopo -rc indica di quale Realese Candidate si tratta. Poi in ultimo ci sono le patch, indicate con l’abbreviazione -mm e da un numero di revisione. Questa patch è quella di Andrew Morton, e porta funzioni importanti nella versione ufficiale del kernel.