Rendere Ubuntu più reattivo modificando leggermente il kernel

Ringrazio SevenCapitalSins per la sua guida per la compilazione del kernel che sta facendo. La guida che state per leggere è tratta maggiormente da li. Come ho già scritto da tempo volevo ricompilare il kernel, un po’ per esperienza personale e rito di iniziazione, un po’ per rendere il pc più reattivo (anche a scapito di un po’ di potenza). Visto che non sono un esperto ho preso tutte le precauzioni possibili e ho fatto le sole modifiche che mi servivano: il boot quindi rimane dello stesso tempo, le funzioni sono le stesse, ma il pc risulterà più rapido a cambiare task e così via.

Per prima cosa bisogna procurarsi i sorgenti del kernel da qui. L’ultimo kernel stabile è il 2.6.23, ma non l’ho compilato perchè i driver ATI proprietari attuali non lo supportano e quindi avrei dovuto farne a meno. Ho quindi ripiegato sul 2.6.22 (scaricate il file linux-2.6.22.tar.bz2, senza patch quindi). Di norma generale, per la prima compilazione consiglio di lavorare sullo stesso kernel senza patch, così non ci sono opzioni diverse che possono essere problematiche per chi non è pratico. Dopo averlo scaricato dobbiamo preparare la cartella di lavoro e spostare il kernel da compilare.

I files del kernel si trovano in /usr/src e proprio qui dobbiamo lavorare. Per non avere problemi di privilegi, facciamo in modo di poter scrivere e leggere senza problemi con il nostro utente.

sudo chgrp src /usr/src
sudo chmod -R g+wr /usr/src/*
sudo adduser nome_utente src

Così abbiamo aggiunto il nostro utente al gruppo src che può modificare la cartella. Ora copiamo il kernel scaricato nell cartella e scompattiamolo

cd /usr/src
cp /percorso-al-file/linux-2.6.22.tar.bz2 .
tar xvjf linux-2.6.22.tar.bz2

Ci impiegherà un po’, non vi preoccupate. Poi creiamo una cartella di collegamento dove lavoreremo (per comodità e non portarci dietro nomi strani)

ln -s linux-2.6.22 linux

Bene, ora possiamo configurare il kernel per poi compilarlo. Io consiglio due possibilità: o usate il kernel puro com’è o aggiungete l’ultima patch di Con Kolivas per rendere il pc ancora più reattivo (solo se prima avete scelto di fare come me, ovvero compilare il kernel 2.6.22). Se seguite la seconda opzione scaricate la patch per desktop da qui e poi spostiamo e scompattiamo il file

mv /percorso_del_file_scaricato/patch-2.6.22-ck1.bz2 /usr/src
cd /usr/src/linux
bzcat ../patch-2.6.22-ck1.bz2 | patch -p1

Bene, ora sia che volavate o no la patch, andiamo avanti. Sempre per la prima volta è meglio compilare il kernel tenendo le impostazioni di quello vecchio (che va). Quindi informiamoci sul tipo di kernel che abbiamo

uname -r

e poi copiamo il file di configurazione

cd /usr/src/linux
cp /boot/config-versione_del_kernel .config

dove in versione_del_kernel mettete il nome trovato al comando di prima. Poi correggiamo la configurazione (essendo il kernel un poco diverso)

make oldconfig

Non fatelo da root. Se escono delle domande date preferibilmente di si.

Ora, se come me avete Gnome, date

make gconfig

e partirà il configuratore grafico. Le impostazioni che modificheremo sono poche (per non fare disastri), se volete fate un lavoro più approfondito, seguite la guida che ho indicato all’inizio.

Modificate Processor type and features>Processor Family e selezionate il modello della vostra CPU.
Poi in Timer frequency cambiate la frequenza da 250 a 1000 (se avete messo la patch CK potete mettere di più, ma non lo consiglio anche perchè non si nota)
Ormai che c’ero ho disattivato sotto Networking Amateur radio support, IrDA, Bluetooth subsystem support (visto che non sono un radioamatore, non ho gli infrarossi e non ho il bluetooth).

Salvate e uscite. Ora possiamo compilare. Intanto assicuratevi di essere in /usr/src/linux. Poi il comando in linea di massima è questo

sudo make-kpkg --append-to-version -xxxxx --initrd kernel_image kernel_headers modules_image

Dove xxxxx è un nome per differenziare il kernel dagli altri (scrivete tutto in minuscolo). Viste le modifiche, stiamo compilando un kernel non statico, quindi useremo initrd e i moduli. Lanciato il comando avrete più di un’oretta da aspettare. Alla fine tornate alla cartella /usr/src/ e installate i pacchetti così

sudo dpkg -i linux-headers-2.6.22*.deb
sudo dpkg -i linux-image-2.6.22*.deb
sudo dpkg -i modules-image-2.6.22*.deb

Io non avevo modules-image, ma nella cartella avevo il pacchetto di fglrx ricompilato per il nuovo kernel. Nel caso siate nella mia stessa situazione, installate anche quello.

Bene, riavviate, entrate con il nuovo kernel e se siete fortunati (ma tanto) partirà tutto (di sicuro con qualche errore). Se volete rimuovere il kernel, cercatelo in Synaptic e eliminate i pacchetti di prima. Se volete riprovare, prima di compilare dovete dare questo comando da dentro la cartella /usr/src/linux

make-kpkg clean

Auguri!

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: