Bootsplash en Debian Etch
Bueno despues de mucho buscar por la red y varios intentos fallidos al fin lo logre y me decidi a escribir el siguiente articulo para los que tengan el mismo problema espero y les sea de utilidad...comenzamos.
Lo primero que hay que hacer es instalarse las fuentes del kernel que estamos usando (generalmente en etch es 2.6.15) en caso de ser otro verificalo con el comando
$uname -a
bueno luego para instalr las fuentes del kernel haz lo siguiente
$su
#apt-get install linux-source-2.6.15
o reeemplazando el "2.6.15" por la version del kernel que tengas
ahora ya como root vamos al directorio "/usr/src"
#cd /usr/src
y descomprimimos las fuentes del kernel
#tar -jxf linux-source-2.6.15.tar.bz2
Despues de esto se creara el directorio /usr/src/linux-kernel-2.6.15, ahora necesita mos hacer un enlace simbólico a este directorio llamado linux
# ln -s /usr/src/linux-kernel-2.6.15 ./linux
(recuerda que esto se hace estando dentro del directorio /usr/src).
Una vez hecho esto necesitamos instalar algunos paquetes para poder compilar el nucleo "al estilo debian" que son los siguientes:
binutils
e2fsprogs
gcc
make
module-init-tools
procps
util-linux
kernel-package
initrd-tools
libncurses-dev
Si bien la mayoria de los paquetes ya vienes instaldos por default en etch hay alguos que es necesario instalarlos. Ahora nos instalmos el paquete del parche para el bootsplash que en esta ocasión ya viene incluido en los DVD's o CD's de Debian
#apt-get install kernel-patch-bootsplash
ahora vamos al directorio en donde se instalo nuestro parche que hay que copiar a /usr/src y descomprimir
#cd /usr/src/kernel-patches/diffs/bootsplah
#cp bootsplash-3.1.6-2.6.15-jtm.diff.gz /usr/src
# tar -xvf bootsplash-3.1.6-2.6.15-jtm.diff.gz
Ahora tenemos un archivo llamado bootsplash-3.1.6-2.6.15-jtm.diff el cual hay que aplicar al kernel
#cd /usr/src/linux
#patch -p1
Block Devices -->
Loopback device support
RAM disk support
(4096) Default RAM disk size
[*] Initial RAM disk (initrd) support
Graphics support -->
[*] Support for frame buffer devices
[*] VESA VGA graphics support
Console display drivers support -->
[*] Video mode selection support
Framefuffer Console support
Bootsplash configuration -->
[*] Bootup splash screen
Listo ahora nos salimos de la configuracion del kernel y nos preguntara si deseamos guardar los cambios decimos que si y listo ahora ya tenemos todo preparado para comenzar a compilar nuestro kernel, para comenzar la compilacion, como lo haremos al "estilo debian haremos lo siguiente
#make-kpkg --initrd -append-to-version .2006 binary
Donde está la parte que dice .2006 podemos poner el numero que queramos, es sólo para diferenciar nuestro kernel de algun otro que hayamos compilado o como se explica en algun otro artículo puedes usar la fecha del dia que compilaste tu kernel, ahora al ultimo hemos agregado la palabra "binary" esto es para que al finalizar la compilacion tengamos 5 paqutes del kernel que seria la imagen del kernel, las cabezeras, las fuentes, el manual y la documentacion, si solo que queremos la imagen agregamos la palabra "kernel_image" en lugar de "binary".
Bueno y ahora a ponerse comodo por que la compilacion del kernel lleva buen rato si configuraste tu kernel personalizado felicidades tu kernel se "cocinara" en menos de la mitad de tiempo que que el de nosostros los "mortales" ;) para los demas podemos ir a cenar a tomar una copa o a ver television nos llevara alrededor de hora y media dependeiendo del hardware.
Listo, ya pasamos por la parte "dificil" si llegaste hasta aqui ya lo demas es pan comido, ahora tenemos que instalar nuestro nuevo kernel
#dpkg -i kernel-image-2.6.2006_10.00.Custom_i386.deb
esto nos instalara el kernel y nos generara las entradas correspondientes en el grub. Ahora tenemos que agregar la siguinte linea a nuestro sources.list
#bootsplash
deb http://www.bootsplash.de/files/debian/ unstable main
Hasta aqui todo ha sido como se venia haciendo en sarge, y aqui es ahora donde cambia el asunto aqui ya no podemos instalarnos los mismos paquetes que en sarge por que nos crean errores el paquete en cuestion que nos causa errores es el sysv-rc-bootsplash asi que para solicionar esto haremos lo siguiente:
#cd /tmp
#mkdir prueba
#cd prueba
#wget http://ftp.de.debian.org/debian/pool/main/s/sysvinit/sysv-rc_2.86.ds1-1_... --extract sysv-rc_2.86.ds1-1_all.deb .
#cp /etc/init.d/rc /etc/init.d/rc.orig
#cp /etc/init.d/rcS /etc/init.d/rcS.orig
#cp /tmp/prueba/etc/init.d/rc /etc/init.d/rc
#cp /tmp/prueba/etc/init.d/rcS /etc/init.d/rcS
Con esto lo que hemos hecho es reemplazar los scripts de inicio de nuestro Etch para que no nos genere errores al momento de instalar dicho paquete. Ahora continuamos ahora si con la instalacion de los siguientes paquetes:
#apt-get install bootsplash sysv-rc-bootsplash bootsplash-theme-tuxinfo-debian
Bien ya casi esta todo listo, ahora lo que haremos será crear nuestra initrd para que funcione nuestro bootsplash en el siguinte reinicio.
#mkinitrd -o initrd.img-2.6.15.2006 -r /dev/hdaX 2.6.15.2006
donde "x" es el numero de la particion donde tienes instalado linux
#cd /boot/
#cp initrd.img-2.6.15.2006 initrd.splash
#dpkg-reconfigure bootsplash
Seleccionamos algún tema de los que tenemos en caso de tener varios, si no sólo damos en aceptar y de igual manera cuando nos pregunte qué initrd debe tomar seleccionamos "none" y continuamos.
Ahora vamos a aplicarle el tema del bootplash a nuestra initrd.
#ln -s /etc/bootsplash/themes/tuxinfo-debian /etc/bootsplash/themes/default
#/sbin/splash -s -f /etc/bootsplash/themes/tuxinfo-debian/config/bootsplash-1024x768.cfg >> /boot/initrd.splash
Bien ahora solo nos resta modificar el grub para que arranque nuestro bootsplash
#cd /boot/grub
#nano menu.lst
y cambiar lo siguiente en donde dice
title Debian kernel 2.6.15 bootsplash
root (hd0,X)
kernel /boot/vmlinuz-2.6.15.2006 root=/dev/hdaX ro vga=791 splash=verbose
initrd /boot/initrd.splash
savedefault
boot
Aqui como mencionaba antes hay que modificar "x" por el numero de particion donde tengamos instalado linux, gurdas los cambio y reinicias. Y Listo ahora si ya tenemos nustro bootsplash listo para funcionar en el siguinte reinicio.
Si por algun motivo esto te llegara a fallar es necesario crear un archivo llamado bootsplash en /etc/init.d con el siguinte contenido.
#----inicio del script-----
#!/bin/sh
# based on initscript from gentoo linux
# made some changes to fit normal sysvinit like used by debian
# everything in here is GPL ;)
# tcs@double-action.org
# source our config
source /etc/default/bootsplash 2>/dev/null
# default settings
test -z "${THEME}" && THEME="default"
test -z "${BOOTSPLASH_TTYS}" && BOOTSPLASH_TTYS=`seq 0 5`
get_bootsplash_theme () {
# try to get bootsplash theme from kernel command line
for param in `grep "theme=" /proc/cmdline`; do
if [ "${param%=*}" == "theme" ]; then
THEME="${param#*=}"
fi
done
}
SPLASH=$(which splash)
case "$1" in
start)
# Only do this if the kernel has support
if [ -f /proc/splash ]
then
echo "Setting Console frame buffer images"
get_bootsplash_theme
echo "Using theme $THEME"
# get console resolution
RESOLUTION=$(/sbin/fbresolution)
# switch to a usable image on all consoles
for TTY in `echo "${BOOTSPLASH_TTYS}" | sed -e 's# #n#g'`
do
# support for a different config per virtual terminal
if [ -e /etc/bootsplash/themes/${THEME}/config/vtsplash-${TTY}-${RESOLUTION}.cfg ]
then
$SPLASH -s -u $TTY -n /etc/bootsplash/themes/${THEME}/config/vtsplash-${TTY}-${RESOLUTION}.cfg
else
$SPLASH -s -u $TTY -n /etc/bootsplash/themes/${THEME}/config/bootsplash-${RESOLUTION}.cfg
fi
done
fi
;;
stop)
CHVT=$(which chvt)
# Stop doesn't really stop, it actually changes the image
# on vt1 back to the bootsplash image.
# Only do this if the kernel has support
if [ -f /proc/splash ]
then
echo "Setting Console frame buffer images"
get_bootsplash_theme
# source bootsplash config
source /etc/bootsplash/themes/${THEME}/config/bootsplash-$(/sbin/fbresolution).cfg 2>/dev/null
# Put bootsplash image up
$SPLASH -s -u 0 /etc/bootsplash/themes/${THEME}/config/bootsplash-$(/sbin/fbresolution).cfg
# ensure "silent" image is displayed
echo "silent" > /proc/splash
# switch to vt1 (must be &'d otherwise script hangs)
${CHVT} 1 &
# print a nice message
# /sbin/fbtruetype ........
fi
;;
esac
exit 0
#----fin del script-------
Puedes omitir si lo deseas la primera y ultima linea solo las puse como referencia y hay que darle permisos de ejecucion (chmod +x) y listo.
Ahora para poder tener un splash diferente en cada tty hay que realizar lo siguiente
Tenemos que editar el archivo /etc/init.d/rc y agregar al final las siguintes lineas
/sbin/splash -snu 1 /etc/bootsplash/themes/thema1/config/bootsplash-1024x768.cfg
/sbin/splash -snu 2 /etc/bootsplash/themes/thema2/config/bootsplash-1024x768.cfg
/sbin/splash -snu 3 /etc/bootsplash/themes/thema3/config/bootsplash-1024x768.cfg
/sbin/splash -snu 4 /etc/bootsplash/themes/thema4/config/bootsplash-1024x768.cfg
/sbin/splash -snu 5 /etc/bootsplash/themes/thema5/config/bootsplash-1024x768.cfg
/sbin/splash -snu 6 /etc/bootsplash/themes/thema6/config/bootsplash-1024x768.cfg
Y ahora si despues de reiniciar podemos tener un splash distinto en cada tty.
Si hay algún paso que consideres que omití o crees que hay algún error en los pasos mencionados te agradecería mucho hacérmelo saber para corregirlo, y si conoce algún método más fácil también te agradecería hacérmelo saber. Hice este artículo con la finalidad de poder ayudar a los que hubieran pasado por dificultades para tene el bootsplash con etch. Cualquier aclaración puedes postearla aqui, quiero agradecer tambien a mi gran amigo srabadie que estuvo respondiendo todas mis dudas en el foro y al que le prometi escribiría el articulo si conseguía el bootsplash con la barra y los distintos temas en el tty este va por ti amigo...
- Inicie sesión o regístrese para enviar comentarios
- 11105 lecturas

