domingo, 31 de mayo de 2009

Recompilando el Kernel

Mirando la documentación de Cache FS
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob_plain;f=Documentation/filesystems/caching/fscache.txt;hb=0882e8dd3aad33eca41696d463bb896e6c8817eb

Nos encontramos con la posibilidad de añadir estadísticas a Cache-FS, esta opción la podemos habilitar recompilando el kernel y modificando la configuración antes de compilar. Deberíamos habilitar estas dos opciones:

CONFIG_FSCACHE_STATS=y
CONFIG_FSCACHE_HISTOGRAM=y

Vamos a explicar los pasos para recompilar el kernel, en nuestro caso sobre CentOS 5.2, y la versión 2.6.30-rc1. Lo primero que hacemos es descargarla desde www.kernel.org, descargamos el tar.bz2 desde http://www.kernel.org/pub/linux/kernel/v2.6/testing/
Copiamos el archivo descargado /usr/src/ y lo descomprimimos con tar xvfj linux-2.6.30-rc1.tar.bz2.

Antes de seguir debemos saber que es necesario que tengamos instalado gcc, y mkinitrd, en caso de no tenerlas las instalaremos con yum en nuestro caso, en otras distros con apt-get, una vez instalados, haremos las siguientes instrucciones:

>make mrproper --> Borramos archivos de configuraciones antiguas
>make menuconfig --> Iniciamos un entorno gráfico para configurar las opciones que se instalarán con el kernel o como módulos (existen otros modos, para este son necesarias las liberias ncurses, yum install ncurses-devel).

Pasos para configurar el histograma y las estadísticas de Cache-FS







Continuamos con estas instrucciones:

>make clean --> Limpia restos de anteriores compilaciones
>make dep --> Establece las dependencias entre los módulos seleccionados
>make bzImage --> Compila el kernel y crea una imagen en el boo
>make modules --> Compila los módulos
>make modules_install --> Instala los módulos
>make install

Con esto debería estar todo, al reiniciar nos aparecerá nuestra nueva versión del kernel, y al iniciar el servicio de Cache-FS en /proc/fs/ tendremos los archivos stats e histogram.