Una
pequeña nota antes de comenzar: si está volviendo a compilar un
núcleo con una versión idéntica al que ya está presente en su
sistema, primero debe borrar los módulos antiguos. Por ejemplo, si
está recompilando 2.6.10
, debe borrar el
directorio /lib/modules/2.6.10
.
La compilación del núcleo y de los módulos, y la posterior instalación de los módulos se hace con las líneas siguientes:
make clean make all make modules_install install
Un poco de
vocabulario: Cualquier argumento como clean
,
all
, etc., se denominan
objetivos. Note que, comenzando con el núcleo
2.6
, existe un objetivo denominado
all
(todo). Si ejecuta este objetivo es lo mismo
que ejecutar (en la arquitectura x86) los objetivos
bzImage
y modules
. Esta nueva
opción construirá los objetivos preferidos para una arquitectura
dada. Antes de 2.6
, cada arquitectura tenía un
nombre de opción diferente para compilar el núcleo. Si especifica
varios objetivos para make como se muestra arriba, se
ejecutarán los mismos en orden de aparición. Pero si uno de los
objetivos falla, make no continuará más[43].
Veamos los objetivos diferentes y qué es lo que hacen:
bzImage
: esto construye el
núcleo. Note que este objetivo sólo es válido para los
procesadores x86 y
x86_64. Este objetivo también genera el
archivo System.map
para este núcleo. Más
adelante veremos para que se usa este archivo.
modules
:
como su nombre (en inglés) lo indica, este objetivo generará los
módulos para el núcleo que construyó recién. Si ha elegido no
tener módulos, este objetivo no hará cosa alguna.
all
:
este objetivo generará la imagen del tipo de núcleo preferido y
los módulos correspondientes a la arquitectura dada.
modules_install
: esto instalará
los módulos. De manera predeterminada, los módulos se instalarán
en el directorio
/lib/modules/<versión-del-núcleo>
.
Este objetivo también computa las dependencias de los
módulos.
install
:
este último objetivo finalmente copiará el núcleo y los módulos a
los lugares correctos y modificará las configuraciones del
cargador de arranque para que el núcleo nuevo esté disponible al
momento de arrancar la máquina. No lo utilice si prefiere
realizar una instalación manual como se describe en Sección 7, “Instalando el núcleo
nuevo manualmente”.
Ahora todo está compilado e instalado correctamente, ¡listo para ser probado! Simplemente vuelva a arrancar la máquina y elija el núcleo nuevo en el menú de arranque. Note que todavía está disponible el núcleo antiguo de forma tal que lo puede usar si experimenta problemas con el nuevo. Sin embargo, puede elegir instalar manualmente el núcleo y cambiar los menús de arranque a mano. De esto se trata la sección siguiente.
[43] En este caso, si falla la compilación, significa que hay un error en el núcleo... De ser así, por favor ¡repórtelo!