Kernel Patching & Recompiling-1

Ovvero: come patchare un kernel “vanilla” 2.6.21 con la patch di Con Kolivas e ricompilarlo su Ubuntu Feisty, Pentium4 1.8GHz, Asus P4P800SE, Sound Blaster Audigy2 Platinum, nVidia GeForce FX5500.

exclamation.png Attenzione! Per una “guida dettagliata, strutturata, completa, aggiornata alla ricompilazione del kernel Linux 2.6.22” andate a vedere la pagina apposita di questo blog: https://sevencapitalsins.wordpress.com/ricompila-il-kernel/

Questi articoli che seguono sono solo il resoconto dettagliato di una particolare ricompilazione sul mio sistema! Le opzioni di configurazione sono descritte meglio nella guida!

Pronti?

Siti che mi hanno ispirato (consiglio una lettura):

  1. Blog DiviLinux: “Martini Con Kolivas..E Ubuntu Ci Guadagna
  2. Come ricompilare il kernel su Debian (guida di DebianClan)
  3. Scarna guida su wiki.ubuntu-it.org
  4. Descrizione in dettaglio delle opzioni di configurazione su Slacky.eu (a me ogni tanto non funziona, probabilmente è in continuo aggiornamento)
  5. Guida di Debianizzati

Questa guida differisce dalle precedenti perché non mi sono fermato a patchare il kernel vanilla e ottimizzarlo per il mio processore, ma ho anche eliminato tutte le voci del kernel che non c’entravano una sega col mio hardware (il kernel è passato da circa 150MB a soli 9MB, e ulteriori miglioramenti sono possibili): quindi metterò qui anche la mia configurazione per tutti i poveretti che hanno una scheda ASUS P4P800, audio Audigy e video nVidia. Gli altri si facciano la punta al cervello e riconoscano l’hardware.

PRIMO PASSO:
Conoscete il vostro hardware!

Vi tornano molto utili questi comandi da dare in Konsole (“Terminale”, per utenti Gnome):

lspci

lshw

cat /proc/cpuinfo

L’output di ciascun comando vi dirà tutto ciò che avete bisogno di sapere: le periferiche connesse al bus PCI, l’hardware presente sulla scheda madre e le informazioni dettagliate sul vostro processore.
Incidetevi a fuoco sul braccio quei comandi!

SECONDO PASSO: Installate i pacchetti necessari!

Per i newbies: “pacchetto” = “programma”, nsieme di linee di codice che svolge una certa funzione.

Eseguite in Konsole/Terminale questi comandi (nota: per l’elenco pacchetti Debian vedere Come ricompilare il kernel su Debian (guida di DebianClan):

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install build-essential bin86 kernel-package libncurses5 libncurses5-dev fakeroot

Dopo aver installato tutti i pacchetti senza errori, se vorrete usare l’interfaccia grafica per la ricompilazione del kernel (consigliata!) installate anche le librerie necessarie…

Per gli utenti KDE (Kubuntu):
sudo apt-get install libqt3-headers libqt3-mt-dev
Per gli utenti Gnome (Ubuntu):
sudo apt-get install libglade2-dev

Fatto tutto senza errori? Bene, prossimo punto…

TERZO PASSO: Scaricate il kernel!

Potreste voler usare il kernel ufficiale di Ubuntu (o quello di Debian, non mettiamo limiti alla divina provvidenza): seguite le istruzioni del wiki di ubuntu-it che vi ho linkato sopra sino all’estrazione dell’archivio tar e saltate questo passo. Io volevo smanettare come un facocero in calore quindi ho preso il kernel vanilla: è più recente e non è stato patchato da altri… è un piccolo dolce indifeso kernellino vergine!

Bene, anche a voi piacciono i kernel vergini. :)
Il bello dell’informatica è che ce n’è per tutti!

Se avete una connessione veloce (oppure tanta pazienza) scegliete l’ultimo kernel 2.6 disponibile dall’archivio di kernel.org (link ai kernel 2.6).

In questo tutorial io assumerò che abbiate scaricato il file linux-2.6.21.tar.bz2.

(state attenti all’ordine alfabetico, quando ho guardato io l’ultima versione era la 2.6.21 ma sono andato subito in fondo all’elenco e mi ero stupito che fossero fermi alla versione 2.6.9…. -_- che stupido, quando sono risalito alla 2.6.2 ho capito la gabula)

Dopo averlo scaricato lo sposterete nella directory /usr/src: in quella directory vanno messi i sorgenti del kernel.
Secondo Debian&Derivate (anche Ubuntu) la cartella /usr/src dovrebbe essere scrivibile da tutti gli utenti che appartengano al gruppo “src”. Qualche volta ho letto di sfigatoni che non ce la facevano (vaccapìperché), quindi per sicurezza ribadiamo al pc che siamo noi che governiamo e non lui! SUDA brutto stronzo infame! (sostiture a nome_utente il nick che usate per entrare nel sistema)

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

Ora non dovrebbero esserci proprio problemi a spostare linux-2.6.21.tar.bz2 in /usr/src e posizionarci noi stessi in /usr/src:

mv /percorso_del_file_scaricato/linux-2.6.21.tar.bz2 /usr/src
cd /usr/src

Se avete avuto problemi siete degli sfigatoni. Ripetete le 5 linee di codice precedente.

Voilà, ora dovete estrarre i file dall’archivio linux-2.6.21.tar.bz2 che altrimenti non si legge una sega! Verrà creata una directory linux-2.6.21 all’interno di /usr/src.

tar xvjf linux-2.6.21.tar.bz2

Ora non iniziate presi dalla compilarella a dire make menuconfig, make xconfig, make oldconfig… dobbiamo applicare la patch prima!

Blog micragnoso… è finito lo spazio per scrivere!!!

Vai alla seconda parte!

Lascia un commento

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 )

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 )

Google+ photo

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

Connessione a %s...

%d blogger cliccano Mi Piace per questo: