Tengo que admitir que Debian facilita algunas tareas de administración como el proceso de compilado del kernel. A primera vista, el procedimiento luce similar al que vimos de compilar el kernel a lo tradicional pero lo que lo hace diferente es que terminarás con un archivo .deb con la imagen del kernel, de forma que será más fácil instalar la misma imagen en otras computadoras con solo instar el archivo .deb.
Otra ventaja de compilar el kernel en Debian es que no tienes que preocuparte por hacer la imagen intramfs o hacer cambios en el gesto de arranque, ya que Debian lo hace automágicamente.
Entonces, creo que puedes estar interesado en compilar el kernel a lo Debian, así que veamos cómo hacerlo…
Requisitos
Como vas a compilar un kernel, necesitarás algunos archivos y compiladores. También necesitarás ncurses para desplegar diálogos en una consola, y para crear un archivo .deb necesitarás el paquete kernel-package. En Debian puedes instalar todo esto escribiendo:
aptitude install build-essential libncurses5-dev kernel-package
Directorio de trabajo
Es común usar el directorio /usr/src/ al momento de compilar el kernel, controladores y módulos. Entonces, entra a ese directorio:
cd /usr/src/
Procedimiento
Necesitarás las fuentes del kernel para compilarlo. Estas pueden obtenerse desde los repositorios de la distribución o desde kernel.org directamente. En Debian tendrás un archivo tar en el directorio /usr/src/ al instalar el siguiente paquete:
aptitude install linux-source-2.6.30
Si quieres descargarlas desde kernel.org sería algo como como esto:
wget -c http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.2.tar.bz2
Ahora descomprime el archivo tar:
tar xjfv linux-2.6.32.2.tar.bz2
rm linux
ln -s linux-source-2.6.30 linux
Si las descargaste desde kernel.org, debes escribir:
ln -s linux-2.6.32.2 linux
Entra al directorio linux:
cd linux
Si has compilado otros kernels es buena idea limpiar todo antes de comenzar a compilar el kernel nuevo:
make mrproper
Procede ahora a configurar las opciones de tu kernel. Para hacer esto, puedes usar make config (una interfaz interactiva pero algo molesta), make menuconfig (basada en mcurses). Yo sugiero usar la segunda opción:
make menuconfig
Luego de que hayas seleccionado las opciones, escoge Exit para escribir el archivo .config.
A lo Debian
Aquí es donde las cosas son diferentes del procedimiento original porque compilarás tu kernel y sus módulos pero el resultado de la compilación quedará en un archivo .deb. Digamos que quieres compilar una imagen de Linux con los archivos initramfs y headers, la orden y opciones para hacer esto es:
make-kpkg --revision lnv1 --initrd kernel_image kernel_headers
Donde:
| Option | Description |
--revision lnv1 |
Número de versión del archivo .deb generado |
--initrd |
Incluir la imagen initramfs y sus scripts de instalación |
kernel_image |
Generar un archivo .deb con la imagen del kernel |
kernel_header |
Generar un archivo .deb con los headers del kernel |
Para instalar tu nuevo kernel compilado solo instala el archivo .deb como sigue:
dpkg -i /usr/src/linux-image-2.6.32.2-mundungus_lnv1_i386.deb
Esto instalará la imágenes del kernel y el initrd en el directorio /boot y ejecutará en utilitario update-grub automáticamente, de forma que la nueva imagen del kernel aparecerá listada en el menú de grub la próxima vez que reinicies tu computadora.
Planeta Linux