Grub è quel programma che vi permette di scegliere che sistema operativo lanciare all’avvio del vostro computer

si avvia immediatamente dopo il bios del sistema e si presenta, nella sua versione base, così:

Grub senza abbellimenti grafici

Grub senza abbellimenti grafici: Immagine presa dal web, non è mia😀

Anche se sono pochi secondi ogni volta che avviamo il computer anche l’occhio vuole la sua parte..🙂 e quindi vi spiegherò in questa guida come abbellire l’avvio della vostra Linux-box

Alla fine della guida saprete come fare ad avere grub così:

Grub con splashscreen di ubuntu

Uno dei possibili risultati finali

Saprete anche la teoria per crearvi un vostro splash screen/splashimage (i nomi di queste immagini “particolari”) , la capacità artistica dovrete mettercela voi però😉

La guida utilizzerà Gimp, il famoso software libero per il fotoritocco, potete installarlo senza troppa difficoltà sul vostro computer se non è già installato😉 un apt-get install gimp gimp-it gimp-help-it dovrebbe essere sufficiente se siete su un sistema Debian, per Ubuntu dovreste trovarlo anche nella lista di “installa/rimuovi programmi”.

###—Aggiornamento —###

16/06/2007

  • aggiunta segnalazione di un tool per modificare le opzioni di grub graficamente (su sistemi Debian-Based, Ubuntu ecc..)

###——###

Grub si installa nei primi 512 byte (MBR=Master Boot Record) del disco rigido di avvio (primario/master) ed è il primo programma, dopo il bios ad essere eseguito dal processore

in 512 byte c’è però molto poco🙂 lo stretto indispensabile.. ecco perché grub utilizza i file sul disco, la configurazione e, in questo caso, le immagini..

Possiamo agire in 2 modi per abbellire Grub, il primo è più semplice e ci permetterà di cambiare semplicemente i colori di sfondo e scritte, il secondo ci permetterà di avere un’immagine ad abbellire l’avvio del nostro computer..

Prima di tutto vediamo come fare a cambiare i colori delle scritte, senza alcuna immagine

apriamo con un editor di testo (e da root) il file /boot/grub/menu.lst

in alcune distribuzioni (esempio: Gentoo e derivate) questo file si chiama /boot/grub/grub.conf

*******ATTENZIONE ********

Modificare il file /boot/grub/menu.lst è un operazione che va fatta con molta attenzione!

Non modificate con leggerezza o potreste ritrovarvi senza Grub, e quindi senza la possibilità di avviare il vostro sistema, in particolare non modificate altre cose oltre a quelle qui indicate

Il mio consiglio è quello di farvi un backup del file “menu.lst” prima di fare qualunque modifica, in questo modo con un liveCD potete sempre ripristinarlo

Siete stati avvertiti😉

ad esempio da un terminale di root (usando sudo ad esempio) con il comando

gedit /boot/grub/menu.lst

in genere è già presente questa scritta ( in Ubuntu sono sicuro ci sia ):

# Pretty colours
color cyan/blue white/blue

