Cambiando el logo de Linux

Posted on Saturday, August 9, 2003

Cambiando el logo de Linux

CAMBIANDO EL LOGO DE LINUX 
- ------------------------ 
 
Para hacer esto vamos a usar una utilidad llamada fblogo que se puede  
descargar de http://freakzone.net/gordon/src/fblogo-0.5.0.tar.gz (la  
página web está en http://freakzone.net/gordon/#fblogo ) 
 
Una cierta experiencia compilando el núcleo sería también recomendable. 
 
Lo descomprimimos: 
 
  # tar zxf fblogo-0.5.0.tar.gz 
 
No hay configure, por lo que se configura editando directamente el  
Makefile. Por ejemplo, tal vez te interese poner "/usr" en PREFIX en  
vez de "/usr/local" o tal vez "-O3" en vez de "-O2" en FLAGS, pero las  
opciones por defecto deberían ser validas para todo el mundo. 
 
Lo compilamos: 
 
  # make 
  gcc -o fblogo -g -march=athlon -O3 -pipe -W -Wall  
- -DPNG_SETJMP_NOT_SUPPORTED -lpng fblogo.c 
 
Y lo instalamos: 
 
  # make install 
  /usr/bin/install -p -o root -g root -m 755 fblogo /usr/bin 
  /usr/bin/install -p -o root -g root -m 755 fblogo_patch /usr/bin 
  /usr/bin/install -p -o root -g root -m 644 fblogo.1  
/usr/share/man/man1 
  /usr/bin/install -p -o root -g root -m 644 fblogo_patch.1  
/usr/share/man/man1 
 
Después buscamos la imagen que queremos poner. 
Por supuesto, también para esto Google nos puede ser útil (¿cuándo no?):  
http://images.google.com ;) 
 
La imagen tiene que estar en formato PNG, indexada (es decir, con paleta  
de colores) y no puede terner más de 224 colores. Para cambiar el  
formato y el número de colores podemos usar cualquier editor de  
imágenes decente, como The GIMP <http://www.gimp.org>;, o ImageMagick  
<http://www.imagemagick.org>;. Ambos vienen con cualquier distribución. 
Si por ejemplo la imagen que bajamos se llama logo.bmp y queremos  
guardarla convertida con ImageMagick en logo.png hacemos: 
 
  # convert -colors 223 logo.bmp logo.png 
 
Y a continuación creamos la cabecera C que contendrá la imagen que se  
mostrará al arrancar: 
 
  # fblogo logo.png > linux_logo.h 
 
Ya está, la cabecera C se creó a partir de logo.png y se guardó en  
linux_logo.h. Copiamos ese archivo al núcleo sobreescribiendo  
include/linux/linux_logo.h 
 
  # cp linux_logo.h /usr/src/linux/include/linux/linux_logo.h 
 
A continuación editamos /usr/src/linux/drivers/video/fbcon.c y en LOGO_H  
y LOGO_W ponemos los valores que dice en las líneas 14 y 15 de  
linux_logo.h. 
Si no encuentras esos valores puedes obtenerlos con file: 
 
  # file logo.png 
  logo.png: PNG image data, 56 x 74, 8-bit colormap, non-interlaced 
 
El primer valor (56) sería LOGO_W y el segundo (74) LOGO_H. 
 
Sólo queda recompilar el kernel. Has de tener activadas las siguientes  
opciones al recompilar 
 
  Code maturity level options 
    [*] Prompt for development and/or incomplete code/drivers  
(CONFIG_EXPERIMENTAL) 
     
  Console drivers 
    Frame-buffer suport 
      [*] Support for frame buffer devices (CONFIG_FB) 
      [*]   VESA VGA graphics console (CONFIG_FB_VESA) 
 
NOTAS: 
- - El logo sólo será visible si se está usando el driver de VESA (aunque  
creo que hay parches para usar otros driver como nVidia), por lo que  
éste debe ser el driver que se use en la consola (puedes incluir  
soporte para otros drivers, pero VESA debe ser el utilizado). 
- - Has de seleccionar un modo de vídeo con un número de colores mayor o  
igual que el de la imagen. Por ejemplo, si la imagen tiene 200 colores  
no puedes seleccionar un modo de vídeo con 16 porque no se verá bien la  
imagen (probablemente se verá un montón de puntos o rayas de colorines  
o algo parecido). Los modos de vídeo posibles son: 
 
      | 640x480  800x600  1024x768 1280x1024 
  ----+------------------------------------- 
  256 |  0x301    0x303    0x305    0x307 
  32k |  0x310    0x313    0x316    0x319 
  64k |  0x311    0x314    0x317    0x31A 
  16M |  0x312    0x315    0x318    0x31B