miércoles, 13 de enero de 2010

personalizar grub 2

GRUB 2 es el nuevo gestor de arranque en Ubuntu Karmic Koala. Es el encargado de mostrar ese sencillo menú que nos permite escoger el sistema operativo a iniciar de entre los instalados en nuestra máquina, o la versión del kernel a cargar de entre los disponibles para nuestra distro Linux. Personalizar este menú con nuestra propia imagen de fondo, o indicar qué sistema operativo queremos cargar por defecto son cosas de lo más sencillas.

Los repositorios de Ubuntu ya incluyen por defecto una serie de imágenes de fondo para alegrar un poco GRUB2, en forma de un paquete llamado grub2-splashimages (grub-splashimages en el caso del GRUB original), paquete que podéis instalar simplemente haciendo clic sobre su nombre.
Al instalar grub2-splashimages, el script de instalación copiará una serie de imágenes adaptadas a los requisitos de GRUB 2 y listas para utilizar en /usr/share/images/grub.
Ahora que tenemos estas imágenes con las que jugar, supongamos, por ejemplo, que queremos utilizar la imagen Sparkler.tga como fondo para GRUB 2. Para hacer esto podemos editar el script del tema por defecto (/etc/grub.d/05_debian_theme) y modificar la línea en la que se especifica el fondo, o, simplemente, crear un enlace simbólico, del nombre de archivo esperado por defecto, a nuestro archivo:


También nos puede interesar cambiar el color de los textos en el menú, para que estos sean legibles con nuestro nuevo fondo. Para Sparkler, por ejemplo, que es una imagen oscura, nos interesaría colores claros. Para modificar los colores de los textos abriremos el archivo 05_debian_theme con un editor cualquiera


y modificaremos las líneas
if background_image `make_system_path_relative_to_its_root ${bg}` ; then
set color_normal=black/black
set color_highlight=magenta/black
else
por los colores de nuestra elección, siendo los colores definidos en color_normal, los que se utilizan por defecto, y los de color_highlight, los que se utilizan para la entrada seleccionada actualmente. El primero de los 2 colores de cada uno de estos campos se refiere al color de la fuente, y el segundo, al color de fondo (black, curiosamente, se utiliza para establecer un fondo transparente). Una combinación bastante legible para este fondo sería, por ejemplo:

dijo:
if background_image `make_system_path_relative_to_its_root ${bg}` ; then
set color_normal=white/black
set color_highlight=white/dark-gray
else
Una vez hemos terminado de realizar nuestras modificaciones, actualizamos los cambios en grub.cfg mediante el comando


Y listo, la próxima vez que iniciemos nuestra máquina GRUB 2 utilizará la imagen y los colores que hayamos seleccionado.
Pero, por supuesto, nosotros también podemos crear nuestras propias imágenes de fondo para GRUB 2. Basta con iniciar GIMP, abrir la imagen que queramos utilizar, redimensionarla a 640×480, y exportarla como tga, por ejemplo.
Por último, para modificar el sistema operativo a arrancar por defecto, el tiempo a mostrar el menú, la resolución o el número de colores, la opción más sencilla es utilizar Startup manager, del que ya hemos hablado varias veces en la bitácor

Nota: si has ido actualizando Ubuntu aun sigues utilizando la version anterior de Grub, solo dispones de Grub 2 si has instalado de nuevo la version, deberias ejecutar apt-get install grub2 y algun que otro paso mas). Este menu de arranque nos permite cuando encendemos el ordenador, elegir con que sistema operativo arrancamos o que version del kernel utilizamos (si tenemos varias opciones instaladas). Las imagenes utilizadas por el grub se almacenan en /usr/share/images/grub
Si queremos instalar unas cuantas imagenes mas podemos ejecutar:
$ sudo apt-get install grub2-splashimages
con lo que se instalara un paquete de imagenes para el grub desde los repositorios oficiales.
Tambien podemos usar nuestras propias imagenes, para ello podriamos usar por ejemplo GIMP, creando imagenes con un tamaño de 640×480 pixeles y guardandolas como ficheros TARGA (extension tga).
Para seleccionar la imagen que queremos usar tenemos que editar el fichero /etc/grub.d/05_debian_theme
sudo gedit /etc/grub.d/05_debian_theme
Buscariamos la siguiente linea:
for i in {/boot/grub,/usr/share/images/desktop-base}
/moreblue-orbit-grub.{png,tga} ; do
y cambiariamos el string “moreblue-orbit-grub” por el nombre (respetando mayusculas y minusculas) de alguna de las imagenes nuevas que tengamos añadidas en el directorio /usr/share/images/grub
Por ejemplo si tengo una llamada mi_imagen.tga podria usar:
for i in {/boot/grub,/usr/share/images/desktop-base}
/mi_imagen.{png,tga} ; do
IMPORTANTE: una mala edicion de los ficheros de grub podrian ocasionar que el sistema dejara de arrancar, haz esto con cuidado, bajo tu propia responsabilidad y sacando las oportunas copias de seguridad.
Ahora guardamos el fichero y ejecutamos el siguiente comando para actualizar el grub:
sudo grub-mkconfig -o /boot/grub/grub.cfg
o
sudo update-grub2
Si en lugar de modificar la imagen queremos modificar los colores el texto del menu, deberiamos editar el fichero /etc/grub.d/05_debian_theme pero seleccionando las lineas:
if background_image `make_system_path_relative_to_its_root ${bg}` ; then
set color_normal=black/black
set color_highlight=magenta/black
else
Tal y como nos cuentan en Mundo Geek
Si todo es correcto al proximo reinicio del equipo, deberiamos poder ver la nueva imagen.
Actualizacion | Para rizar aun mas el rizo, En Tanino Rulez cuentan que tenemos que editar el fichero /etc/grub.d/00_header si quisieramos utilizar una resolucion diferente a 640×480. En este fichero buscariamos la linea:
if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=640×480 ; fi
y cambiariamos 640×480 por 800×600

No hay comentarios:

Publicar un comentario