domingo 5 de agosto de 2007

Compilación kernel 2.6.22

Como dice el titulo de este apartado, en esta ocación nos referiremos a uno de los componentes más importantes de un Sistema Operativo (S.O.) denominado Kernel o Nucleo en español, veremos el significado de este en el ambiente GNU/Linux, su importancia y por su puesto la configuración y compilación de su versión más actual.

¿Compilar el Kernel?

La necesidad de compilar un kernel, nace de poder obtener más soporte para nuestro hardware y sistemas de seguridad, ya que entre una version antigua y una posterior vienen incorporadas con muchas mejora para nuestro sistema


¿Qué es un kernel?

Kernel (Núcleo en español), es la parte fundamental de los sistemas operativos. Es el software encargado de facilitar a los distintos programas, acceso seguro a nuestro hardware o bien el encargado de gestionar recursos para este. El núcleo también es el encargado de decir que programa ocupara primero el dispositivo hardware y durante cuanto tiempo. (si deceas más información pregunta en google).

Comenzaremos nuestro manualillo descargando la versión más actual de kernel 2.6.22 (en este momento), desde su pagina principal www.kernel.org, cuando se haya concluido la descarga creara un archivo con nombre linux.2.6.22.tar.bz2. Este archivo lo debemos copiar y descomprimir en el directorio /usr/src con el comando.
bugga:/home/bugga/Desktop#cp linux.2.6.22.tar.bz2* /usr/src/
bugga:/usr/src#tar xvf linux.2.6.22.tar.bz2
Al momento de terminar la descompresión, ingresamos a la carpeta creada (con nombre de linux.2.6.22) y nos dedicaremos a la limpieza y configuración de kernel e instalación de paquetes
bugga:/usr/src#apt-get install libncurses5-dev
bugga:/usr/src#apt-get install build-essential
bugga:/usr/src/linux.2.6.22#make clean mrproper
clean: Nos asegura que eliminemos todo el código compilado que pueda existir de una compilacion anterior.

mrproper: Eliminará todos los archivos de configuración de reconstrucciones anteriores que estén residentes en los árboles de directorios.
bugga:/usr/src/linux.2.6.22#make menuconfig
menuconfig: Es un programa gráfico, compuesto por menús, donde los componentes son presentados en listas de categorías, siendo posible seleccionar los componentes deseados. Basta con seleccionar el elemento correspondiente al item deseado: Y (si), N (no) o M (módulo).

La idea de configurar el kernel es para adaptarlo a nuestras necesidades, una vez configurado, procedemos a la compilación de este y de los módulos configurados.
bugga:/usr/src/linux.2.6.22#make dep
bugga:/usr/src/linux.2.6.22#make bzImage
bugga:/usr/src/linux.2.6.22#make modules
Acabamos de compilar la imagen de kernel (bzImage) y los módulos (modules).

Instalaremos los módulos y copiaremos nuestra imagen a /boot/
bugga:/usr/src/linux.2.6.22#make modules_install
bugga:/usr/src/linux.2.6.22#cp arch/i386/boot/bzImage /boot/2.4.28.img
Creamos una imagen del initrd.
bugga:/usr/src/linux.2.6.22#apt-get install initrd-tools
bugga:/usr/src/linux.2.6.22#mkinitrd –o /boot/initrd.2.4.28.img /lib/modules/2.4.28
Después de haber terminado nuestra compilación y de un largo tiempo frente a nuestro pc, no dirigimos al fichero de grub y lo editamos el gestor de arranque.
bugga:/usr/src/linux.2.6.22#nano /boot/grub/menu.list
title Debian GNU/Linux, kernel 2.4.28
root (hd0,1)
kernel /boot/2.6.22.img root=/dev/hda1 ro
initrd /boot/initrd.2.6.22.img
savedefault
boot
Reiniciamos y listop tenemos funcionando nuestro kernel al 100%.

0 Comments: