miércoles, 13 de marzo de 2013

Compilar y Empaquetar un Kernel Linux para Debian


Comencemos por preparar nuestro equipo para poder compilar, para ello deberemos instalar los siguientes paquetes:
# aptitude install libncurses5-dev build-essential kernel-package

Luego deberemos bajar la versión de kernel que pretendemos compilar desde https://www.kernel.org/.
# wget https://www.kernel.org/pub/linux/kernel/v3.x/testing/linux-3.9-rc2.tar.xz

Ahora la descomprimimos:
# tar xvf linux-3.9-rc2.tar.xz

A esta altura, ya se generó un directorio que lleva por nombre la versión del kernel, debemos ingresar a él y ejecutar "make menuconfig"
# cd linux-3.9-rc2
# make menuconfig

Una vez allí, podremos elegir qué módulos incluir en nuestro kernel.



Si ya tenemos un kernel configurado correctamente, podemos evitar este paso copiando nuestro archivo "config" actual desde el directorio /boot.
#cp /boot/config-3.2.0-4-amd64 .config

Llego la hora de compilar y empaquetar el kernel y sus headers.
#make-kpkg clean
#make-kpkg --initrd kernel_image kernel_headers

De esta forma se crearán dos paquetes .deb, uno correspondiente al kernel y otro a sus archivos de cabecera. Solo nos resta instalarlos:
#dpkg -i linux-image-3.9.0-rc2_3.9.0-rc2-10.00.Custom_amd64.deb
#dpkg -i linux-headers-3.9.0-rc2_3.9.0-rc2-10.00.Custom_amd64.deb

Al reiniciar encontrarán un nuevo kernel agregado al boot loader.