Cómo compilar el kernel de Linux en CentOS 7


La ejecución de un kernel de Linux compilado personalizado siempre es útil, especialmente cuando busca habilitar o deshabilitar funciones específicas del kernel, que no están disponibles en los kernels suministrados por la distribución predeterminada.

En este artículo, explicaré cómo compilar y usar el último kernel de Linux a partir de las fuentes en la distribución de CentOS 7 (las instrucciones proporcionadas aquí también funcionan en RHEL y Fedora).

Si no desea pasar por esta configuración compleja, siga nuestro artículo sencillo que explica Cómo instalar o actualizar a Kernel en CentOS 7 usando un repositorio RPM de terceros.

Instalar los paquetes necesarios para la compilación del kernel

Primero, asegúrese de actualizar sus repositorios de paquetes de software, instalar las herramientas de desarrollo necesarias para compilar un kernel e instalar la biblioteca ncurses usando el siguiente comando yum.

# yum update
# yum install -y ncurses-devel make gcc bc bison flex elfutils-libelf-devel openssl-devel grub2

Compile e instale el kernel en CentOS 7

Descargue las últimas fuentes de Kernel 4.17 usando kernel.org.

# cd /usr/src/
# wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.11.tar.xz

Extraiga los archivos archivados y cambie los directorios usando los siguientes comandos.

# tar -xvf linux-4.17.11.tar.xz
# cd linux-4.17.11/

Configurar el Kernel en CentOS 7

El Kernel debe estar configurado correctamente con las siguientes opciones de configuración requeridas dentro del entorno CentOS 7.

CONFIG_KVM_GUEST=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_PCI_LEGACY=y
CONFIG_BLK_DEV_SD
CONFIG_SCSI_VIRTIO=y
CONFIG_VIRTIO_NET=y
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y

Le sugiero encarecidamente que copie la configuración del Kernel en ejecución ( .config ) del directorio/boot al nuevo directorio del kernel linux-4.17.11.

# cp -v /boot/config-3.10.0-693.5.2.el7.x86_64 /usr/src/linux-4.17.11/.config

Ahora ejecute el comando make menuconfig para configurar el kernel de Linux. Una vez que ejecuta el siguiente comando, aparece una ventana emergente con todos los menús. Aquí puede habilitar o deshabilitar ciertas funciones del kernel. Si no está familiarizado con estos menús, simplemente presione la tecla ESC para salir.

# cd /usr/src/linux-4.17.11/
# make menuconfig

Una vez establecidas las opciones de configuración del kernel, haga clic en Guardar para guardar la interfaz de configuración y salir del menú.

Compilar el Kernel en CentOS 7

Antes de iniciar la compilación del kernel, asegúrese de que su sistema tenga más de 25 GB de espacio libre en el sistema de archivos. Para confirmar, puede verificar el espacio libre del sistema de archivos usando el comando df como se muestra.

# df -h

Ahora compile e instale el kernel y los módulos usando los siguientes comandos (puede llevar varias horas). El proceso de compilación coloca los archivos en el directorio/boot y también crea una nueva entrada del kernel en su archivo grub.conf.

# make bzImage
# make modules
# make
# make install
# make modules_install

Una vez que se complete la compilación, reinicie el sistema y verifique el Kernel recién instalado.

# uname -sr

Eso es. Espero que este artículo les sea de mucha ayuda. Si tiene algún problema o dificultad al compilar o instalar el kernel, no dude en hacer o publicar sus preguntas utilizando nuestro formulario de comentarios a continuación.