Ecco una guida semplice e veloce per installare e personalizzare il nuovo kernel 2.6.30 su Ubuntu 9.04. Ovviamente la guida resta valida anche se si sceglie di installare un'altra versione del kernel.
Per prima cosa installiamo i pacchetti necessari nel processo di compilazione:
sudo apt-get install kernel-package libncurses5-dev fakeroot wget bzip2
Scarichiamo i sorgenti del kernel
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.bz2
copiamo il file scaricato all'interno della directory /usr/src e decomprimiamo l'archivio:
tar xjvf linux-2.6.30.tar.bz2
otterremo così la nuova directory /usr/src/linux-2.6.30.
Ora è necessario creare un collegamento:
ln -s linux-2.6.30 linux
Spostiamoci nella directory appena creata e copiamo il file di configurazione già esistente
cd linux
cp /boot/config-`uname -r` ./.config
Il prossimo passo è personalizzare la configurazione del kernel; questo passo è facoltativo e sconsigliato a chi sta muovendo i primi passi nel mondo linux!
make menuconfig
Terminata la configurazione, restando all'interno della directory /usr/src/linux, lanciamo la compilazione:
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image kernel_headers
al posto di "-custom" possiamo aggiungere una qualsiasi stringa che identifichi la versione del kernel che andiamo a creare; è sufficiente che la stringa inizi con "-" e non contenga spazi.
La compilazione creerà due file .deb che vanno installati con i seguenti comandi:
sudo dpkg -i linux-image-2.6.30-custom_2.6.30-custom-10.00.Custom_i386.deb
sudo dpkg -i linux-headers-2.6.30-custom_2.6.30-custom-10.00.Custom_i386.deb
Grub verrà aggiornato automaticamente. Riavviamo e il gioco è fatto!
5 commenti:
"Ora è necessario creare un collegamento:
ln -s linux-2.6.30 linux
Spostiamoci nella directory appena creata e copiamo il file di configurazione già esistente
cd linux
cp /boot/config-`uname -r` ./.config"
Bel blog!;)
Ciao,scusa,non ho capito cosa si deve fare esattamente in questo passaggio...
Ciao e grazie!
Cerco di spiegare meglio il passaggio.
Ci troviamo nella directory /usr/src; tramite il comando:
ln -s linux-2.6.30 linux
viene creato il file /usr/src/linux che è semplicemente un link alla directory linux-2.6.30. Questo è necessario perché il sistema riconosce la directory /usr/src/linux come la directory contenente la versione corrente dei sorgenti del kernel.
Successivamente dobbiamo posizionarci all'interno della directory /usr/src/linux (cd linux).
Il comando cp /boot/config-`uname -r` ./.config serve per copiare la configurazione del kernel attualmente in uso (quello con cui abbiamo avviato ubuntu per intenderci) nel nuovo kernel (quello che stiamo andando a compilare).
Se proviamo a digitare il comando
uname -r
vediamo che viene ritornata una stringa con la versione del kernel attualmente in uso. Racchiudere il comando tra quei particolari apici significa che la stringa restituita da comando verrà concatenata alla stringa da noi digitata. Se ad esempio il comando uname -r ritorna la stringa:
2.6.28-ubuntu
allora digitare il comando
cp /boot/config-`uname -r` ./.config
avrà lo stesso identico effetto di digitare il comando
cp /boot/config-2.6.28-ubuntu ./.config
Ho seguito le operazioni del blog e con make menuconfig ho settato alcuni parametri secondo le indicazioni trovate su http://wiki.ubuntu-it.org/AmministrazioneSistema/CompilazioneKernel?highlight=(kernel) .
Quando ho riavviato il notebook la schermata era incomprensibile. Suggerimenti ?
Ciao! Verifica di aver incluso nella configurazione del kernel i moduli della tua scheda video (controlla i moduli che hai eventualmente disabilitato).
Se i moduli sono stati correttamente abilitati, controlla la configurazione di Grub.
Una domanda: la schermata è incomprensibile solo nella prima fase di boot oppure anche successivamente?
Anche prima di loggarsi la schermata è incomprensibile.
I moduli direi che ci sono tutti. Adesso provo con lo stesso .config a ricompilare il kernel attualmente in suo, poio vedrò
Posta un commento