Linux
kernel en un RPM Con la colaboración de Elias Rincón (chinazo), 300409. |
Compilación del kernel de linux El kernel de linux se puede compilar ya sea de forma tradicional o utilizando las herramientas de las diferentes distribuciones, Debian o Fedora. El documento inicia con la suposición que ha sido compilado de forma tradicional en una distribución de Fedora. |
Herramientas Serán necesario que el sistema de
gestión de RPMs haya sido instalado. En una instalación
tradicional de Fedora se instalan por defecto:
#rpm -qa | grep rpmdevtools-4.6.0.0.rc1.7.i386 rpm-devel-4.6.0.0.rc1.7.i386 rpm-python-4.6.0.0.rc1.7.i386 rpm-libs-4.6.0.0.rc1.7.i386 rpm-build-4.6.0.0.rc1.7.i386 En caso de que no se encuntre alguno de ellos se instala con el yum: #yum install rpm-build |
Archivo de especificaciones Las especificaciones del archivo RPM se definen en un archivo de texto plano: #vim mikernel.spec Agregamos las especificaciones necesarias, Elias nos muestra la suya: Name: miKernel Summary: Kernel de Linux, nucleo del Sistema Operativo Version: 2.6.27.4 Release: chinazo.23 License: GPL Group: Kernel Vendor: The Linux Community - mod por chinazo. URL: http://elias.exofire.net BuildRoot: /var/tmp/%{name}-%{PACKAGE_VERSION}-root Provides: kernel-2.6.27.4-chinazo.23 %description Kernel de Linux modificado por Elias Rincon Cruz [aka chinazo] %build %install mkdir -p $RPM_BUILD_ROOT/boot mkdir -p $RPM_BUILD_ROOT/lib/modules cp /boot/System.map-2.6.27.4-chinazo.23 $RPM_BUILD_ROOT/boot/System.map-2.6.27.4-chinazo.23 cp /boot/initrd-2.6.27.4-chinazo.23.img $RPM_BUILD_ROOT/boot/initrd-2.6.27.4-chinazo.23.img cp /boot/vmlinuz-2.6.27.4-chinazo.23 $RPM_BUILD_ROOT/boot/vmlinuz-2.6.27.4-chinazo.23 cp -r /lib/modules/2.6.27.4-chinazo.23/ $RPM_BUILD_ROOT/lib/modules/ %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %dir /lib/modules /boot Notas: 2.6.27.4-chinazo.23 es una versión de ejemplo, será necesario respetar el nombramiento de cada distribución |
Creación del RPM El archivo con las especificaciones es utilizado por la herramienta rpmbuild para la creación del RPM: #rpmbuild -bb mikernel.spec Se creará un archivo RPM con el nombre definido en el archivo .spec, en la ruta de construcción: /usr/src/redhat/RPMS/i386 El paquete puede ser incluido en un repositorio, o para la creación de un LiveCD y funcionará como cualquier paquete RPM basado en Red Hat o Fedora |
|