Convertire un kernel Redhat enterprise/Fedora ad un Kernel Debian.

Sab, 22/10/2005 - 19:11

Convertire un kernel Redhat enterprise/Fedora ad un Kernel Debian.

Inviato da paolo 1 commento
Introduzione

Come suggerisce il titolo della Guida, lo scopo è quello di convertire (debianizzare) un kernel Redhat/Fedora ad uno equivalente Debian, con la possibilità di gestirlo ed installarlo alla debian-way, come se fosse un vero e proprio kernel ufficiale.

Perchè installare un Kernel Redhat su Debian?

Bella domanda, ma non è questo lo scopo della mia guida, non mi preoccupo tanto del perchè scegliere un kernel invece che un altro, credo che il bello del free software/open source sia proprio nella capacita di avere la possiblità di gestire con la propria LinuxBox ogni tipo di situazione.

Potrebbe capitare la situazione in cui si ha bisogno di una qualche determinata funzionalità che è presente solo sui Kernel Redhat Enterprise (driver, SElinux....), ed è qui che la nostra Debian ci viene in soccorso, permettendo con pochi semplici passi di avere sulla nostra Debian-box un nuovo e fiammante Kernel Redhat/Fedora.

Installazione.

Iniziamo con l'installazione dei pacchetti necessari:

apt-get install bzip2 docbook-utils gs kernel-package
transfig fakeroot rpm libncurses5-dev

Ora installiamo il kern2deb, il programma necessario per fare questa "magica" conversione, il pacchetto e i sorgenti li trovate qui:
http://ace-host.stuart.id.au/russell/files/debian/sarge/kern2deb
wget http://ace-host.stuart.id.au/russell/files/debian/sarge/kern2deb/kern2deb_1.2_all.deb
dpkg -i kern2deb_1.2_all.deb

Il programma non è ancora entrato ufficialmente in Debian, ma ci stanno lavorando (#329770)
Ora abbiamo tutto il necessario per iniziare a debianizzare i nostri Kernel Redhat/Fedora.

Configurazione

Per fare questo lavoro ovviamente abbiamo bisogno di un Kernel nel formato redhat.rpm.src, se ne avete uno copiatelo in /usr/src oppure in alternativa se volete solo fare dei test potete scaricarne uno da qui:

ftp://ftp.redhat.com/pub/redhat/linux/updates/enterprise/4ES/en/os/SRPMS/

Io ho scaricato questo:

cd /usr/src
wget ftp://ftp.redhat.com/pub/redhat/linux/updates/enterprise/4ES/en/os/SRPMS/kernel-2.6.9-22.EL.src.rpm

Che è uno dei kernel della RHEL4.
Iniziamo la conversione:
root@stefano:/usr/src # kern2deb -p -k -r no kernel-2.6.9-22.EL.src.rpm
.Unpacking rpm file.
. Parsing .spec file.
. Creating kernel-source-2.6.9.redhat_2.6.9.redhat.22.el.orig.tar.gz.
. Debianising Red Hat patches.
. Generating patches to make it work with Debian.
. Applying version specific patches.
. Build Debian source package directory.
Nessun pacchetto corrisponde a kernel-source-2.6.9.

Il risultato dell'operazione sarà questo:
root@stefano:/usr/src # ls -al
totale 85516
drwxr-xr-x   4 root root     4096 2005-10-22 19:03 .
drwxrwxrwx   5 root root     4096 2005-10-22 19:00 ..
drwxr-xr-x   3 root root    32768 2005-10-22 19:02 kernel-2.6.9-22.EL.dir
-rw-r--r--   1 root root 41491422 2005-10-22 18:09 kernel-2.6.9-22.EL.src.rpm
drwxrwxr-x  19  500  500     4096 2005-10-22 19:06 kernel-source-2.6.9.redhat-2.6.9.redhat.22.el
-rw-r--r--   1 root root 45934525 2005-10-22 19:04 kernel-source-2.6.9.redhat_2.6.9.redhat.22.el.orig.tar.gz

Copiamo una configurazione per il nuovo kernel:
root@stefano:/usr/src # cp kernel-2.6.9-22.EL.dir/kernel-2.6.9-i686.config ./kernel-source-2.6.9.redhat-2.6.9.redhat.22.el/.config

Ora passiamo alla compilazione alla debian-way:
root@stefano:/usr/src # cd kernel-source-2.6.9.redhat-2.6.9.redhat.22.el
root@stefano:/usr/src # make-kpkg clean
root@stefano:/usr/src # make-kpkg -append-to-version=-rh22-0001-i686 -initrd buildpackage

Una volta conclusa l'operazione di compilazione, avremo il nostro pacchettino pronto per essere installato.

root@stefano:/usr/src # cd..
root@stefano:/usr/src # ls -la kernel*rh22*

Potete installarlo semplicemente cosi:
dpkg -i kernel-image-2.6.9-rh22-0001-i686_i386.deb

Conclusione

E' una guida che ho scritto molto velocemente, basandomi sopratutto su un Tutorial che ho trovato su debian-administration.com, ecco il link: http://www.debian-administration.org/articles/274
Quello che vi ho presentato è solo una minima parte di ciò che questa applicazione è in grado di fare, se qualcuno vuole approfondire o ampliare questa Guida è sempre ben accetto.

Grazie, spero di eservi stato utile, ancora per una volta.

Ciao.

Wink