Autore Topic: Compilare il kernel di Centos in pochi minuti  (Letto 34811 volte)

Offline kernel

  • Moderator
  • Hero Member
  • *****
  • Post: 636
    • Mostra profilo
    • Centos Italia
Compilare il kernel di Centos in pochi minuti
« il: 24 Ottobre 2007, 11:27:57 »
Se per qualche motivo necessiti di un kernel diverso dal 2.6.18 presente in Centos 5 con pochi passi puoi avere un nuovo kernel direttamente da kernel.org.
Questa guida e' basata sul kernel 2.6.23.1 ma puo essere usata anche per kernel di versioni diverse .
Per prima cosa andiamo a scaricare il kernel :

Codice: [Seleziona]
cd /usr/src
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.1.tar.bz2

dopo scompattiamo il kernel dentro una directory "linux"

Codice: [Seleziona]
tar xjf linux-2.6.18.3.tar.bz2
ln -s linux-2.6.18.3 linux
cd /usr/src/linux

una buona idea consiste nel copiare la configurazione del vecchio kernel come base per il nuovo kernel 2.6.23.1

Codice: [Seleziona]
make clean && make mrproper
cp /boot/config-`uname -r` ./.config

e poi si inizia con la selezione delle opzioni del kernel

Codice: [Seleziona]
make menuconfig
per caricare la configurazione del vecchio kernel funzionante andare in LOAD AN ALTERNATIVE CONFIGURATION FILE e scegliere .CONFIG
Infine scegliere le opzioni che desiderate e date un identificazione al kernel in GENERAL SETUP --> LOCAL VERSION --> APPEND TO KERNEL RELEASE , qui potete scrivere quello che volete (esempio mio) importate che prima mettete il simbolo - , in questo caso sara quindi -mio . Fatte se vostre scelte salvate .

Adesso si passa alla compilazione ( accertatevi di avere installato GCC )

Codice: [Seleziona]
make rpm
dopo la compilazione che puo prendere anche diverse ore troverete rpm del nuovo kernel in /usr/src/redhat/RPMS/i386/ il dome nel mio caso e' kernel-2.6.23.1-mio-1.i386.rpm

adesso si puo procedere all installazione

Codice: [Seleziona]
cd /usr/src/redhat/RPMS/i386/
rpm -ivh --nodeps kernel-2.6.23.1-mio-1.i386.rpm

infine c'e da creare il ramdisk per il nuovo kernel
Codice: [Seleziona]
mkinitrd /boot/initrd-2.6.23.1-mio.img 2.6.23.1-mio
fatto qiesto ultimo passo e' modificare il boot loader grub

Codice: [Seleziona]
vi /boot/grub/menu.lst
aggiungedo il richiamo al nuovo kernel nel mio caso :

Codice: [Seleziona]
title CentOS (2.6.23.1-mio)
        root (hd0,0)
        kernel /vmlinuz-2.6.23.1-mio ro root=/dev/VolGroup00/LogVol00
        initrd /initrd-2.6.23.1-mio.img

Riavviate il sistema , per controllare

Codice: [Seleziona]
uname -r
Buon lavoro e buon divertimento

Hai fatto i backup oggi ? CentOS la classe linux superiore www.centos-italia.org - Se il tuo problema e' stato risolto, per favore comunicacelo e condiviti la conoscenza.