sabato 17 dicembre 2005

Tema Debbysplash per splashy

Come promesso potete scaricare il tema debbysplash, che si puo' abbianare con uno o piu' temi per gdm o kdm simili.

ecco a voi l'indirizzo
http://www.linuxmad.org/downloads/debbysplash.tar.gz

l'installazione pou' essere fatta con
splashy_config -i debbysplash.tar.gz

oppure decomprimendo il file in
/etc/splashy/themes

poi come consueto date
splashy_config -s debbysplash

ciao a tutti
Piero

giovedì 15 dicembre 2005

Bootsplash con Debian e senza applicare patch al kernel con splashy

Ciao a tutti il primo articolo in questo blog riguarderà l'abbellimento della nostra box con un bootsplash.

Innanzitutto che cos'è' un bootsplash?
Il bootsplash e' un effetto grafico che il nostro sistema operativo visualizza al momento del boot. Solitamente consiste in una immagine di sfondo con una barra di avanzamento che segnala a che punto e' il caricamento del nostro s.o..
Questo puo' avvenire solo quando il pc lavora in modalità grafica, non in modalità testo, quindi viene sfruttata l'interfaccia del framebuffer fornita dal kernel.

Cos'e' il framebuffer?
Semplificando enormemente le cose il framebuffer rappresenta la memoria della vostra scheda video, che nel caso di Linux su piattaforma x86 (dove al boot il pc e il processore lavorano esclusivamente in modalità testo), viene rappresentato da un device in /dev/fb0 (o fb1, fb2 ecc nel caso esistano più monitor).

"Un device framebuffer è un'astrazione dell'hardware grafico. Rappresenta il buffer dei frame di alcuni hardware video e permette alle applicazioni software di accedere all'hardware grafico attraverso un'interfaccia ben definita, in modo tale che il software non abbia bisogno di conoscere nulla riguardo le faccende dell'interfaccia di basso livello" [Tratto dal framebuffer.txt di Geert Uytterhoeven nelle sorgenti del kernel di linux].

Per una spiegazione piu' dettagliata date un'occhiata a
http://en.wikipedia.org/wiki/Framebuffer



Diversi modi
Esistono diversi modi per realizzare un bootsplash, principalmente due: il primo e' applicando una patch al kernel linux (il kernel vanilla deve essere patchato) queste patch possono essere bootsplash e fbsplash, il secondo modo e' quello di sfruttare l'interfaccia fornita dal framebuffer dopo il boot del kernel (splashy e usplash).
Noi ci occuperemo di splashy che risulta il più semplice da installare e gestire.

Come funziona
il funzionamento di splashy e' molto semplice. Dopo il boot del kernel in modalità grafica (quando con il framebuffer), splashy viene caricato da init come deamon e richiamato ogni volta e' necessario far proseguire la barra di avanzamento.

Come si installa
Se abbiamo debian (come spero che sia :-) ) l'installazione risulterà semplicissima.
Prima di tutto dobbiamo procurarci i pacchetti da installare (o eventualmente aggiungere la fonte di questi pacchetti a /etc/apt/sources.list):
Scarichiamo i pacchetti da alioth:
http://alioth.debian.org/projects/splashy/

In particolare dovremmo scaricare
Splashy http://alioth.debian.org/download.php/1359/splashy_0.1.6_i386.deb
I temi per splashy http://alioth.debian.org/download.php/1360/splashy-themes_0.1.6_all.deb

Eventualmente per altre distribuzioni sul sito sono presenti anche i sorgenti e i binari in tar.gz.

installiamo i pacchetti che abbiamo scaricato:
dpkg -i splashy_0.1.6_i386.deb
dpkg -i splashy-themes_0.1.6_all.deb

non dovrebbero esserci problemi durante l'installazione.

la fase di installazione e' quasi terminata
dobbiamo fare solo qualche modifica ai parametri di boot di linux.
Riporto di seguito le istruzioni per grub (gli stessi parametri varranno anche per lilo)
modifichiamo menu.lst

vim /boot/grub/menu.lst

NOTA per chi utilizza update-grub (di solito chi fa gli aggiornamenti del kernel in automatico)
saltate questa parte andate più sotto, troverete le istruzioni per voi

cerchiamo la linea riguardante il caricamento kernel sara' simile a
kernel /vmlinuz-2.6.15-1-486 root=/dev/hda6 ro


dovremmo aggiungere solo alcuni parametri fino a renderla come segue
kernel /vmlinuz-2.6.15-1-486 root=/dev/hda6 ro video=vesafb:mtrr,ywrap vga=791 quiet

Spiegazione dei parametri
video=vesafb:mtrr,ywrap --> utilizza il modulo vesa (standard) per la gestione del framebuffer
vga=791 --> utilizza la risoluzione al boot di 1024x768 a 16 bit (che sono piu che sufficienti)
quiet --> non visualizza i messaggi del kernel al boot (non obbligatorio, ma il risultato ottenuto e' migliore, potrete leggere i messaggi digitando successivamente "dmesg" o leggendo il file /var/log/dmesg)

Utilizzo con update-grub (o grub-update)
update-grub e' una comoda utility che rileva i kernel installati nel sistema e prepara di conseguenza il file menu.lst
se utilizzate questa utility, dovrete modificare in maniera leggermente diversa il vostro menu.lst in modo da consentire che il file menu.lst venga rigenerato correttamente ogniqualvolta installate un nuovo kernel.
cercate una riga simile a
# kopt=root=/dev/hda6 ro
NON DECOMMENTARLA ASSOLUTAMENTE!
cambiatela in
# kopt=root=/dev/hda6 ro video=vesafb:mtrr,ywrap vga=791 quiet

salvate
e aggiornate il file menu.lst con update-grab

l'ultimo passo da fare e' dire a splashy quali tema usare
i temi sono memorizzati in /etc/splashy/themes
per sapere quali temi sono memorizzati nel vostro pc potrete usare

splashy_config --info

installate uno dei temi con
splashy_config -s

per vedere come sara' il vostro boot potete digitare
splashy test
questo pero' non funzionerà se non avete il pc in modalità framebuffer (che se avete modificato correttamente menu.lst si avvierà correttamente al prossimo boot)

ora potete riavviare il pc e godervi il vostro splash....

Ultima cosa...
i temi presenti di default non sono carini, c'e' da dire pero' che splashy e' un programma ancora in sviluppo.
Tra un po' potrete scaricare da qui un tema per splashy da me realizzato
Fatemi sapere

Ciao Piero