L’unica cosa che ho fatto è stata togliere il cancelletto ( # ) all’inizio della riga in grassetto (il cancelletto serve per dire: ignora questa riga)

questo è il risultato:

color cyan/blue white/blue

Grub con i colori predefiniti

Vediamo cosa significa:

il primo (cyan/blue) è il colore di tutte le scritte, in questo caso “cyan” (azzurro) su sfondo “blue” (blu)
il secondo (white/blue) è il colore di quella selezionata, in questo caso “white” (bianca) su sfondo “blue” (blu)

guardate l’immagine, la terza riga è quella selezionate, lo sfondo è uguale ma il colore della scritta è in bianco

Quindi il comando segue questa sintassi:

color scritte/sfondo scrittaselezionata/sfondoselezionata

i colori disponibili sono i seguenti (solo i primi otto si possono usare come colore di sfondo):

  • black = nero
  • blue = blu
  • green = verde
  • cyan = azzurro ( turchese )
  • red = rosso
  • magenta = magenta ( rosso cremisi carico)
  • brown = marrone
  • light-gray = grigio chiaro
  • dark-gray = grigio scuro (solo scritte)
  • light-blue = blu chiaro (solo scritte)
  • light-green = verde chiaro (solo scritte)
  • light-cyan = azzurro chiaro (solo scritte)
  • light-red = rosso chiaro (solo scritte)
  • light-magenta = magenta chiaro (solo scritte)
  • yellow = giallo (solo scritte)
  • white = bianco (solo scritte)

Ora vediamo come avere un’immagine come sfondo a grub

Questa impostazione sostituirà totalmente quella precedente sui colori si sfondo e scritte🙂 se però per qualche motivo non venisse trovata l’immagine di sfondo grub utilizzerà i colori qui sopra descritti (non vi impedisce di accedere al vostro sistema per così poco)

Serve un immagine in un formato particolare:

  • tipo xpm.gz (xpm compresso con gzip)
  • dimensione 640×480 pixel
  • indicizzata a 14 colori

queste immagini si chiamano splashimage per grub

l’ultima opzione è quella più limitante, significa che non potete avere immagini con più di 14 colori, nonostante questo se avete un buon senso artistico potete riuscire a creare immagini molto belle…

se invece, come me, avete il senso artistico di una rapa potete trovare qualche immagine già pronta a questi link:

NOTA: splashimage è un nome che viene utilizzato per altri tipi di immagine: quella di “avvio” di alcuni programmi, gnome e KDE compresi, e vengono chiamate con un nome similie (splash screen) anche quelle che vedete durante l’avvio del sistema operativo

quando cercate le splashimage per grub verrà comunque specificato e saranno in formato .xpm.gz😉

Su Gnome-look e KDE-look ad esempio le troverete tutte insieme, sarà specificato dove si tratta di splashimage per grub

Ora dovete copiare l’immagine ( o le immagini ) da qualche parte, io consiglio di creare una directory in /boot/grub/, la mia si chiama /boot/grub/splashimages/

la creazione della directory va ovviamente fatta da utente root ( es.: sudo mkdir /boot/grub/splashimages ), se siete inesperti col terminale consiglio di aprire la cartella /boot/grub dal vostro programma per navigare i file come utenti root, in nautilus (gnome, ubuntu) basta cliccare sulla cartella con il tasto destro e scegliere “apri come amministratore”, poi però attenzione a quel che fate😉

quindi copiate all’interno di quella directory tutte le immagini splash che volete ( anche questa operazione va fatta da root)

NOTA BENE: non cambiate i nomi dei file delle splashimages, neppure quando le scaricate!

adesso dobbiamo impostare grub, aprite il solito file: /boot/grub/menu.lst

e aggiungete queste righe dopo quelle precedenti, in grassetto le parti che potreste dover modificare

# Splashimage
foreground = 0000ff
background = ffffff
splashimage=(hd0,0)/boot/grub/splashimages/fiesta.xpm.gz

Vediamo di capire cosa significa:

  • foreground: è il colore delle scritte (vedere sotto per capire come impostarlo)
  • background: è il colore di sfondo dell’opzione selezionata
  • splashimage: è la posizione dell’immagine che volete come sfondo di grub (vedete più sotto per capirne di più), io ho usato un immagine che si chiama “fiesta.xpm.gz”, è una di quelle ufficiali🙂

Come impostare i colori

i colori sono descritti come combinazione dei colori fondamentali RGB (Rosso, Verde, Blu) nella notazione HTML standard

per ricavare il codice di un colore ci sono due strade:

aprite Gimp, cliccate 2 volte sul colore (per sceglierne uno) e copiate il codice che vedete in “Notazione HTML”

scelta del colore

Gimp: scelta del colore

In questo caso quel verdino che vedete corrisponde al codice in notazione html “28dc41“.

Suggerimento:

una buona idea può essere aprire la splash image e prelevare i colori dai 14 presenti🙂

L’altra strada, se non avete grandi pretese e avete un minimo di dimestichezza con la matematica e i colori ( o non siete preoccupati di fare più tentativi) è quella di calcolarsi il codice.. vi spiego come si costruisce e lascio ai temerari la decisione😀

ogni colore può avere un valore da 00 a FF, sono numeri esadecimali
vi faccio degli esempi per farvi capire come convertire un numero esadecimale in un numero decimale:

11 = 1*16 + 1 = 17
2A = 2*16 + A = 32 + 10 = 42
FF = 15*16 + 15 = 255

quindi abbiamo valori da 0 a 255
nota:
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15

ora una combinazione di Rosso = 0, Verde = 0, Blu = 0 dà come risultato il colore NERO = 000000
il bianco è dato da Rosso = 255, Verde = 255, blu = 255 -> bianco = FFFFFF

il solo rosso sarà: Rosso = FF0000
e così via🙂

la posizione dell’immagine

Vi ricordate?

splashimage=(hd0,0)/boot/grub/splashimages/fiesta.xpm.gz

Prima di tutto prendiamo in esame questo:

(hd0,0)

è la partizione dove si trova la cartella /boot nel mio sistema e corrisponde a:

hd0 = primo disco IDE

0 = prima partizione

direi che questa è la cosa più “difficile” di questa guida😛

scorrete in basso il file /boot/grub/menu.lst fino a trovare qualcosa di simile a questo:

title Debian GNU/Linux, kernel 2.6.18-2-686
root (hd0,4)
kernel /boot/vmlinuz-2.6.18-2-686 …blablabla…
savedefault

benone.. vedete la parte in grassetto? vuol dire primo disco IDE, quinta partizione (si 4 = quinta), se avete un disco SCSI probabilmente sarà qualcosa come (sd0,1): primo disco SCSI seconda partizione

nel vostro sistema è molto probabilmente diversa (ma se è uguale non è un problema), copiate la vostra

a questo punto.. nel mio sistema l’immagine splash si chiama “fiesta.xpm.gz” e si trova in: /boot/grub/splashimages/

quindi..

splashimage=(hd0,4)/boot/grub/splashimages/fiesta.xpm.gz

Se volete cambiare immagine dopo la prima volta sarà sufficiente cambiare “fiesta.xpm.gz” nel nome della nuova immagine, e volendo i colori delle scritte se non vi piacessero quelle precedenti con il nuovo sfondo ( o se non risultassero ben leggibili con i nuovi colori di sfondo )

adesso per ottenere quello che vi ho promesso ad inizio guida andate qui per scaricare lo splashscreen “blubuntu”, il file si chiama 36907-Blu.xpm.gz, copiatelo nella cartella /boot/grub/splashimages/ e cambiate nel file /boot/grub/menu.lst la precedente riga in questa:

splashimage=(hd0,4)/boot/grub/splashimages/369070-Blu.xpm.gz

( occhio alle maiuscole!!)

Come si crea un splash screen per grub?

Come promesso ora vi spiego come fare; ci sono 2 strade:

con Gimp seguendo questa semplice procedura:

  1. Create un’immagine cercando di non usare troppi colori o tonalità diverse (ne avete 14 a disposizione), oppure cercate uno sfondo o un immagine che vi piace su internet (cercando di trovarne una con poche tonalità)io non sono un artista, ho quindi scelto questo sfondo per ubuntu, che ha pochi colori e quindi si adatta bene

    Immagine originale
    immagine di partenza

    se guardate il logo di ubuntu in basso a destra vedrete che quei “cerchi” non sono ben colorati.. non so perché ma li ho corretti per avere un risultato migliore (usando il prelievo colore dalla parte centrale e il secchiello nel cerchio)

    Immagine corretta
    immagine corretta

    da questa immagine sono partito per produrre il mio splash screen

  2. Apritela con Gimp (se l’avete create con Gimp ed è quindi già aperta ovviamente questo non è necessario)
  3. ridimensionarla a 640×480: Immagine->Scala Immagine (suggerimento: usate la ri-campionazione cubica per un risultato migliore)
  4. imponiamo 14 colori: Immagine->Modalità->Indicizzata scegliete “numero massimo di colori” = 14

    Immagine finale
    immagine finale (cliccarci sopra per vederla a dimensione 640×480, se poi la scaricate potete usarla partendo dal punto 4 per ottenere la splash image)

    come vedete sembra le sfumature non sono più così precise ma il risultato è comunque ottimo

  5. Se occorre ritoccate l’immagine in qualche punto, in questa ho ad esempio sistemato l’ultima “U” di ubuntu che era un po’ “sbiadita”
  6. salvatela in formato “xpm.gz”, è sufficiente che date il nome del file esempio.xpm.gz – cambiare solo la scritta in grassetto con il nome che preferite e non usate spazi o caratteri strani, limitatevi a lettere e numeri, e state attenti alle maiuscole
  7. mettetela tre le altre in /boot/grub/splashimages/
  8. cambiate /boot/grub/menu.lst perché punti all’immagine che avete appena creato (come visto in precedenza)

oppure potete farlo da riga di comando dopo aver installato imagemagick ( sudo apt-get install imagemagick )

  1. Create un’immagine cercando di non usare troppi colori o tonalità diverse (ne avete 14 a disposizione), oppure cercate uno sfondo o un immagine che vi piace su internet (cercando di trovarne una con poche tonalità)
  2. aprite un terminale
  3. convertiamo l’immagine ( adattate secondo vostro piacere i nomi dei file, immagine.jpg è il file che avete creato, va bene anche se non è di tipo “jpg”, nomefinale.xpm è il nome che volete dare all’immagine finita)
    convert immagine.jpg -resize 640x480 -colors 14 nomefinale.xpm && gzip nomefinale.xpm
  4. copiate nomefinale.xpm.gz in /boot/grub/splashimages/
  5. cambiate /boot/grub/menu.lst perché punti all’immagine che avete appena creato (come visto in precedenza)

Modificare le Opzioni di Grub graficamente

Ringrazio Youri Gagarin per la segnalazione di questo tool.

Startup Manager Screenshot

Startup Manager Screenshot

Il tool funziona su sistemi Debian Based, quindi anche Ubuntu e compari, è sufficiente scaricarlo dalla homepage e installarlo con il programma che preferiamo.. ( dpkg -i nome-file.deb da linea di comando di root, oppure usando GDebi )

Su gnome una volta installato lo trovate in Destkop->Amministrazione->Startup Manager

Non ho ancora testato il tool, ma suppongo funzioni a dovere… ricordo solo di fare attenzione ad usarlo, perché comunque state editando un file di sistema abbastanza importante, quello che fa avviare il vostro computer!😉 una copia di backup non fa mai male! ( /boot/grub/menu.lst )