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.
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.
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.
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
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.