Búsqueda de sitios web

Cómo compilar el kernel de Linux en CentOS 7


Ejecutar 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 proporcionados por la distribución predeterminada.

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

Si no desea realizar estas complejas configuraciones, siga nuestro sencillo artículo que explica cómo instalar o actualizar el kernel en CentOS 7 utilizando un repositorio RPM de terceros.

Instalar los paquetes necesarios para la compilación del kernel

Primero, asegúrese de actualizar los repositorios de sus 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 del Kernel 4.17 usando el comando wget en el directorio /usr/src/ o también puede descargar el último kernel yendo a 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 utilizando 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 recomiendo encarecidamente que copie la configuración del kernel en ejecución (.config) del directorio /boot al directorio del nuevo 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 ejecute el siguiente comando, aparecerá 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 que las opciones de configuración de su kernel estén configuradas, haga clic en Guardar para guardar la interfaz de configuración y salir del menú.

Compile 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 compila e instala el kernel y los módulos usando los siguientes comandos (puede tardar 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 todo. Espero que este artículo sea de mucha ayuda para todos ustedes. 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.