Monday, January 1, 2018
Script para cambiar dinamicamente el SPLASH de grub2
Script para cambiar dinamicamente el SPLASH de grub2
Este POST espero que lo encuentres de mas interesante que los anteriores, googleando no encontre una solucion sencilla para crear un script que dinamicamente te cambie el splash de GRUB2, asi que aca te dejo una opcion desde mi punto de vista, talvez no del todo elegante por generar un archivo adicional pero bueno, me parece mas sencillo este punto de vista sobre todo si eres newbie.
1. Abre una terminal
2. #>apt-get install grub2-splashimages
3. Ahora ya tienes instalados splash adicionales para grub2, para verificar hazte un:
ls /usr/share/images/grub/ Son extension tga
4. $>mkdir ~/grub2splash
5.$>cd /usr/share/images/grub/
6.#>cp * ~/grub2splash
7.$>cd
8.$>mkdir scripts
9.$>cd scripts
10.$>nano grub2chsplash.sh
Ahora ya estas en tu editor favorito - en mi caso nano- y vamos a crear el script que nos hace el cambio dinamico de la imagen, aca lo detallo:
#!/bin/bash
#script que cambia dinamicamente el splash de grub
#creado por herbert tamayo: hftamayo@gmail.com
#2010-06-18
bg_path=/home/htamayo/grub2splash
extensions="tga png TGA PNG"
temp_bg_list=/tmp/bg_change_list
rm -f $temp_bg_list
for extension in $extensions
do
find $bg_path -iregex ".*.$extension" >> "$temp_bg_list"
done
cnt=`wc -l "$temp_bg_list" | cut -f1 -d " "`
all_bgs=$(expr "$RANDOM" % "$cnt")
selected_bg=`head -n$all_bgs "$temp_bg_list" | tail -n1`
#sebastian.tga -> uso el nombre de mi primogenito, love you son, God bless you
cp $selected_bg $bg_path/sebastian.tga
exit 0
11. ya esta, guarda los cambios y sal de nano
12. hagamos el script ejecutable:
#>chmod +x grub2chsplash.sh
13. Ejecutamos el script asi:
$>./grub2chsplash.sh
Dirigete al directorio de grub2splash y veras que hay un nuevo archivo llamado sebastian.tga, este archivo ira cambiando cada vez que se ejecute el script.
14. Bien, ahora editaremos el fichero de configuracion de grub2:
#>nano /etc/grub.d/05_debian_theme
localizaremos la siguiente linea:
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga}
y la vamos a cambiar por esta:
for i in {/boot/grub,/usr/share/images/desktop-base,/home/htamayo/grub2splash}/sebastian.{png,tga}
guardamos cambios y salimos
15. luego:
#>update-grub
y ya esta!!!, si todo sale bien deberias ver una salida similar a esta:
Generating grub.cfg ...
Found Debian background: sebastian.tga
Found linux image: /boot/vmlinuz-2.6.30-8-generic
Found initrd image: /boot/initrd.img-2.6.30-8-generic
Found linux image: /boot/vmlinuz-2.6.29-02062903-generic
Found initrd image: /boot/initrd.img-2.6.29-02062903-generic
Warning: update-grub_lib is deprecated, use grub-mkconfig_lib instead
Found memtest86+ image: /boot/memtest86+.bin
Found Moblin release 2 (Moblin) on /dev/sda3
16. Reinicia y veras que hay un nuevo splash en tu grub2, mucho mejor que el que viene por default.
17. Consideraciones: recuerda que en el script y en el archivo de conf de grub2, donde aparece "htamayo" debes cambias por el nombre de tu /home; asi mismo puedes cambiar el nombre del archivo generado por el script.
ya esta, en otro post te explico como poner este script en el init.d para que se ejecute siempre que el sistema se carga
happy coding!!!