Guía de tecnologías

Compilar e instalar un kernel en Mandriva

5 min read Linux Actualizado 09 Oct 2025
Compilar e instalar kernel en Mandriva
Compilar e instalar kernel en Mandriva

5 Compilar el kernel

Para compilar el kernel, ejecuta este comando:

make rpm

Ten paciencia: la compilación del kernel puede tardar varias horas según la configuración del kernel y la velocidad del procesador.

Nota: “make rpm” crea paquetes RPM (binarios y fuente) listos para instalar en sistemas compatibles con RPM.

6 Instalar el nuevo kernel

Tras una compilación exitosa se crearán un src.rpm y un paquete rpm binario. El paquete src.rpm suele estar en /usr/src/rpm/SRPMS/. Averigua su nombre con:

ls -l /usr/src/rpm/SRPMS/

En mi sistema se llamaba kernel-2.6.18.3default-1.src.rpm.

El paquete binario suele ubicarse en /usr/src/rpm/RPMS/ARCH/, por ejemplo:

  • /usr/src/rpm/RPMS/i386/
  • /usr/src/rpm/RPMS/i586/
  • /usr/src/rpm/RPMS/i686/
  • /usr/src/rpm/RPMS/x86_64/

Según tu arquitectura, busca en la carpeta correspondiente. En mi sistema estaba en /usr/src/rpm/RPMS/i386/. Comprobar:

ls -l /usr/src/rpm/RPMS/i386/

Yo encontré kernel-2.6.18.3default-1.i386.rpm.

Instala el paquete rpm así:

cd /usr/src/rpm/RPMS/i386/
rpm -ivh kernel-2.6.18.3default-1.i386.rpm

Puedes transferir este paquete a otros sistemas Mandriva e instalarlo sin recompilar.

A continuación crea un ramdisk (initrd) para el nuevo kernel; de lo contrario es probable que el sistema no arranque con él:

mkinitrd /boot/initrd-2.6.18.3-default.img 2.6.18.3-default

Importante: ajusta nombres y versiones a las de tu paquete.

7 Configurar el cargador de arranque LILO

Debes configurar LILO para que el nuevo kernel arranque tras reiniciar.

Encuentra tu nuevo kernel y ramdisk:

ls -l /boot

Normalmente el kernel comienza con vmlinuz (por ejemplo vmlinuz-2.6.18.3-default) y el ramdisk con initrd (por ejemplo initrd-2.6.18.3-default.img).

Edita /etc/lilo.conf. Observa los stanzas existentes y copia uno como plantilla para la nueva entrada; reemplaza kernel y initrd y coloca la nueva entrada por encima de las demás. Especifica un nombre único en label y pon exactamente el mismo nombre en default para arrancar ese kernel por defecto.

vi /etc/lilo.conf

Por ejemplo, mi lilo.conf era así antes de añadir la nueva entrada:

| # File generated by DrakX/drakboot # WARNING: do not forget to run lilo after modifying this file default="linux" boot=/dev/sda map=/boot/map keytable=/boot/us.klt menu-scheme=wb:bw:wb:bw compact prompt nowarn timeout=100 message=/boot/message image=/boot/vmlinuz label="linux" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5 splash=silent" vga=788 image=/boot/vmlinuz label="linux-nonfb" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5" image=/boot/vmlinuz label="failsafe" root=/dev/sda6 initrd=/boot/initrd.img append=" failsafe resume=/dev/sda5" |

Y quedó así después de añadir la nueva entrada (fíjate en default y label):

| # File generated by DrakX/drakboot # WARNING: do not forget to run lilo after modifying this file default="linux-2.6.18.3-default" boot=/dev/sda map=/boot/map keytable=/boot/us.klt menu-scheme=wb:bw:wb:bw compact prompt nowarn timeout=100 message=/boot/message image=/boot/vmlinuz-2.6.18.3-default label="linux-2.6.18.3-default" root=/dev/sda6 initrd=/boot/initrd-2.6.18.3-default.img append=" resume=/dev/sda5 splash=silent" vga=788 image=/boot/vmlinuz label="linux" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5 splash=silent" vga=788 image=/boot/vmlinuz label="linux-nonfb" root=/dev/sda6 initrd=/boot/initrd.img append=" resume=/dev/sda5" image=/boot/vmlinuz label="failsafe" root=/dev/sda6 initrd=/boot/initrd.img append=" failsafe resume=/dev/sda5" |

Después ejecuta:

lilo

Y reinicia el sistema:

shutdown -r now

