Enviado por Paulet el Mié, 2005-11-30 13:34 :: Gentoo Gentoo Original post --> aquí All Credits go to Narada Parches para el kernel disponibles en el enlace de arriba. # El Howto para Framebuffer, Bootsplash & Grubsplash Objetivos: * Frambuffer de alta resolución (ejemplo) * Imágen de alta resolución (ejemplo) * Fuentes mas pequeñas en framebuffer para obtener una mayor superficie (ejemplo) * Mayor elección de fuentes para apriencias variadas. * Personalizar tu tema bootsplash * Sacando "pantallazos" de tu framebuffer + bootsplash * Usar aplicaciones multimedia y navegadores gráficos en framebuffer * Personalizar vuestra imágen de fondo en grub * Extendiendo framebuffer + bootsplash a los 12 terminales virtuales. Beneficios * Mayor resolución * Configurable y bonita apariencia * Utilidades multimedia y navegador gráfico en VTs * Frambuffer trabajaré en cualquier kernel Inconvenientes: * Desplazamiento lento de texto en consola * Reducción o menor buffer para desplazamiento de texto en consola # High resolution framebuffer & bootsplash! 1 - Actualizamos nuestro portage Código: emerge sync 2 - Emerge media-gfx/bootsplash (**) Es recomendable usar la versión unstable * Código: emerge bootsplash Actualizamos a la configuración mas reciente: * Código: etc-update 3 - Nos cercioanmos de que el enlace /usr/src/linux apunta a nuestro kernel. * Código: ls -l /usr/src/ Algunos kernels como gentoo-sources, gaming-sources y xfs-sources ya tienen el parche necesario incluido. Comprobad si vuestro kernel tiene soporte bootsplash o no. Si no lo tuviera con el comando siguiente podréis parchear el kernel * Código: ebuild /var/db/pkg/media-gfx/bootsplash-0.6-r2/bootsplash-0.6-r9.ebuild config O podéis ejecutar el siguinte comando que necesita un arcgumento extra y ejecuta la línea de arriba * Código: bootsplash_patch 4 - Entramos en la configuración de nuestro kernel * Código: cd /usr/src/linux make menuconfig Las siguientes opciones deberán ser compiladas en el kernel, NO los compiléis como módulos. NO activéis tampoco soporte para gráfica en concreto, como pueden ser ati o nvidia. Para los kernel 2.6.x habilitad lo sigueinte * Código: Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers Processor type and features ---> [*] MTRR (Memory Type Range Register) support Device Drivers ---> 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 driver support ---> [*] Video mode selection support <*> Framebuffer Console support Bootsplash configuration ---> [*] Bootup splash screen Para los kernel 2.4.x dejadlo de la sigueinte manera * Código: Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers Processor type and features ---> [*] MTRR (Memory Type Range Register) support Block Devices -> [*] Loopback device support [*] RAM disk support (4096) Default RAM disk size [*] Initial RAM disk (initrd) support Console Drivers -> [*] VGA text console [*] Video mode selection support Console Drivers -> Frame-buffer support -> [*] Support for frame buffer devices [*] VESA VGA graphics console [*] Use splash screen instead of boot logo Para cualquier kernel NO habilitéis las siguientes opciones. Si,lo hacéis corréis el riesgo de que bootsplash no funcione o que se corrompan las tty al cambiar de terminal * Código: Device Drivers ---> Graphics support ---> < > nVidia Riva support (NO activar!) Logo configuration ---> [ ] Bootup logo (NO activar!) Si eres usuario de NVIDIA y aún asi tenéis problemas despues desactivad las siguientes opciones en el kernel: * Código: Device Drivers ---> Character devices ---> < > /dev/agpgart (AGP Support) Y añadid la siguiente opción a vuestro /etc/X11/XF86Config[-4] file. * Código: Option "NvAGP" "1" 5 - Compila el kernel 2.6.x, tecleando simplemente : * Código: make Para compilar el kernel 2.4.x. * Código: make dep && make clean bzImage modules modules_install Instalad el kernel como se menciona abajo pero NO desmontéis /boot y NO reiniciéis hasta que se os diga * Código: mount /boot mv /boot/bzImage /boot/bzImage.old cp /usr/src/linux/arch/i386/boot/bzImage /boot/tu_kernel Si os aparecen errores durante la compilación del kernel: * Código: cd /usr/src/linux/ mv .config ~/kernel.config make mrproper mv ~/kernel.config .config make oldconfig make menuconfig 6 - Asumiendo que /boot está montado, vamos a crear una imágen de fondo para que nos aparezca durante la carga * Código: /sbin/splash -s -f /etc/bootsplash/default/config/bootsplash-1280x1024.cfg > /boot/initrd-1280x1024 O podéis copiar una de las imágenes ya creadas ( incl. en el paquete bootsdplash) que Gentoo pone a vuestra disposición * Código: cp /usr/share/bootsplash/initrd-1280x1024 /boot/ 7 - Editad el /boot/grub/grub.conf . Adjunto un ejemplo con expliación de los distintos parámetros * video= debe ir en la línea del kernel y controla las opciones tales como ywrap y mtrr que aceleran un poco el frambuffer * vga= debe ir en la línea de kernel y controla la resolución y profundidad del framebuffer * splash= debe ir en la línea de kernel . Se le puede pasar o bien 'silent' o 'verbose', según se quiera progressbar o no. * initrd= debe ir en una nueva línea despues del kernel y carga una imágen para el fondo de pantalla durante el proceso de carga del sistema. * Código: default 0 timeout 10 splashimage=(hd0,0)/boot/grub/splash.xpm.gz # Con framebuffer y bootsplash title=Gentoo GNU/Linux 1.4 (+fb +splash) root=(hd0,0) kernel=(hd0,0)/boot/bzImage root=/dev/hda3 video=vesafb:ywrap,mtrr vga=0x31A initrd=/boot/initrd-1280x1024 # Con framebuffer pero sin bootsplash title=Gentoo GNU/Linux 1.4 (+fb -splash) root=(hd0,0) kernel=(hd0,0)/boot/bzImage root=/dev/hda3 video=vesafb:ywrap,mtrr vga=0x31A # Sin framebuffer y sin bootsplash title=Gentoo GNU/Linux 1.4 (-fb -splash) root=(hd0,0) kernel=(hd0,0)/boot/bzImage root=/dev/hda3 Un ejemplo de un lilo.conf, cortesia de ophidia ( ophidia5332@msn.com) * Código: image="/boot/bzImage" vga=0x31A root="/dev/hdb2" label="2.4.20-r4" read-only # read-only for checking append="hdc=ide-scsi video=vesafb:ywrap,mtrr" initrd=/boot/initrd-1280x1024 Como habréis notado vesafb es aplicabkle para kernels 2.6.x mientras que para kernel.2.4.x se debería usar la llamada vesa. Un gráfico con los distintos modos soportados para el parámetro vga= * Código: | 640x480 800x600 1024x768 1280x1024 ----+------------------------------------- 256 | 0x301 0x303 0x305 0x307 32k | 0x310 0x313 0x316 0x319 64k | 0x311 0x314 0x317 0x31A 16M | 0x312 0x315 0x318 0x31B Archivos que contienen abundante info extra : /usr/share/bootsplash/grub.conf.sample /usr/src/linux/Documentation/fb/vesafb.txt /usr/src/linux/Documentation/svga.txt 8 - Añadiendo bootsplash al nivel de ejcución por defecto, asi que podamos distrutarlo en cada arranque * Código: rc-update add bootsplash default 9 - Reiniciad la máquina y disfrutad del milagro bootsplash! Para recordar que kernel y con que parámetros habéis cargado podéis ejecutar: [code]cat /proc/cmdline[/code] Usando framebuffer sin bootsplash ! * Para tener sólo una consola en modo framebuffer sin bootsplash, simplemente borrad bootsplash del runlevel default * Código: rc-update del bootsplash default * y borrad o comentad (#) la siguiente línea en el grub.conf / lilo.conf initrd=/boot/initrd-1280x1024 Fuentes mas pequeñas para tener un mayor área de consola ! * Abruimos /etc/rc.conf y cambiamos la siguinete variable CONSOLEFONT="default8x9" * Para saber que otras fuentes están disponibles /usr/share/consolefonts Extendiendo las fuentes de consola, framebuffer y bootsplash a todos los 12 terminales virtuales ! * Abrimos /etc/init.d/consolefont y cambiamos for x in 1 2 3 4 5 6 7 8 9 10 por for x in `seq 1 12` * Abrimos /etc/conf.d/bootsplash.conf y cambiamos BOOTSPLASH_TTYS="0 1 2 3 4 5 7 8 9 10 11" * Para que tenga efecto podéis reinciar el sistema o bien reiniciar los sripts de carga de bootplash y consolefont. Voilá !! * Código: /etc/init.d/consolefont restart /etc/init.d/bootsplash restart Personalizando el tema del bootsplash! * Cread vuestra propia esctructura "personal" y copiad en él el tema por defecto. * Código: mkdir -p /etc/bootsplash/personal/images/ cp -r /etc/bootsplash/default/config /etc/bootsplash/personal/ * Cambiamos el anlace simbólico para que lea nuestro nuevo tema * Código: rm /etc/bootsplash/default ln -s /etc/bootsplash/personal /etc/bootsplash/default * Abrimos /etc/conf.d/bootsplash.conf y cambiamos BOOTSPLASH_THEME=personal * Copiamos las imágenes retocadas con resoluciones y profundidad correctas a /etc/bootsplash/personal/images/. Aseguraos de que las imágenes tengan una resolución de 96x96 y no de 300x300. Para mas info mirad aqui: * Abrid /etc/bootsplash/personal/config/bootsplash-1280x1024.cfg y cambiad las rutas para que se carguen vuestras imágenes jpeg=/etc/bootsplash/gentoo/images/bootsplash-1280x1024.jpg silentjpeg=/etc/bootsplash/gentoo/images/silent-1280x1024.jpg * Si quieres añadir tu imágen, la añadimos a /boot * Código: mount /boot /sbin/splash -s -f /etc/bootsplash/default/config/bootsplash- 1280x1024.cfg > /boot/initrd-1280x1024 * Reiniciad y probad ! Salvando pantallazos! * para usar fbgrab lo "emergemos" y lo ejecutamos * Código: emerge fbgrab fbgrab ~/console.png Personalizando vuestra imágen splash de grub! * Para cambiar vuestra imágen del grub, cread una imágen nueva y movedla a /boot/grub. Como root haced lo siguiente: * Código: emerge gimp wget http://dhruba.codewordt.co.uk/files/grub-image.scm -P ~ mv ~/grub-image.scm /usr/share/gimp/1.2/scripts/ * Abrid gimp y abrid la imágen. Click con el derecho sobre la imágen, seleccionamos archivo, Grub Boot Image y la salvamos en nuestro home Un ejemplo e instrucciones de como hacerlo aqui: * Código: mount /boot wget http://linux.tkdack.com/downloads/grub/powered-by.xpm.gz -P ~ mv ~powered-by.xpm.gz /boot/grub/ * Modificamos /boot/grub/grub.conf para que cargue nuestra nueva imágen splashimage=(hd0,0)/boot/grub/gentoo-boot.xpm.gz * Para convertir una imágen correctamente o bien seguid las instrucciones de linux.tkdack.com ( duplicados debajo) o bien usad el plugin del gimp. * Código: convert -size 800x600 file.jpg -resize 640x480 -colors 15 - profile '*' file.xpm gzip file.xpm Por Gringo