Compilar e instalar un 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:
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
- Mandriva: http://www.mandriva.com
- The Linux Kernel Archives: http://www.kernel.org
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)
- Reinicia y en el menú de LILO selecciona el kernel anterior.
- Arranca en modo de rescate o con un kernel conocido bueno.
- Revisa /var/log/messages y dmesg por errores de módulos o controladores.
- Quita la entrada errónea de /etc/lilo.conf o corrige paths incorrectos.
- Regenera initrd si corresponde y ejecuta lilo de nuevo.
- 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
- Preparación: backup, espacio y lista de comprobación.
- Compilación: make rpm en sistema de construcción controlado.
- Verificación local: instalar en una máquina de prueba o VM idéntica.
- Despliegue: instalar en producción con una ventana de mantenimiento.
- Monitorización: comprobar logs y rendimiento tras el reinicio.
- 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.
Materiales similares

Leer correos en texto plano: Gmail, Outlook, Thunderbird

Cómo cancelar tu suscripción a Midjourney

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

Activar modo oscuro en Google Search

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