Creo que Splashy es mucho mas cómodo y el resultado es el mismo.
http://www.esdebian.org/article.php?story=200506172339137
Una cosa que queria preguntarte al respecto, es cuando compilas el kernel no seria interesante coger el config de un kernel precompilado de debian?, lo digo porque si solo configuras las opciones que indicas, no quedaran todas las otras opciones referentes del kernel por configurar? o mal configuradas, o al menos no de igual forma que el kernel precompilado, que si no me equivoco lo que hace es poner la mayoria de cosas compiladas como modulo?. Cuando tenga tiempo me pondre con ello, un saludo
es cierto hermano tienes razon lo olvide por completo, bueno esto se hace de la siguiente forma, hay que tomar la configuracion de nustro kernel generico y hacerle las modificaciones indicadas para copiarla la configuracion hay que hacer lo siguiente
#cd /usr/src/linux
#cp /boot/config-2.6.15.2006 /usr/src/.config
y despues de esto ahora si
#make menuconfig
Gracias por al dato no se que estaba pensando como pude haberlo olvidado..
Y respecto a lo de splashy a mi no me gusto para nada y no es lo mismo muchos se van con la idea de que es lo mismo pero tiene muchas desventajas respecto a bootsplash, en primera tarda demasido en aparecer, segundo, no tienes consolas virtuales con splash, tercero la pnatalla parpadea demasiado y se queda mucho tiempo en negro (particularmente a mi me sucede) por lo cual splahsy queda descartado ademas es una buena costumbre compilar tu propio kernel para adaptarlo a tu gusto y necesidades y no conformarte con lo que otros te ofrecen si puedes hacerlo tu mismo, para tener lo mejor hay que trabajar...
---
Quiero morir como los grandes....sexo, linux y rock & roll !!!!!
_ _
\ \ \ \ ---------------------
_ \ \ _ _\ \
Respuesta a es cierto hermano tienes razon
Bueno, en principio te lo pregunte porque era una duda que tenia, por ultimo solo decirte que se me habia olvidado felicitarte por el manual. Un saludo
al momento que yo hago #patch -p1 no sucede nada en absoluto alguna solucion?
Hola! soy nuevo por aqui y pues instale el bootsplash en mi debian, solo que tengo problemas al momento de que arrancan las x's =S tengo drivers prpietarios nvidia y creo que ese es el problema, aunque en el kernel tengo solo activados los vesa sin el framebuffer de nvidia, espero me puedan ayudar... n_nU Gracias! saludos!
Hola, gracias por el tutorial, me ha ido perfecto para instalar un bootsplash en etch y para animarme a compilar un kernel. Pienso que lo de las animaciones es delicioso, además de una innovación (aunque todavía no me funcionan al 100%, todo llegará). Lo de que esté linkado a eventos da un montón de posibilidades.
Cuando tengo problemas de verdad, es al intentar cambiar la imagen de bootsplash, ya que al volver a arrancar me cae un kernel panic. Ésto está documentado en la web de bootsplash, pero no dan ninguna solución.
He encontrado una solución para mi caso, pero googleando me da la sensación de que soy el único al que le pasa. Si no es así, puedo postearla aquí si alguien lo pide, o enviartela para que la incorpores al tutorial.
Realice paso a paso el procedimiento y casi todo bien solo con algunos detalles como por ejemplo parece que ya no existe el repositorio, en su lugar use los paquetes que tiene debian en linea.
Aparentemente todo salio bien, excepto que al final el sistema se congela y me dice algo de "kernel panic", alguno de ustedes me podría ayudar???
El sistema que uso es etch 2.6.18
Saludos
Respuesta a Realice paso a paso el
Parece que ya encontré la forma de hacerlo funcionar, partiendo de una instalación del sistema base:
#uname -a
Linux debian 2.6.18-4-686
#apt-get install linux-source-2.6.18
#apt-get install binutils e2fsprogs gcc make module-init-tools procps util-linux
kernel-package initrd-tools libncurses-dev
#apt-get install linux-patch-bootsplash
#cd /usr/src
#tar -jxf linux-source-2.6.18.tar.bz2
#ln -s /usr/src/linux-source-2.6.18 ./linux
#cp /boot/config-2.6.18.4.686 /usr/src/linux/.config
#cd usr/src/kernel-patches/diffs/bootsplash
#cp bootsplash-3.1.6-2.6.15-jtm.diff.gz /usr/src
#gunzip bootsplash-3.1.6-2.6.15-jtm.diff.gz
#cd /usr/src/linux
#patch -Np1 -i ../bootsplash-3.1.6-2.6.15-jtm.diff
#cd /usr/src/linux
#make menuconfig
.
.
.
#make-kpkg --initrd -append-to-version .2007 binary
#cd /usr/src
#dpkg -i linux-image-2.6.18.2007_2.6.18.2007_10.00.Custom_i386.deb
#apt-get install bootsplash
#ln -s /etc/bootsplash/themes/debian /etc/bootsplash/themes/default
#cd /boot/
#mkinitrd -o initrd.img-2.6.18.2007 -r /dev/hda1 2.6.18.2007
#cp initrd.img-2.6.18.2007 initrd.splash
#dpkg-reconfigure bootsplash
#cd /sbin
#splash -s -f /etc/bootsplash/themes/debian/config/bootsplash-1024x768.cfg >> /boot/initrd.splash
#cd /boot/grub
--/boot/grub/menu.lst-------------------------------------------------
|
| kernel /boot/vmlinuz-2.6.18.2007 root=/dev/hdaX ro vga=791 splash=verbose
| initrd /boot/initrd.splash
|
-------------------------------------------------------------------------------