En este pequeño articulo os explicare una de las cosas que mas vamos ha hacer en nuestro Sistema Operativo favorito, el Linux. ¿Y que es el Kernel? Es fácil, seguramente muchos de vosotros si habéis estado algún tiempo en Windows, habréis recibido algún mensaje de "error en kernel", "el kernel esta jodio" o algo similar. Nuestro windows, cuando habla del Kernel, esta hablando el "corazón" de nuestro sistema operativo. Es el encargado de hacer funcionar nuestra maquina, conectar los diferentes componentes de nuestro hardwares, etc. En resuman, sin kernel no hay sistema operativo.
El kernel del linux suele acutalizarse cada poco tiempo, introduciendo nuevas características, corrigiendo fallos, etc. En el momento en el que escribo estas lineas, ya va por la versión 2.2.15. Como veis, el kernel pertenece a la familia 2.2, y es la 15ª actualización. La forma de numeración es sencilla. Los kernels se diferencian entre los estables, y los que no los son tanto... Si el segundo numero de la version del kernel es par, entonces nos encontramos ante una versión estable. Si por el contrario es impar, es una versión inestable, que aunque el nombre asuste... no se te va a estar colgando cada poco tiempo, si no que incluye muchas cosas que aun se encuentran en prueba, y puede que no funcionen bien, o puedan producir errores. Así, una versión 2.3.x estaría todavía en desarrollo, y no se recomienda su instalación. Por el contrario, un kernel del tipo 2.2.x esta libre de problemas y es estable, aunque tenga menos características que la 2.3.x.
En estos momentos se esta desarrollando en nuevo kernel estable, que según se rumorea será un gran salto para el mundo de linux. No voy ha hablar de lo que traerá en nuevo kernel 2.4.x, porque no tengo ni idea, pero os podréis documentar fácilmente en linux.org o linux.com.
Bien,
después de esta mini-presentación, vamos a comenzar a
instalar y actualizar nuestro nuevo Kernel. Tenemos el archivo
comprimido con las fuentes del kernel, que generalmente suele ser en
formato *.tar.gz o *.bz2. Si se trata de un archivo "tar.gz"
se descomprime escribiendo en la linea de comandos "tar -xzf
nombredearchivo.tar.gz", si por el contrario se trara de un
*.bz2... en estos momentos no tengo ni idea de como se descomprimen
:) La descompresión se puede realizar en cualquier directorio
de nuestro disco duro, aunque se recomienda hacerlo en
/usr/src/linux, para que no tengamos problemas de compatibilidad con
algunos programas que son necesarios para compilar en kernel, ya que
estos generalmente buscaran los archivos en el directorio que he
mencionado anteriormente, y si lo instalamos en otros, solo vamos a
dificultar mas las cosas.
Bien, despues de haber descomprimido nuestro kernel, solo queda configurarlo y compilarlo. Como ya sabréis el kernel no viene compilado, ya que se distribuye en diferentes archivos fuente. Pero antes de pasar a la compilación, habrá que configurarlo con las opciones que deseemos, porque... ¿para que vamos a instalar la opción para utilizar tarjetas SCSI si no disponemos de ellas, por ejemplo? Lo único que lograríamos seria perder tiempo y memoria.
Antes la configuración del kernel se hacia desde la linea de comandos, respondiendo a cada una de las preguntas que se te iban formulando, pero ahora con esa manía de hacer todo mas fácil, también se puede hacer desde menús sencillos, o mejor aun, ¡desde nuestro gestor de ventanas favorito! Cada uno debe seleccionar la opción que mas le guste. Si eres novato en esto, será mejor utilizar la opción de configuración desde el gestor de ventanas. Si estas harto de ventanitas, puedes hacerlo desde un menú desde la linea de comandos, o mejor aun, utilizando la primera opción de la que os he hablado.
Si deseamos hacerlo mediante la linea de comandos, respondiendo a cada una de las preguntas que nos realice, deberemos escribir en la consola del sistema, make config (esto escribirlo dentro del directorio /usr/src/linux). A partir de ahora solo queda comenzar a responder a cada una de las preguntas, y cuando acabemos compilarlo, pero ya hablaremos de esto mas adelante.
Si queremos hacerlo desde un sencillo menú desde la consola del sistema, únicamente debemos escribir en la linea de comandos lo siguiente: make menuconfig. Configuramos todo el kernel a nuestro gusto, grabamos los cambios, salimos y compilamos.
Y
por ultimo, si deseas hacerlo todo sin salir de tus preciadas
ventanitas, con escribir (no te va a pasar nada por soltar el ratón)
make xconfig, veras un precioso menú para seleccionar todas
las opciones que creas oportunas a golpe de ratón.
Y seguramente muchos os preguntareis que opciones son esas... fácil. Como ya he dicho antes el kernel es el encargado de hacer que todo el hardware se entienda y funcione perfectamente, así que nosotros tendremos que configurarlo teniendo el cuenta el ordenador que tenemos entre manos. Instalaremos soporte para SCSI si disponemos de el, soporte para tarjetas de sonido, para puertos, para modems RDSI, soporte para USB, Plug and Play, etc. En pocas palabras, tendrás que decirle al kernel que coño es lo que tienes en ese ordenador.
Después de configurar todo, solo nos queda compilarlo, para que funcione como Dios manda. Este proceso suele ser bastante largo, pero tranquilo, que tu solo tendrás que escribir cuatro cosas, el proceso en realidad es largo para el ordenador.
Estos son los comandos que debes introducir:
make dep
make clean
make zImage
También se pueden introducir todos los comandos en unas sola linea (make dep clean zImage), para que se ejecuten uno detrás de otros y nos podamos ir a tomar un café o cualquier otra cosa, pero esta forma es menos segura. Ya que si en algún punto de la compilación surge algún error, no podremos verlo para después solucionarlo. Después de la compilación el kernel comprimido se encuentra en el directorio /usr/src/linux/arch/i386/boot. La imagen del kernel, esto es, el fichero que contiene el kernel se llama zImage. Si no lo encontramos, quiere decir que no se a podido concluir la compilación. Esto suele deberse a que el kernel es demasiado grande para ser compilado, así que deberemos usar compilar de nuevo con make bzImage, para indicarle que el kernel va a ser mu grande, y que luego no se asuste.
Si algunas de las funciones del kernel funcionan como módulos, es recomendable instalarlas también, con la opción make modules. Ahora solo queda completar la instalación, configurando lilo para que utilice el nuevo kernel, escribiendo el la linea de comandos make zlilo lo hará automáticamente.
Y aquí se acaba todo, como ves, tener linux a la ultima no es tan difícil, con recordar cada uno de los paso ya es suficiente, ni siquiera tienes que saber que es lo que hace cada uno, para eso ya habrá tiempo. También quiero recordar que lo he explicado muy por encima, para no meterme en demasiados rollos que no llevarían a nada, ¡¡¡pero que mejor que experimentar uno mismo!!!
Nada
mas, espero que os haya interesado el articulo. Nos vemos en la
próxima BZ, y viva el software Libre!!!!
(Una ultima cosa. Cuando nos referimos al linux en realidad nos referimos al Kernel, pero bueno... para no meter mas lio no lo he explicado)