Compilar el Kernel Linux en CentOS 7, Rhel, Fedora y derivados.
El beneficio de compilar tu propio Kernel Linux es muy útil cuando queremos personalizarlo según nuestro interés, sobre todo porque podremos habilitar o deshabilitar funciones específicas del Kernel, que no están disponibles en los kernels que se instalan de manera predeterminada con las distribuciones linux.
En este artículo, vemos cómo compilar e instalar el kernel Linux más moderno, recuerda que las instrucciones también son validas para RHEL y Fedora.
Antes de comenzar… actualizamos el sistema, e instalamos los paquetes y dependencias necesarias.
yum update yum install -y ncurses-devel make gcc bc bison flex elfutils-libelf-devel openssl-devel grub2
Ahora revisamos que versión estable es la ultima, y apropiada para nuestro sistema.
Podemos verlos en la pagina principal del kernel, o casi mejor en la url de las versiones 4.x.
Observamos que la ultima versión estable de la serie 4.x, es la 4.17.11, de manera que vamos a ello.
Compilar el Kernel en CentOS 7
Nos dirigimos al directorio requerido y descargamos la versión seleccionada.
cd /usr/src/ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.17.11.tar.xz
Extraemos el kernel.
tar -xvf linux-4.17.11.tar.xz
Abrimos la carpeta del kernel.
cd linux-4.17.11/
Revisa que las opciones de configuración estén establecidas correctamente.
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
Para evitar problemas, lo mejor es que copies el archivo «.config» que usas actualmente al nuevo kernel (en el ejemplo estamos usando el kernel «3.10.0-693.5.2.e17.x86_64«).
cp -v /boot/config-3.10.0-693.5.2.el7.x86_64 /usr/src/linux-4.17.11/.config
Ejecutamos el «menu config«, ten mucho cuidado con lo que modificas, si en algun momento quieres salir del menú lo puedes hacer con «esc«.
cd /usr/src/linux-4.17.11/ make menuconfig
Tal como te indican las siguientes imágenes, configuras y guardas.
En este momento comenzamos la compilación, te aviso que dependiendo de tu sistema el proceso puede ser bastante largo.
Sigue los comandos tal como te indico.
make bzImage make modules make make install make modules_install
Reinicia el sistema…
Comprueba que la versión instalada es la correcta.
uname -sr
Ya lo tienes compilado e instalado.