Si todo va bien el sistema arrancará con el nuevo kernel. Comprueba la versión con:

uname -r

Debería mostrar algo como:

2.6.18.3-default

Si el sistema no arranca, reinícialo y en el menú de LILO selecciona el kernel anterior para arrancar:

Captura del menú de LILO al arrancar

Puedes intentar otra compilación hasta obtener un kernel funcional. No olvides eliminar la entrada del kernel que no funciona de /etc/lilo.conf y ejecutar:

lilo

después de modificar /etc/lilo.conf.

8 Enlaces


Lista de comprobación antes de compilar e instalar

  • Hacer backup completo del sistema o al menos de /boot y /etc/lilo.conf.
  • Anotar la versión actual del kernel: uname -r.
  • Asegurarse de tener espacio suficiente en /boot y /var/tmp.
  • Confirmar la arquitectura destino (i386, x86_64, etc.).
  • Revisar configuración del kernel (.config) y opciones críticas (sistemas de archivos, controladores de disco).

Importante: realiza estas tareas en un entorno con acceso físico o consola remota segura (KVM/iLO) para poder recuperar el sistema si no arranca.

Plan de recuperación si el sistema no arranca (runbook)

  1. Reinicia y en el menú de LILO selecciona el kernel anterior.
  2. Arranca en modo de rescate o con un kernel conocido bueno.
  3. Revisa /var/log/messages y dmesg por errores de módulos o controladores.
  4. Quita la entrada errónea de /etc/lilo.conf o corrige paths incorrectos.
  5. Regenera initrd si corresponde y ejecuta lilo de nuevo.
  6. Si no puedes arrancar, usar un LiveCD/LiveUSB para montar la partición y reparar /boot y /etc/lilo.conf.

Alternativas y consideraciones

  • Si usas GRUB en vez de LILO, añade la nueva entrada en /boot/grub/grub.conf o /boot/grub2/grub.cfg según la versión.
  • Para despliegues en varios servidores, construir un repositorio interno RPM y distribuir paquetes con yum/localrepo en lugar de transferencia manual.
  • Para cambios frecuentes, considera usar herramientas de automatización (Ansible, Salt) para gestionar kernels y bootloader.

Mini metodología para cambios seguros en kernel

  1. Preparación: backup, espacio y lista de comprobación.
  2. Compilación: make rpm en sistema de construcción controlado.
  3. Verificación local: instalar en una máquina de prueba o VM idéntica.
  4. Despliegue: instalar en producción con una ventana de mantenimiento.
  5. Monitorización: comprobar logs y rendimiento tras el reinicio.
  6. Retroceso: tener un plan de recuperación claro si algo falla.

Criterios de aceptación

  • El nuevo kernel arranca sin errores y uname -r muestra la versión esperada.
  • Servicios críticos (por ejemplo, redes, sistemas de archivos, bases de datos) funcionan correctamente.
  • No hay errores relevantes en dmesg ni en /var/log/messages durante el arranque.

Glosario (una línea cada término)

  • RPM: formato de paquete para distribución y gestión de software en sistemas basados en Red Hat.
  • initrd/initramfs: imagen en RAM usada durante el arranque antes de montar la raíz real.
  • LILO: cargador de arranque tradicional para Linux (Linux Loader).
  • uname -r: comando que muestra la versión del kernel en ejecución.

Resumen

Compilar e instalar un kernel en Mandriva implica generar paquetes RPM, instalar el binario, crear initrd y actualizar el cargador de arranque (LILO). Realiza backups, sigue la lista de comprobación y ten preparado un plan de recuperación para minimizar riesgos.

Notas: siempre prueba en una máquina no crítica antes de desplegar en producción y documenta los cambios de configuración y versiones.

Autor
Edición

Materiales similares

Leer correos en texto plano: Gmail, Outlook, Thunderbird
Correo electrónico

Leer correos en texto plano: Gmail, Outlook, Thunderbird

Cómo cancelar tu suscripción a Midjourney
Guías

Cómo cancelar tu suscripción a Midjourney

Crear filtros AR para Instagram y apps con Banuba y Spark AR
Realidad aumentada

Crear filtros AR para Instagram y apps con Banuba y Spark AR

Activar modo oscuro en Google Search
Tecnología

Activar modo oscuro en Google Search

Jugar Pokémon GO en PC con BlueStacks y GPS falso
Guías

Jugar Pokémon GO en PC con BlueStacks y GPS falso

Borrar discos con shred en Linux
Seguridad Informática

Borrar discos con shred en Linux