¿Te atreves a automatizar la compilación del Kernel?

Revisando interesantes sitios dedicados a Software Libre y a Slackeros, me encontré con este post muy interesante donde explican como crear un script para automatizar la compilación del kernel.

El script estaba comentado en ingles, así que me tome la molestia de darle una pequeña traducida😀 y añadirle algunas cosillas😀 El script original lo pueden encontrar por aquí.

Le he devuelto la línea de creación del backup, y le he creado una variable para poder configurar el archivo de donde queremos copiar la configuración del kernel. Antes de pasar a compilar el kernel le he cambiado la opción make oldconfig por make menuconfig, que es la que más utilizo, por si necesitamos cambiarle algunas cosillas a la configuración en un ambiente mas agradable😉

Acuérdense de cambiarle la versión del kernel y las direcciones hacia las fuentes del kernel y de su archivo de configuración antes de ejecutarlo.

#!/bin/bash
#
# Script para automatizar la compilación del kernel
#
# Coloque este script en /usr/src, para hacerlo ejecutable ejecute
# chmod +x
# Este script debe ser ejecutado como root
#
# Initial script by Robby Workman
# Slightly modified by Willy Sudiarto Raharjo
# Comentarios Traducidos y una pequeña modificación
# por Dhaby Xiloj
#
VERSION=’2.6.21′ # cambiar para la versión actual del kernel
CWD=’/usr/src/’ # directorio /usr/src
CNFG=’/boot/config’ # archivo de configuración de una versión anterior
#
# Removiendo el enlace simbólico /usr/src/linux
rm -f /usr/src/linux
#
# Enlace simbolico /usr/src/linux-$VERSION a /usr/src/linux
ln -s /usr/src/linux-$VERSION /usr/src/linux
#
# Ingresando al directorio del código fuente del kernel
cd $CWD/linux-$VERSION
#
# Copiando una configuracion antigua desde $CNFG
cp $CNFG ./.config
#
# Configurando algo extra con el menuconfig, compilando
# e instalando los módulos
make menuconfig && make bzImage && make modules && make modules_install
#
# Haciendo una copia de /boot antes de hacer cualquier cosa
cp -R /boot /boot-old
#
# Removiendo antiguos enlaces simbólicos, copiando archivos a /boot,
# y creando nuevos enlaces simbólicos
cd /boot
rm vmlinuz System.map config
cp $CWD/linux-$VERSION/.config config-$VERSION
cp $CWD/linux-$VERSION/System.map /boot/System.map-$VERSION
cp $CWD/linux-$VERSION/arch/i386/boot/bzImage /boot/vmlinuz-$VERSION
ln -s vmlinuz-$VERSION vmlinuz
ln -s System.map-$VERSION System.map
ln -s config-$VERSION config
#
# La última línea puso una copia de tu archivo config del kernel en /boot
# (como en este caso)
#
# Todo lo que necesitas hacer ahora es la actualización del archivo
# /etc/lilo.conf (agregar explícitamente tu viejo núcleo en la parte
# inferior del archivo – usa los que ya estén añadidos para establecer
# el patrón adecuado y la sintaxis correcta) y entonces ejecutar
# /sbin/lilo
#
# Puedes intentar /sbin/lilo – c si deseas acelerar los tiempos de arranque,
# pero no hay ninguna garantía que trabajará con tu sistema
#
# Después de que hayas verificado que el núcleo carga y trabaja
# correctamente, puedes suprimir con seguridad el directorio
# /boot-old creado por este script (puedes hacerlo con
# rm – R /boot-old) –¡no cometas ningún error de
# tipografía por aquí!🙂
#
# ¡Buena Suerte!

3 responses to “¿Te atreves a automatizar la compilación del Kernel?”

  1. Hernan says :

    Gracias por el script, ya tenia rato buscandolo…

    saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: