La maggior parte delle principali distribuzioni Linux (sopratutto quelle desktop-oriented) affida la gestione della fase di boot a GRUB. Nonostante la sua grande diffusione, che è iniziata a diventare rilevante già molti anni fa, la disponibilità di un tool grafico per la sua personalizzazione è arrivata solo un paio di anni fa. Si tratta di GRUB Customizer, che è in grado di sostituire molti (talvolta noiosi) passaggi per la personalizzazione del boot loader con una comoda interfaccia grafica.
In questo articolo descriveremo proprio quali sono le possibilità offerte da GRUB Customizer, e vedremo come poterle sfruttare.
Installazione
Nato per semplificare un processo di configurazione, GRUB Customizer non poteva che essere semplice da installare prima ancora che da utilizzare. Per prima cosa, quindi, vediamo come installarlo. Se utilizziamo Ubuntu, possiamo sfruttare apt ed aggiungere i repository di Daniel Richter, lo sviluppatore che si occupa di mantenere attivo questo progetto; quindi potremo finalmente avviare l'installazione. Possiamo fare tutto ciò con i comandi seguenti:
[code]sudo add-apt-repository ppa:danielrichter2007/grub-customizer
sudo apt-get update
sudo apt-get install grub-customizer[/code]
GRUB Customizer è disponibile anche sui repository AUR di Arch Linux. In generale, comunque, possiamo scaricarlo dalla pagina ufficiale del progetto su LaunchPad.
A questo punto non resta che avviare questo tool e scoprirne le funzionalità.
L'interfaccia di GRUB Customizer
All'avvio di GRUB Customizer ci viene presentata un'interfaccia che suddivide le principali funzionalità in tre schede. La prima di esse, intitolata List configuration, ci consente di modificare le opzioni relative alla lista dei sistemi operativi accessibili tramite il menu di GRUB. La seconda scheda permette di modificare le Impostazioni generali, mentre l'ultima (chiamata Impostazioni aspetto) riguarda le personalizzazioni grafiche di GRUB.
List configuration
Dalla prima di queste tre schede abbiamo la possibilità di modificare la lista dei sistemi operativi visualizzati nel menu di GRUB. Tramite due appositi pulsanti sulla barra principale, possiamo innanzitutto cambiare l'ordine degli elementi di questa lista, ma anche creare sottomenu, rinominare gli elementi o rimuoverli. Quando abbiamo completato, possiamo salvare la configuazione cliccando su Salva.
GRUB Customizer ci permette anche di modificare ogni singola voce del menu, cliccando sul tasto di modifica della barra principale. Possiamo anche decidere di crearne una nuova, ma in entrambi i casi dobbiamo rifarci alla sintassi utilizzata nei file di configurazione di GRUB (dei quali abbiamo parlato in un precedente articolo). Dopo aver cliccato sul tasto di modifica (quello a forma di matita), sarà infatti necessario selezionare il tipo di sistema operativo, ed inserire (o modificare) manualmente il sorgente relativo ad ogni entry. Quest'ultimo somiglierà più o meno al seguente:
[code] recordfail
load_video
gfxmode $linux_gfx_mode
insmod gzio
insmod part_msdos
insmod ext2
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 19c6ee29-1d45-4e65-829b-988ba47bd2cf
else
search --no-floppy --fs-uuid --set=root 19c6ee29-1d45-4e65-829b-988ba47bd2cf
fi
echo 'Caricamento Linux 3.13.0-24-generic...'
linux /boot/vmlinuz-3.13.0-24-generic root=UUID=19c6ee29-1d45-4e65-829b-988ba47bd2cf ro quiet splash $vt_handoff
echo 'Caricamento ramdisk iniziale...'
initrd /boot/initrd.img-3.13.0-24-generic[/code]
Si tratta, sostanzialmente, dei comandi necessari per l'avvio del sistema. Possiamo modificarli sfruttando quest'ultimo esempio come riferimento, e agendo sulle parti del codice che ci interessa alterare.
Impostazioni generali
Dalla scheda Impostazioni generali abbiamo la possibilità di modificare alcuni parametri generali, che non riguardano le singole voci del menu, ma l'intero comportamento di GRUB. Innanzitutto, possiamo modificare la voce di default, che con le impostazioni standard è la prima. Possiamo decidere se mostrare o meno il menu di GRUB all'avvio (nasconderlo può essere utile quando c'è un solo sistema operativo installato), ed eventualmente impostare il numero di secondi di inattività dopo il quale GRUB selezionerà automaticamente la voce di default. Abbiamo anche la possibilità di decidere se GRUB debba cercare o meno altri sistemi operativi in modo automatico. Disabilitare quest'ultima opzione può essere utile se vogliamo forzare la rimozione di una entry dal menu, evitando che alla prossima ricerca essa venga nuovamente visualizzata sul menu di GRUB.
Impostazioni aspetto
GRUB Customizer ci permette anche di modificare l'aspetto del menu di GRUB, agendo sui font, i colori e lo sfondo. Dalla terza ed ultima scheda, Impostazioni aspetto, possiamo infatti modificare questo tipo di opzioni. Innanzitutto possiamo cambiare la risoluzione, che è impostata di default a 640x480: molto sotto gli standard correnti, ma comunque più che sufficiente per un menu di boot (nella maggior parte dei casi). Possiamo anche agire sul colore di sfondo e su quello dei font, nonchè sulla dimensione dei caratteri. Molto più interessante è, però, la possibilità di selezionare un'immagine di sfondo, che verrà visualizzata in fase di avvio, e che ci consente di rendere il menu di GRUB molto più accattivante e "personale". Su internet si trovano svariati esempi di quanto quest'ultima possibilità consenta di migliorare l'aspetto del menu di GRUB; una ricerca su Google Immagini può essere utile a capire l'utilità di questa funzionalità.
Conclusioni
In breve, GRUB Customizer è una utility molto interessante per tutte quelle soluzioni che richiedono sistemi operativi in multiboot con GRUB. Essa ci consente di agire sia sulla configurazione di base di questo boot loader, sia sull'aspetto del menu mostrato in avvio. Sebbene è possibile modificare molte preferenze agendo direttamente sui file di configurazione di GRUB, un tool grafico può evitarci errori di distrazione o banali, e facilitare, in molti casi, il processo di personalizzazione.
Chi volesse ottenere maggiori informazioni su GRUB Customizer, può fare riferimento alle FAQ di Daniel Richter, o ad un interessante post sul forum di Ubuntu.