Per la serie “me lo scrivo sul blog, così non va perso” mi annoto i passaggi necessari per ricompilare il kernel su piattaforma redhat-like partendo dai pacchetti src.rpm della distribuzione.
Su questo tipo di piattaforme, infatti, e’ abbastanza complesso, nonche’ scomodo e sconsgliabile, usare dei kernel “vanilla” ….. il tutto e’ stato spiegato da hughesjr sul canale IRC dedicato a CentOS.
Il modo migliore per compilare il kernel su CentOS e’ di procurarsi il corrispondente pacchetto source RPM.
Fatto cio’, assicurati di avere installati i tool di sviluppo base: gcc, rpm-devel, rpm-build, ecc. (ed il file redhat-rpm-config per CentOS-4) e quindi impartisci il comando:
rpm-i kernel-whateverversion.src.rpm
[ sostituisci il numero della versione che ti interessa 🙂 ] quindi spostati in /usr/src/redhat/SPECS
Redhat ha rilasciato il suo pacchetto SRPM in una maniera tale che tu possa compilarlo direttamente ed usarlo … e non puoi neanche
procedere in maniera convenzionale, e cioe’ usare il file kernel-2.6.version.spec per la compilazione, che applicherebbe tutte le patch.
Percio’ dovremo seguire i seguenti passi:
– rpmbuild -bb kernel-2.6.spec ;
– (dovremo poi indicare un target e quindi) rpmbuild -bb –target=i686 kernel-2.6.spec ;
– dopo di che iniziera’ il lavoro ed aspetteremo l’ avviso in cui viene notificato che “bzImage” e’ pronto;
– quando bZimage e’ stato creato … mentre il processo stara’ compilando i moduli … interromperemo il processo con Ctrl-C;
– nella directory /usr/src/redhat/BUILD avremo un kernel three pienamente parchato;
– potremo quindi copiare la directory kernel-xxxx directory in /usr/src/, spostarci dentro di essa ed impartire un: make clean;
– a questo punto avremo una directory redhat-standard per la compilazione del kernel, come quella a cui siamo abituati.
I file di configurazione standard sono in kernel/configs, copia quelli di cui hai bisogno nella directory .config e poi
lancia: make oldconfig.
A questo punto sei pronto per la procedura standard make menuconfig
ecc.
Ovviamente se ci sono errori madornali me li segnalate ? così correggo e non famo danni 😀