En este artículo, se explica cómo recopilar el núcleo (o kernel) en Linux.
Las siguientes explicaciones se basan en la versión 2.4.20 del núcleo, es decir, la versión más reciente del núcleo en el momento en que se escribió este artículo (marzo de 2003). Las fuentes de la versión más reciente se pueden descargar desde http://www.kernel.org.
![]() |
Las fuentes "pesan" entre 25 y 30 MB. |
Una vez que se obtuvieron las fuentes, encontrará un archivo denominado tar.bz2 o tar.gz, según el caso. Cópielo en el directorio /usr/src/ de su equipo con Linux, pero no los descomprima inmediatamente.
En el directorio mencionado anteriormente, introduzca el siguiente comando:
castor@linuxbox:/usr/src$ ls -al total 8 drwxrwsr-x 2 root src 4096 Feb 8 2002 . drwxr-xr-x 13 root root 4096 May 1 1980 .. lrwxrwxrwx 1 root src 12 Feb 25 15:39 linux -> linux-2.4.18 drwxr-sr-x 2 root src 4096 Feb 25 15:38 linux-2.4.18 -rw-r--r-- 1 root root 27421046 Feb 25 15:37 linux-2.4.20.tar.bz2 castor@linuxbox:/usr/src$
El resultado puede ser diferente en su equipo. Lo primero que se debe hacer es reemplazar el vínculo simbólico linux con el comando rm linux.
Después, se debe descomprimir el tarball que anteriormente se había recuperado. Asegúrese de tener espacio suficiente, ya que las fuentes descomprimidas son de aproximadamente ¡200 MB!
A continuación, se debe crear un vínculo simbólico linux que vaya al nuevo directorio. Según el caso, el directorio en el que las fuentes descomprimidas se ubicarán ya se ha denominado linux. Por lo tanto, se recomienda cambiarle el nombre con el comando mv linux linux-2.4.20.
root@linuxbox:/usr/src# rm linux rm: remove `linux'? y root@linuxbox:/usr/src# tar -xjf linux-2.4.20.tar.bz2 root@linuxbox:/usr/src# ln -s linux-2.4.20 linux root@linuxbox:/usr/src# ls -hal total 27M drwxrwsr-x 4 root src 4.0k Feb 25 15:49 . drwxr-xr-x 13 root root 4.0k May 1 1980 .. lrwxrwxrwx 1 root src 12 Feb 25 15:49 linux -> linux-2.4.20 drwxr-sr-x 2 root src 4.0k Feb 15 15:38 linux-2.4.18 drwxr-xr-x 14 root src 4.0k Nov 29 00:53 linux-2.4.20 -rw-r--r-- 1 root src 26M Feb 25 15:37 linux-2.4.20.tar.bz2 root@linuxbox:/usr/src#
El núcleo de Linux es "modular". Esto significa que algunas opciones, definidas como "módulos", se cargan en el momento en que el núcleo lo requiera. Este procedimiento permite ahorrar memoria, en detrimento de la velocidad de carga. Por ejemplo, cuando se imprime una página cada seis meses, no es útil mantener las plantillas de impresión (puerto paralelo, impresora, etc.) permanente en la memoria. Sólo se cargarán cuando el usuario solicite imprimir.
Por lo tanto, antes de comenzar la configuración del núcleo Kernel es importante familiarizarse con el uso que se requiere del equipo con Linux.
Existen tres comandos para configurar las fuentes: make config, make menuconfig y make xconfig.
Los primeros dos están en modo texto, el tercero requiere un sistema X-window La elección es suya: las tres opciones son completamente equivalentes. Sólo la primera opción es algo más restrictiva ya que requiere una revisión completa de las opciones.
Por mi parte, yo prefiero make menuconfig.
root@linuxbox:/usr/src/linux# make menuconfig ( cd include ; ln -sf asm-i386 asm) make -C scripts/lxdialog all make[1]: Entering directory `/usr/src/linux-2.4.20/scripts/lxdialog' gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o checklist.o checklist.c gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o menubox.o menubox.c gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o textbox.o textbox.c gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o yesno.o yesno.c gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o inputbox.o inputbox.c gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o util.o util.c gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o lxdialog.o lxdialog.c gcc -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -DLOCALE -DCURSES_LOC="<ncurses.h>" -c -o msgbox.o msgbox.c gcc -o lxdialog checklist.o menubox.o textbox.o yesno.o inputbox.o util.o lxdialog.o msgbox.o -lncurses ...
Se recomienda especialmente leer la ayuda en línea para cada opción.
La información que se brinda a continuación puede variar según la versión del núcleo y las opciones que se eligieron anteriormente.
/dev/cpu/microcode - Intel IA32 CPU microcode support /dev/cpu/*/msr - Model-specific register support /dev/cpu/*/cpuid - CPU information supportEstas tres opciones se pueden utilizar sin riesgo alguno y pueden optimizar la administración del procesador.