La misión de este mini how to no es la de hacer una clase magistral sobre la compilación del kernel en debian sino la de recordarme los pasos necesarios para compilar un kernel en debian, ya que cada vez que compilo el kernel tengo que buscarlos por la red.
1- Primero instalamos las dependencias y el kernel
OeX:/home/oex# apt-get install gcc kernel-package kernel-source-2.4.18 libc6-dev tk8.3 libncurses5-dev fakeroot
OeX:/home/oex# apt-get install kernel-source-2.6.8
OeX:/home/oex# cd /usr/src/
2- Descomprimir el kernel
OeX:/usr/src# tar -xvjf kernel-source-2.6.8.tar.bz2
esto tardara un poco, depende de tu procesador
3- Configurando el kernel
OeX:/usr/src# cd kernel-source-2.6.8
OeX:/usr/src/kernel-source-2.6.8# make menuconfig
Seleccionamos las opciones de nuestro pc
Al salir de la aplicación se graba un archivo ".config" con todas nuestras opciones del kernel
si compilas por primera vez el kernel en tu pc, tienes que tener en cuenta que debian tiene casi todo el kernel cargado en módulos y los utiliza en tu instalación dependiendo de tu hardware.
Para optimizar el kernel debes cargar solo las partes que necesites, esto lo decides en el archivo .config utilizando el comando make menuconfig
Un problema que he tenido con el kernel es que el filesystem de ext3 por defecto viene en module ext3_fs=m y no arranca el kernel lo cargas con el kernel y listos EXT3_FS=y
4- Compilando el kernel
OeX:/usr/src/kernel-source-2.6.8# make-kpkg --append-to-version=.160905 kernel_image
--append-to-version=.160905
Esto sirve para darle una versión al paquete .deb, si quieres, esto te servirá para distinguirlo entre los diferentes paquetes, en mi caso añado .160905 por la fecha 16/09/05, manías
esto tarda un huevo, dependiendo del procesador, claro
Si todo va bien esto te debería generar un archivo .deb en el directorio /usr/src/
en mi caso:
/usr/src/kernel-image-2.6.8.160905_10.00.Custom_i386.deb
5- Instalado el kernel
OeX:/usr/src/kernel-source-2.6.8# cd ..
OeX:/usr/src# dpkg -i kernel-image-2.6.8.160905_10.00.Custom_i386.deb
Listo el kernel ya esta instalado, ya podemos reiniciar la maquina y probar el nuevo kernel seleccionado la nueva versión del kernel en inicio, en el grub
¡OJO! Esta es la teoría pero en los momentos de escribir este how to no funciona bien el mecanismo de generación del archivo initrd. pq?, ni idea, ya lo mirare
para solucionarlo te puedes crear el initrd tu mismo, manos a la obra
OeX:/usr/src# mkinitrd -o /boot/initrd-img-2.6.8.2 2.6.8.160905
Nótese que 2.6.8.160905 esta separado de la ruta donde generamos el archivo nuevo, esto indica la instalación de módulos del kernel que hemos hecho, en mi caso /lib/modules/2.6.8.160905
al no generarse el archivo initrd, el grub omite esta linea y no es capaz de arrancar el kernel para añadir esta linea al gestor de arranque grub, editamos el fichero del grup
OeX:/usr/src# vi /boot/grub/menu.lst
añadimos esta entrada (Siempre deja una conf de un kernel que te funcione bien)
##-----Desde Aquí----##
title Debian GNU/Linux, kernel 2.6.8.160905
root (hd0,1)
kernel /boot/vmlinuz-2.6.8.160905 root=/dev/hda2 ro
initrd /boot/initrd-img-2.6.8.2 #<--Esta es la linea que falta
savedefault
boot
##-----Hasta Aquí----##
ahora si, ya podemos reiniciar el pc y probar nuestro nuevo kernel, recuerda seleccionar el nuevo kernel al arrancar
Bueno espero que a alguien le sirva este mini how to, y si es el caso please pulsa la publicidad que es lo único que mantiene este site thanks.
OeX