Logo en engegar el Linux

  • warning: tempnam(): open_basedir restriction in effect. File() is not within the allowed path(s): (/srv/www/gilug.org/www/site.tree/) in /srv/www/gilug.org/www/site.tree/public/includes/file.inc on line 802.
  • warning: fopen(): Filename cannot be empty in /srv/www/gilug.org/www/site.tree/public/includes/file.inc on line 803.
  • El fitxer no s'ha pogut crear.

Aquest article pretén ser un mini-how-to de com personalitzar una mica més l'engegada del vostre sistema operatiu preferit ;-)
Encara que no serveixi absolutament per res modificar el logo d'arrencada, sempre us podeu quedar amb la gent quan engegueu l'ordinador i allà s'hi veu el senglar del GiLUG :D

Ara explicaré com preparar les imatges per poder-les posar al frame-buffer del vostre linux i així aconseguir un logo personalitzat al arrencar.
La manera d'aconseguir això és diferent per la branca 2.4 i per la branca 2.6.
Primer explicaré com fer-ho per la 2.4.

  1. Cal donar suport al kernel per framebuffer
  2. breu explicació:
    Anem al directori de les fonts del kernel i fem make menuconfig.

    Entrem dins l'apartat Console drivers i activem les opcions Video mode selection support (Jo també he activat el MDA text console).

    Després entrem dins l'apartat Frame-buffer support i activem les opcions Support for frame buffer devices, VESA VGA graphics console, Advanced low level driver optionsa, 32 bpp packed pixels support.

    També hem de canviar una opció del lilo:

    vga=791

  3. Crear la nostra pròpia imatge
  4. Un cop tinguem decidida la imatge que hi volem posar l'hem de modificar per tal que funcioni com a imatge pel frame-buffer. Podem fer servir glogo (que és un plug-in pel Gimp) o el fblogo (Ho explicaré com fer-ho amb fblogo).

    També necessitem imagemagick.

    Hem de tenir la imatge en format png, i utilitzarem imagemagick per passar la imatge a menys de 224 colors:

    $ convert -colors 223 -dither logo_gilug.png logo_gilug-fb.png

    ara fem servir fblogo per passar-la al format que necessita el kernel:

    $ fblogo logo_gilug-fb.png logo_gilug.h

    Només falta substituir el logo original pel que hem creat nosaltres mateixos:

    $ mv logo_gilug.h /usr/src/linux/include/linux/linux_logo.h (si voleu podeu fer una copia del linux_logo.h original abans de moure el que hem creat nosaltres).

  5. Modificar fbcon.c
  6. Aquest fitxer és el que diu l'amplada i l'alçada de la imatge del frame-buffer. Hem de canviar els valors del #define LOGO_H 80 per l'alçada del nostre logo i #define LOGO_W 80 per l'amplada del nostre logo.

  7. Recompilar el kernel
  8. $ make dep bzImage modules modules_install (el modules i modules_install si heu posat alguna opció com a mòdul).

Tot seguit explicaré el mateix però per la branca 2.6.

  1. Donar suport al kernel
  2. Semblant a la branca 2.4 l'únic que les opcions estan a un lloc diferent.

    Device Drivers -> Graphics support aquí activem les mateixes opcions que a la branca 2.4 i també mirem dins Console display driver support i dins de Logo configuration ho activem tot.

  3. Crear la nostra pròpia imatge
  4. Primer hem de convertir la nostra imatge de format png a ppm:

    $ pngtopnm gilug_logo.png | pnmtoplainpnm > gilug_logo224.ppm

    la posem al lloc necessari:

    $ cp gilug_logo224.ppm /usr/src/linux/drivers/video/logo/logo_linux_clut224.ppm

  5. Recompilar el kernel
  6. $ make bzImage modules modules_install (igual que abans el modules i modules_install només si heu activat moduls).

Qui tingui debian, he creat un pedaç pel kernel perquè quan arrenqui surti el logo del gilug (el senglanet). Aquest pedaç està pensat perquè funcioni desde 2.4.10 - 2.4.23 i de 2.6.0 a 2.6.3

Em comprometo d'anar-lo provant i actualitzar-lo per tots els futurs kernels :).
Per instal·lar aquest paquet heu d'afegir una font al vostre sources.list:
# vi /etc/apt/sources.list i afegir la següent línia: deb http://senglar.homelinux.org/eduard/debian ./
# apt-get update (actualitzem la llista de paquets).
# apt-get install kernel-patch-giluglogo (instal·lem el pedaç).
# cd /usr/src/linux (anem al directori de les fonts actuals).
**Si heu modificat la variable EXTRAVERSION del Makefile l'heu de posar en blanc, aplicar el pedaç i tornar-hi a posar el que hi tenieu.
# ../kernel-patches/all/apply/gifb (Apliquem el pedaç).
Recompilem com als apartats anteriors segons la vostra branca del kernel.
Ja teniu el senglanet del GiLUG al vostre frame-buffer!!
Au fins la pròxima!

salut!

kernel 2.6

Molt bé l'article, només un comentari. Amb el kernel 2.6 també he hagut d'utilitzar l'Imagemagick per baixar la imatge a 224 colors perquè sinó em donava un error al compilar.
Salut!