next up previous contents index
Siguiente: Agregando un controlador de Subir: Actualizando e instalando software Anterior: Actualizando e instalando software   Índice General   Índice de Materias


Actualizando el núcleo

Actualizar el núcleo es sólo un asunto de obtener las fuentes del núcleo y compilarlas. Esto es generalmente un proceso sin dificultad; sin embargo, uno puede tener problemas si trata de actualizar a un núcleo en desarrollo, o actualizarlo a una nueva versión. La versión de un núcleo tiene dos partes: la versión del núcleo, y el nivel del parche. Cuando esto fue escrito, la última versión estable del núcleo era la 2.0.33. Los números 2.0 representan la versión del núcleo, y los números 33 es el nivel del parche. Las versiones del núcleo señaladas con números impares, por ejemplo 2.1 son núcleos en desarrollo. Manténgase lejos de este tipo de núcleos, ¡a menos que quiera vivir peligrosamente! Como regla general, uno debería ser capaz de actualizar su núcleo fácilmente a otro nivel de parche; sin embargo, actualizar a una nueva versión requiere, a su vez, la actualización de las utilidades del sistema que interactúan íntimamente con el núcleo.

El código fuente del núcleo Linux puede ser obtenido de cualquiera de los servidores FTP de , (ver la página [*] para una lista de ellos). En sunsite.unc.edu, por ejemplo, las fuentes del núcleo se encuentran en /pub/Linux/kernel, organizado en subdirectorios por número de versión.

El código fuente del núcleo es publicado en un fichero tar comprimido con gzip. Por ejemplo, el fichero que contiene el código fuente del núcleo 2.0.33 es linux-2.0.33.tar.gz

Las fuentes del núcleo deberán descomprimirse y desempaquetarse en el directorio /usr/src, creando el directorio usr/src/linux. Es una costumbre común que, /usr/src/linux sea un enlace blando a otro directorio que contenga el número de versión del núcleo, tal como /usr/src/GNU/Linux-2.0.33. De esta manera, se podrán instalar nuevos códigos fuente y verificar su correcto funcionamiento, antes de eliminar los fuentes del núcleo antiguo. Los comandos para crear el enlace al directorio donde se aloja el código fuente del núcleo son:


\begin{tscreen}
\char93  cd /usr/src \\
\char93  mkdir linux-2.0.33 \\
\char93...
... ln -s linux-2.0.33 linux \\
\char93  tar xzf linux-2.0.33.tar.gz
\end{tscreen}

Cuando se actualiza a un nuevo nivel de parche de la misma versión del núcleo, un fichero de nivel de parche puede resultar en un ahorro de tiempo en la transferencia de ficheros, puesto que las fuentes del núcleo tienen un tamaño alrededor de los 7 Mb. tras ser comprimidas con gzip. Para actualizar del núcleo 2.0.31 al núcleo 2.0.33, habría que descargar los parches patch-2.0.32.gz y patch-2.0.33.gz, los cuales pueden encontrarse en el mismo servidor FTP de las fuentes del núcleo. Tras haber ubicado los parches en el directorio /usr/src/, se deben aplicar en las fuentes del núcleo, uno tras otro para actualizar el código fuente. Una forma de hacer esto sería


\begin{tscreen}
\char93  cd /usr/src \\
\char93  gzip -cd patch-2.0.32.gz $\mid$\ patch -p0 \\
\char93  gzip -cd patch-2.0.33.gz $\mid$\ patch -p0
\end{tscreen}

Después de desempaquetar los fuentes y de aplicar los parches, necesitará asegurarse de que existan tres enlaces simbólicos en /usr/include, los cuáles son justo los que necesita el núcleo de su distribución. Para crear dichos enlaces, se podrán usar las órdenes
\begin{tscreen}
\char93  cd /usr/include \\
\char93  rm -rf asm linux scsi \\
...
...de/linux linux \\
\char93  ln -s /usr/src/linux/include/scsi scsi
\end{tscreen}

Después de que haya creado los enlaces, no existe ninguna razón para que deba crearlos nuevamente la próxima vez que se instale el siguiente parche, o una nueva versión del núcleo. (Para más información sobre enlaces simbólicos: ver sección 3.11)

A fin de compilar el núcleo, habrá que tener el compilador de C gcc instalado en su sistema. Para compilar la versión 2.0 del núcleo, se requiere el gcc, versión 2.6.3 o más reciente.

Primero cambie de directorio a /usr/src/linux. La orden make config irá preguntando por un número de opciones de configuración. Éste es el paso dónde se selecciona el hardware al que el núcleo podrá dar soporte. La equivocación más grande a evitar, es no incluir soporte parar el/los controlador/es del/los disco/s duro/s. Sin el correcto soporte para el disco duro en el núcleo, el sistema ni siquiera se iniciará. Si en el proceso, se siente inseguro sobre lo que significa una de las opciones del núcleo, está disponible una corta descripción pulsando ? y Enter

Lo siguiente será ejecutar la orden make dep para actualizar todas las dependencias del código fuente. Éste es, también, un paso importante. make clean eliminará los ficheros binarios antiguos del árbol del núcleo.

La instrucción make zImage compila el núcleo y lo escribe en el fichero /usr/src/linux/arch/i386/boot/zImage. Los núcleos de Linux en los sistemas Intel, están siempre comprimidos. Algunas veces, el núcleo que se desea compilar es demasiado grande para ser comprimido por el sistema de compresión que usa make zImage. Un núcleo excesivamente grande para dicho sistema de compresión, retornará del proceso de compilación del núcleo con el siguiente mensaje de error: Kernel Image Too Large. Si esto llegara a pasar, se debe tratar con la orden make bzImage. Esta orden usa un sistema de compresión que soporta los núcleos grandes. El núcleo será escrito en /usr/src/linux/arch/i386/boot/bzImage.

Una vez que se tenga el núcleo compilado, se podrá copiar a un disquete de arranque, (por ejemplo, con la orden ``cp zImage /dev/fd0''), o se podrá instalar la imagen, y así, LILO iniciará el sistema desde el disco duro. Para más información, ver la página [*].


next up previous contents index
Siguiente: Agregando un controlador de Subir: Actualizando e instalando software Anterior: Actualizando e instalando software   Índice General   Índice de Materias
Ismael Olea 2002-09-26