En principio decir que este post me lo pidió un amigo internauta Wiward_X del canal IRC #Rsecurity donde también me podéis encontrar (no siempre pero a menudo), por eso me he decidido ha hacerlo de una manera sencilla pero no rápida que todos podamos compilarlo sin tener que dedicar tanto tiempo a su compilación, si a su compilación por que hay varias opciones una de las cuales tienes como mínimo que contestar a unas 3000 preguntas quizá exagero 2999 o un montón, la otra opción no tiene tantas preguntas pero no vamos a tocar nada de momento, lo podréis hacer después una vez probado el kernel y poder ponerlo ha vuestro gusto, otra cosa recomiendo espacio al menos 10 gigas mas vale que sobre que no que falte.
Bueno para empezar necesitamos tener unos paquetes instalados y son estos:
sudo apt-get install unzip libncurses5-dev mkinitrd-tools
Una vez instalados vamos a empezar descargando el Kernel desde aquí.
No se si os abra picado la curiosidad en instalar el nuevo Kernel 3.0-rc4, si es así podéis seguir con el tutorial, pero si queremos otro kernel tendréis que cambiar algunos pasos jajajjaja.
Primero de todo entrar como superusuario así estaremos seguros de que no nos echara hacia atrás por no tener permisos.
sudo su
Una vez descargado el Kernel lo descomprimimos
Si lo descargaste tar.gz o tgz
tar zxvf linux-2.6.15.2.tar.gz
tar zxvf linux-2.6.15.2.tgz
Si lo tienes en tar.bz2 como es nuestro caso, la sintaxis mas común es:
tar jxvf linux-2.6.15.2.tar.bz2
En algunas distribuciones la sintaxis es diferente
tar Ixvf linux-2.6.15.2.tgz2
tar yxvf linux-2.6.15.2.tgz2
Una vez descomprimido el archivo veremos un directorio con el siguiente nombre linux-3.0-rc4 a continuación creamos un enlace simbólico
ln -s linux-3.0-rc4 linux
y entramos al directorio
cd linux
Cuarto Paso: Listos para configurar el kernel ejecutamos el siguiente comando
make menuconfig
te aparecerá el menú de configuración del kernel aquí pulsando “Enter” entramos a los distintos menús, pulsando “Y” incluimos lo que seleccionamos como parte de la imagen del kenel, pulsando “M” lo incluiremos como modulo (no ocupara espacio en la imagen del kernel), pulsando “N” lo excluiremos de la imagen y si pulsamos “?” nos mostrara información sobre el menú u opción.
[ * ] o indica que la opción sera compilada como parte del kernel.
[ ] o indica que la opción no esta incluida.
[M] o indica que la opción esta como modulo.
Recomiendo que cuando vayas a compilar por primera vez no modifiques ninguna opción, simplemente déjalo como esta, guárdalo y sigue con los siguientes pasos, una vez que hayas logrado compilarlo entonces si te recomiendo que vayas afinando la configuración de tu kernel y lo vuelvas a compilar.
Habiendo configurado el kernel procedemos a la compilación del kernel e instalación de los módulos:
make dep clean
make bzImage
make modules modules_install
copiamos la imagen al directorio boot
cp /usr/src/linux/arch/i386/boot/bzImage /boot/kernel-3.0-rc4
y creamos el mapa de la imagen:
mkinitrd -o /boot/kernel-3.0-rc4.img /lib/modules/3.0-rc4/
Editamos el GRUB, abrimos el archivo de configuración del GRUB con un editor de texto como nano
nano /boot/grub/menu.lst
después de la linea que dice ## ## End Default Options ## colocamos las siguientes lineas:
title Kernel compilado por mi
root (hd0,1)
kernel /boot/kernel-3.0-rc4 root=/dev/hda2 ro
initrd /boot/kernel-3.0-rc4.img
savedefault
boot
En la etiqueta title donde dice “Kernel compilado por mi” le colocas el titulo que quieras, este aparecerá en el menú del GRUB al iniciar el computador.
En la etiqueta root donde dice “(hd0,1)” se coloca la ubicación donde esta el directorio boot en nuestro caso se encuentra en el hd0 es decir disco duro cero, partición 1, lo que en otra nomenclatura seria hda2, en la nomenclatura del GRUB el numero de discos y de particiones comienzan a partir de 0, es decir si tienes el directorio boot en el disco duro 1 partición 2 la sintaxis en el GRUB seria (hd0,1).
Guardas los cambios y listo reinicias el sistema y eliges tu nuevo kernel.