ArchiTecnologia

Aprendizaje abierto. Conocimiento libre.

ArchiTecnologia
CertificacionesLinuxLPITutorial

LPIC-2 Tema 201.2: cómo compilar el kernel Linux

En esta otra entrada, se continúa con el contenido sobre el kernel Linux. El Tema 201.2 de las certificaciones LPIC-2 trata precisamente de la configuración, compilación e instalación del kernel. Es decir, de cómo pasar del código fuente descargado a un binario de la imagen que pueda ser arrancada y utilizada en el sistema operativo.

Los candidatos a os exámenes deberán demostrar sus competencias sobre cómo configurar el kernel Linux de forma correcta para adaptarse al hardware de la máquina (o a otro si es compilación cruzada) y las necesidades, así como el proceso de compilación e instalación de la imagen en el lugar correcto.

Procedimiento de compilación del kernel Linux paso a paso

El procedimiento se compone de varias partes que son:

  1. Asegurarte de que todas las dependencias están satisfechas, es decir, tener las bibliotecas, herramientas y compilador necesario.
  2. Descargar las fuentes del kernel.
  3. Ejecutar los objetivos de make que correspondan a la configuración (make menuconfig, make xconfig…).
  4. Configurar todas las opciones necesarias para determinar cómo será el kernel a construir.
  5. Compilar las fuentes ya configuradas para generar la imagen binaria y comprimida del kernel Linux. Un proceso que, dependiendo del rendimiento de tu equipo y del tamaño del kernel, podría tardar un buen rato…
  6. Instalar la nueva imagen del kernel para que el gestor de arranque la cargue en el próximo inicio. Siempre dejando la versión previa sin eliminar, ya que en caso de que la nueva versión no arrancase por algún fallo en la configuración, siempre podrías arrancar el sistema desde la versión anterior. Si la eliminas, el sistema no se podrá arrancar…

Recuerda que debes conocer bien todos los objetivos (targets) de make.

Los pasos que deberías realizar son básicamente estos (podría variar según la versión del kernel):

#Partiendo de que ya has descargado las fuentes, has verificado y las tienes en el lugar correcto...

#Lo primero es determinar las características o módulos necesarios
cd linux-5.11.2
cp -v /boot/config-$(uname -r) .config

#Asegúrate de que tienes las dependencias de los paquetes satisfechas y herramientas necesarios para el proceso
#Por ejemplo, para DEB:
sudo apt-get install build-essential libncurses-dev bison flex libssl-dev libelf-dev<br />sudo yum group install "Development Tools"

#Ahora usa el objetivo de make que más te guste para la configuración. Por lo general, el favorito de la mayoría es
make menuconfig

#Eso abre el menú de configuración. Puedes desplazarte con las flechas hasta HELP para obtener ayuda
#Configura lo que necesites... Si lo dejas tal cual se configurará un kernel muy genérico, poco optimizado, pero que funcionará con la mayoría de equipos

#Ahora toca compilar (la opción -j seguida del número de núcleos/threads de tu CPU no es obligatoria, pero acelerará el proceso)
#Por ejemplo, para usar 8 núcleos/threads
make -j 8

#Espera a que se complete, puede tardar un buen rato...

#Cuando finalice, instala los módulos del kernel
sudo make modules_install

#Ahora ya tienes la imagen binaria del kernel lista. Instala la imagen
sudo make install

#Eso generará tres nuevos ficheros en /boot, que son initrd.img-5.11.2, System.map-5.11.2, y vmlinuz-5.11.2

#Debes actualizar GRUB para que reconozca la nueva imagen y la arranque (puede variar en función de la distro)
sudo update-initramfs -c -k 5.11.2
sudo update-grub

#Reinicia, y si todo fue bien, tu distro estará usando el nuevo kernel
reboot

#Comprueba la versión con
uname -a

Como el procedimiento es algo extenso para explicarlo con texto de forma detallada, y no puedo publicar el vídeo de mi curso donde explico esto (por cuestiones de derechos), te recomiendo ver algunos de los vídeos de YouTube que hay sobre ello…

Isaac

Apasionado de la computación y la tecnología en general. Siempre intentando desaprender para apreHender.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Si continuas utilizando este sitio aceptas el uso de cookies. más información

Los ajustes de cookies de esta web están configurados para "permitir cookies" y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en "Aceptar" estarás dando tu consentimiento a esto.

Cerrar