Compilación del Núcleo en Linux

Sistemas operativos. Multitarea. GNU. GPL (General Public License). LinuxConf. XWindow. LILO. Kernel

  • Enviado por: El remitente no desea revelar su nombre
  • Idioma: castellano
  • País: España España
  • 7 páginas
publicidad

Compilación del Núcleo

La compilación del nucleo implica la transformación del código, hecho en C, a binario para transformarlo en un archivo que es utilizado por el sistema como nucleo de este. Se debería recompilar el nucleo del sistema una vez instalado este, para así eliminar opciones que estan dentro del él que son innecesarias. Mientras más opciones hay cargadas dentro del nucleo más se tarda en cargarse este y es más lento y más grande es, debido a esto se personalizan los nucleos para tratar de optimizarlo.

Primero hay que seguir unos pasos por seguridad. Se debe hacer copia del nucleo y de los fuentes originales. El nucleo se encuentra el la carpeta /boot, en la versión de Red Hat, este se llama vmliunz... y su número de versión, los fuentes están en /usr/src/linux, la carpeta linux es simplemente un enlace, ya que el nombre de la real es mucho más grande. Tras esto se debe crear un disco de arranque para despues sustituir el archivo del nucleo que este contiene por el que hemos copiado anteriormente y para que esté terminado y el disco fucione hay que modificar una linea en el archivo /etc/lilo.conf.

Ej.

image=/boot/vmlinuz-2.2.16-22 ð image=/boot/vmlinuzOld

Ahora debemos probar que el disquete funciona correctamente. Tras esto tambien debemos hacer copia de los modulos actuales, estos están en la carpeta /lib/modules/[nº de versión] y con esto los pasos de seguridad ya están hechos.

Los fuentes del nucleo no se instalan por defecto, hay que escoger la opción, durante esta o instalar despues más tarde los paquetes, si tienes espacio, ya que se necesita se necesita bastante, hay varios paquetes de Kernel, dos Make y varios gcc. Los paquetes Kernel, son los que contienen los codigos fuentes necesariso, estos se instalan en la carpeta /usr/src/linux y la copia de los fuentes antiguos es porque estos son sustituidos por los nuevos, el Make es un programa que leyendo el archivo MAKEFILE, establece que fuentes hay que compilar y el gcc es el programa que realmente compila el código fuente para transformalo todo en un solo archivo que es el utilizado por el sistema.

Para realizar la compilación hay que realizar unos pasos. Hay que ejecutar una serie de comandos dentro de la carpeta a partir de donde se instalan los fuentes, esta es: /usr/src/linux, ejecutar los siguientes comandos:

  • make config Configuración en modo carácter, esta forma de seleccionar las opciones es bastante tediosa, ya que nos va preguntando, una a una si queremos instalar (y) o no (n) o si queremos, solo si se puede, añadir como un módulo (m) al cargarse el sistema. Esto nos obliga a que si existe una equivocación, la unica solución que nos queda es abortar el proceso y empezar de nuevo.

  • make menuconfig Configuración en modo menú, esta instalación continua siendo en modo texto, pero es con menus y podemos hacer cualquir cambio si no nos gusta como lo estamos haciendo.

  • make xconfig Configuración en modo X Window, esta opción, como se puede imaginar solo funciona si está cargado el entorno vusual, esto cargara un programa en modo visual, a parte de esto, el funcionamiento es igual que la opción anterior.

Estas opciones lo que hacen es trabjar con el archivo MAKEFILE, indicando en el los fuentes que hay que compilar.

Posteriormente hay que ejecutar cada uno de los siguientes estos pasos pasos:

    • make dep Crea las dependencias entre los archivos del código fuente.

    • make clean Borra los ficheros viejos.

    • make zImage Compila el Núcleo, aquí es cuando realmente se debe compilar el nucleo.

    • make modules Compila los Módulos.

Cuando se ha terminado el proceso y no se ha producido ningun error, el nuevo Núcleo (Kernel) quedará en la carpeta:

/usr/src/linux/arch/i386/boot/zImage

y deberemos copiarlo a la carpeta /boot con el nombre que queramos es aconsejable hacer referencia a la version de este:

cp /usr/src/linux/arch/i386/boot/zImage /boot/[nombre del Kernel]

El siguiente paso será instalar los módulos en /lib/modules/[Nº Versión] con la forma:

  • make modules-install

Una vez creado el nuevo Kernel debemos sustituirlo por el antiguo, para lo cual modificaremos el fichero /etc/lilo.conf

Ej.

boot=/dev/hda

map=/bo ot/map

install=/boot/boot.b

prompt

timeout=50

image=/boot/vmlinuz-2.2.5-15

label=linux

root=/dev/hda1

read-only

other=/dev/hdc1

label=win

table=/dev/hdc

map-drive=0x80

to = 0x81

map-drive=0x81

to = 0x80

En este fichero sustituimos la línea:

Image=/boot/vmlinuz-2.2.5-15

Por la nueva línea:

Image=/boot/nombre del Kernel

Llegado a este punto podremos reiniciar el Sistema para probar el nuevo Kernel. Si existiera algún fallo siempre podremos volver a la situación anterior.