Skip to content

Compila tu propio kernel Linux en ArchLinux y añádelo a GRUB

Aprenda a compilar su propio kernel Linux en ArchLinux y añadirlo a GRUB para obtener un sistema más ligero, rápido y seguro.

REDACCIÓN: ADRIEN PIRON • ACTUALIZADO EL 1 DE SEPTIEMBRE DE 2026 • 5 MIN DE LECTURA

Los núcleos Linux suministrados por las distribuciones están diseñados para funcionar en todas partes, desde una distribución Linux para un viejo portátil hasta la última máquina de producción. Este enfoque universal tiene un precio: montones de controladores, sistemas de archivos y subsistemas que nunca utilizarás. Un núcleo más grande y complejo y una superficie de ataque innecesariamente grande. Compilar un kernel minimalista, adaptado a tu hardware y a tus necesidades, no sólo reduce esta complejidad, sino que también mejora la estabilidad, la seguridad y el rendimiento de un servidor de alto rendimiento.

¿Qué es un núcleo minimalista?

Un kernel minimalista es un kernel Linux recompilado que sólo conserva los elementos estrictamente necesarios para el funcionamiento de la máquina de destino. Sólo se integran los controladores correspondientes al hardware realmente presente (tarjeta de red, controlador de almacenamiento, procesador, etc.) y los sistemas de archivos utilizados (ext4, xfs, btrfs, según proceda). Todo lo demás (módulos no utilizados, controladores, subsistemas irrelevantes) se desactiva.

Las distribuciones de consumo o servidor ofrecen un kernel universal capaz de arrancar en casi cualquier hardware. Por ello, incluye miles de controladores y opciones para cubrir el mayor número de casos posible. Un kernel personalizado, en cambio, sólo se dirige a un entorno bien definido, y es más ligero, compacto y predecible.

Un kernel minimalista puede ser útil en un servidor dedicado que solo necesite su tarjeta de red y almacenamiento NVMe, un dispositivo de red optimizado para enrutar o filtrar tráfico de muy alta velocidad, o una máquina virtual especializada en la que sepas de antemano qué periféricos se presentarán al hipervisor. En todos estos escenarios, un kernel minimalista ofrece mayor estabilidad, seguridad y rendimiento.

Smart Ads

¿Cómo se compila un núcleo Linux personalizado?

En primer lugar, hay que instalar las herramientas necesarias para la compilación. Estos paquetes incluyen el compilador, las bibliotecas esenciales y utilidades :

sudo pacman -S --needed base-devel git bc cpio ncurses libelf pahole llvm clang

Puede descargar el código fuente oficial directamente desde el repositorio Git de Linus Torvalds:

git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

En lugar de partir de cero, utilizamos la configuración del núcleo que ya está en uso en su sistema. Esto te permite partir de una base estable y adaptada a tu hardware:

cd linux
zcat /proc/config.gz > .config 2>/dev/null || cp /usr/lib/modules/$(uname -r)/build/.config .config

El kernel evoluciona rápidamente, algunas opciones aparecen, otras desaparecen. El siguiente comando ajusta automáticamente el archivo .config a la versión que acabamos de descargar:

make olddefconfig

En este caso, vamos a pedir al sistema que conserve sólo los controladores realmente utilizados por la máquina. El kernel generado de esta forma será más ligero, pero no podrá ejecutarse en otra máquina.

make localmodconfig

Ejecutamos la compilación, utilizando todos los núcleos disponibles.

make -j"$(nproc)"

A continuación lanzamos la compilación. La opción -j»$(nproc)» permite utilizar todos los núcleos disponibles del procesador para acelerar el proceso:

sudo make modules_install

Copie el binario del kernel con un nombre personalizado (vmlinuz-archeasy).

sudo make install

Para evitar confusiones con el núcleo genérico proporcionado por la distribución, renombramos el núcleo compilado a vmlinuz-archeasy:

sudo cp /boot/vmlinuz /boot/vmlinuz-archeasy

El siguiente paso es crear un mkinitcpio preset, es decir, un archivo de configuración que genere automáticamente el initramfs asociado a nuestro kernel personalizado:

sudo tee /etc/mkinitcpio.d/archeasy.preset >/dev/null << 'EOF'
ALL_config="/etc/mkinitcpio.conf"
ALL_kver="/boot/vmlinuz-archeasy"

PRESETS=('default' 'fallback')

default_image="/boot/initramfs-archeasy.img"
default_options="-S autodetect"

fallback_image="/boot/initramfs-archeasy-fallback.img"
fallback_options=""
EOF

Ahora generaremos el initramfs correspondiente a este preset:

sudo mkinitcpio -p archeasy

Para que el nuevo kernel sea reconocido en el arranque, la configuración de GRUB debe ser regenerada:

sudo grub-mkconfig -o /boot/grub/grub.cfg

Cuando reinicie, vaya a Opciones Avanzadas en el menú de GRUB. Allí encontrará su kernel compilado bajo el título :

Arch Linux, con Linux archeasy.

Smart Ads

Ahora puedes probar este kernel minimalista mientras mantienes el kernel genérico como copia de seguridad.

¿Por qué compilar un núcleo minimalista?

Compilar un kernel minimalista bajo ArchLinux no es sólo un ejercicio técnico, es una forma de recuperar el control sobre tu sistema. Al eliminar todo lo innecesario, obtienes un núcleo que es más rápido de arrancar, más predecible en su comportamiento y, sobre todo, más seguro, porque cada línea de código que eliminas representa un fallo potencial menos.

Este tipo de optimización se adapta perfectamente a entornos exigentes: servidores de alto rendimiento, dispositivos de red o sistemas desplegados en contextos sensibles. En estas situaciones, la ligereza y la fiabilidad se anteponen a la polivalencia. Como dice el refrán: «Menos código significa menos errores y, por tanto, menos vulnerabilidades».

Presión publicitaria
Demasiados lectores utilizan actualmente un bloqueador de anuncios

Permitimos que parte de nuestros lectores consulte nuestros artículos gratis con un bloqueador de anuncios. Sin embargo, su número es actualmente demasiado alto para mantener este acceso para todo el mundo.

Puedes desactivar tu bloqueador para seguir leyendo de inmediato, suscribirte para disfrutar de todo nuestro contenido sin anuncios o volver un poco más tarde, cuando la presión haya disminuido.

Ya he desactivado mi bloqueador

El acceso se restablecerá automáticamente en cuanto la situación lo permita.