Il Gentoo Framebuffer, Bootsplash (12VT) e Grubsplash How-To

Contenuti:

1.Introduzione

Obiettivi 

Questa guida descrive i passi necessari per ottenere quanto segue. - Framebuffer ad alta risoluzione nei terminali virtuali - Immagini di bootsplash ad alta risoluzione nei terminali virtuali - Fonts più piccoli sul framebuffer per guadagnare spazio - Temi personalizzati per il bootsplash - Acquisire screenshots di framebuffer e bootsplash - Cambiare splash image nel grub splash screen - Estendere framebuffer e bootsplash a tutti i 12 terminali virtuali - Utilizzare applicazioni multimediali e browser grafici in un framebuffer

Pregi e difetti 

Utilizzare framebuffer e bootsplash permette di avere console di testo a una risoluzione maggiore del normale, un aspetto decisamente più accattivante e le capacità multimediali dei moderni browser. I principali svantaggi sono rappresentati dalla maggiore lentezza nello scroll del testo e dalla mancanza, a volte, di un buffer di scrollback, così che quando il testo scorre oltre la visuale dello schermo non potrà essere recuperato tramite i tasti Shift-PgUp.

2.Patches

Seguono i link per scaricare le patch per tutti i kernel disponibili.

Kernel della serie 2.4

2.4.20 | Origine

2.4.21 | Origine

2.4.22 | Origine

2.4.24 | Origine

2.4.25 | Origine

2.4.26 | Origine

kernel della serie 2.6

2.6.0 | Origine

2.6.1 | Origine

2.6.2 | Origine

2.6.3 | Origine

2.6.4 | Origine

2.6.5 | Origine

2.6.6 | Origine

2.6.7 | Origine

2.6.8.1 | Origine

3.Impostare framebuffer e bootsplash

Aggiornate il portage tree

Esempio 1: Aggiornamento del Portage Tree

# emerge sync

Emergete media-gfx/bootsplash (background grafico per console con framebuffer).

Esempio 2: Installare bootsplash

# ACCEPT_KEYWORDS=~x86 emerge  bootsplash
	

Sovrascrivete i vecchi file di configurazione di bootsplash

Esempio 3: Sovrascrivere i file di configurazione di bootsplash

# etc-update
        

Controllate che il link simbolico /usr/src/linux punti al kernel che intendete usare.

Esempio 4: Controllo link

# ls -l /usr/src/

Alcuni kernel come gentoo-sources, gaming-sources e xfs-sources hanno già incluso la patch per il bootsplash. Controllate che il vostro kernel sia tra questi, altrimenti dovrete patchare il kernel come mostrato nell'esempio che segue.

Esempio 5: Patchare il kernel

# ebuild /var/db/pkg/media-gfx/bootsplash-0.6-r2/bootsplash-0.6-r2.ebuild config	

Potete anche usare il seguente comando che accetta argomenti aggiuntivi ed esegue il comando summenzionato:

Esempio 6: Controllare e patchare il kernel

# bootsplash_patch

Compilate le seguenti opzioni direttamente nel kernel. Non compilatele come moduli e non abilitate alcuna opzione specifica per il supporto ATI o nVidia.

Configurazione e compilazione kernel della serie 2.6

Esempio 7: Configurazione del kernel della serie 2.6

# cd /usr/src/linux
# make menuconfig

Esempio 8: Opzioni da abilitare nel kernel della serie 2.6

Code maturity level options  ---> 
    [*] Prompt for development and/or incomplete code/drivers 
Processor type and features  ---> 
    [*] MTRR (Memory Type Range Register) support 
Device Drivers -->
    Block devices -->
        <*> Loopback device support
        <*>RAM disk support
        (4096) Default RAM disk size
        [*] Initial RAM disk (initrd) support
    Graphics support -->
        [*] Support for frame buffer devices
        [*] VESA VGA graphics support

        Console display driver support -->
            [*] Video mode selection support
            <*> Framebuffer Console support

        Bootsplash configuration -->
            [*] Bootup splash screen

Esempio 9: Compilazione e installazione del kernel della serie 2.6

# make && make modules_install
# make install

Configurazione e compilazione kernel della serie 2.4.

Esempio 10: Configurazione del kernel della serie 2.4

# cd /usr/src/linux
# make menuconfig
	

Esempio 11: Opzioni da abilitare nel kernel della serie 2.4

	Code maturity level options  --->
	    [*] Prompt for development and/or incomplete code/drivers 
	Processor type and features  --->
	    [*] MTRR (Memory Type Range Register) support
	Block Devices ->
	    [*] Loopback device support
	    [*] RAM disk support
	    (4096)   Default RAM disk size
	    [*] Initial RAM disk (initrd) support
	Console Drivers ->
	    [*] VGA text console
	    [*] Video mode selection support
	Frame-buffer support ->
	    [*] Support for frame buffer devices
	    [*] VESA VGA graphics console
	    [*] Use splash screen instead of boot logo
	

Nota: Non abilitate le seguenti opzioni o rischiate di non avere il bootsplash o di corrompere il framebuffer cambiando terminale:

Esempio 12

Device Drivers  --->
    Graphics support  --->
            < >   nVidia Riva support  (do not enable!)
        Logo configuration  --->
            [ ] Bootup logo  (do not enable!) 
        

Nota: Nel caso incontriate problemi in seguito, disabilitate la seguente opzione del kernel:

Esempio 13

Device Drivers  --->
    Character devices  --->
        < > /dev/agpgart (AGP Support)
E aggiungete la seguente linea al vostro file /etc/X11/XF86Config[-4]

Esempio 14

Option          "NvAGP"         "1"

Ricompilate il kernel e spostatelo in /boot

Esempio 15: Compilazione del kernel della serie 2.4

 make dep && make clean bzImage modules modules_install
#  mount /boot 
# mv /boot/bzImage /boot/bzImage.old
# cp /usr/src/linux/arch/i386/boot/bzImage /boot
	

Nota: se avete problemi nella compilazione del kernel quali errori o opzioni mancanti, pulite l'albero dei sorgenti del vostro kernel (da root) e ripetete i due passi precedenti (configurazione e compilazione)

Esempio 16: Se avete problemi di compilazione del kernel della serie 2.4

# cd /usr/src/linux/
# mv .config ~/dotconfig
# make mrproper
# mv ~/dotconfig .config
# make oldconfig
# make menuconfig 
	

Aggiungete l'immagine che dovrà apparire durante il processo di boot. Assicuratevi che /boot sia montata quando darete questo comando

Esempio 17: Aggiungere l'immagine per il boot

# /sbin/splash -s -f /etc/bootsplash/default/config/bootsplash-1280x1024.cfg > /boot/initrd-1280x1024
	

an already exisiting initrd image that is provided with the bootsplash package. o copiate un'immagine initrd provveduta col pacchetto bootsplash:

Esempio 18: Aggiungere l'immagine per il boot

# cp /usr/share/bootsplash/initrd-1280x1024 /boot/

Modificate il vostro /boot/grub/grub.conf. L'esempio seguente presenta tre voci di menu: una con fb e splash, una con fb ma senza splash e l'ultima senza fb e splash in modo da poter caricare il vostro sistema anche in caso di regolazioni errate. Qui è riportata una breve spiegazione dei vari parametri.

  • video= passa al kernel parametri come ywrap e mtrr che velocizzano il framebuffer
  • vga= passa al kernel i parametri per la risoluzione e la profondità di colore del framebuffer
  • splash= passa al kernel il parametro 'silent' o 'verbose' (attualmente non funziona con gentoo)
  • initrd= passa una nuova linea dopo quella del kernel e carica un'immagine durante il processo di boot

Esempio 19: Configurare il GRUB

	default 0
	timeout 7
	splashimage=(hd0,0)/boot/grub/splash.xpm.gz
	
	title=Gentoo GNU/Linux 1.4 (+fb +splash)
	root=(hd0,0)
	kernel=(hd0,0)/boot/bzImage root=/dev/hda3 video=vesa:ywrap,mtrr vga=0x31A
	initrd=/boot/initrd-1280x1024
	
	title=Gentoo GNU/Linux 1.4 (+fb -splash)
	root=(hd0,0)
	kernel=(hd0,0)/boot/bzImage root=/dev/hda3 video=vesa:ywrap,mtrr vga=0x31A
	
	title=Gentoo GNU/Linux 1.4 (-fb -splash)
	root=(hd0,0)
	kernel=(hd0,0)/boot/bzImage root=/dev/hda3
	

In alcuni casi, i parametri passati a video, non permettono la visualizzazione dell'immagine. E' il caso di alcuni portatili. Provate a configurare il grub come segue.

Questo è un esempio di configurazione di lilo.conf (by ophidia)

Esempio 20: Configurare il LILO

	image="/boot/bzImage"
	vga=0x31A
	root="/dev/hdb2"
	label="2.4.20-r4"
	read-only # read-only for checking
	append="hdc=ide-scsi video=vesa:ywrap,mtrr"
	initrd=/boot/initrd-1280x1024
	

Questa è la tabella con i possibili valori da assegnare al parametro 'vga=' che è possibile passare al kernel

Esempio 21: Valori possibili del parametro vga

	    | 640x480  800x600  1024x768 1280x1024
	----+-------------------------------------
	256 |  0x301    0x303    0x305    0x307
	32k |  0x310    0x313    0x316    0x319
	64k |  0x311    0x314    0x317    0x31A
	16M |  0x312    0x315    0x318    0x31B
	

Date uno sguardo ai seguenti files se volete maggiori informazioni

Esempio 22: Per maggiori info

	/usr/share/bootsplash/grub.conf.sample
	/usr/src/linux/Documentation/fb/vesafb.txt
	/usr/src/linux/Documentation/svga.txt
	

Aggiungete bootsplash al run level di default in modo che venga caricato ad ogni avvio

Esempio 23: Aggiungere bootsplash al runlevel di default

# rc-update add bootsplash default
	

Riavviate e godetevi le meraviglie del bootsplash. Trovate i parametri del kernel con cui avete avviato il sistema come segue

Esempio 24: Visualizzare i parametri passati al kernel

# cat /proc/cmdline
	

4.Impostare il framebuffer senza bootsplash

Per avere il framebuffer soltanto, senza bootsplash rimuovete quest'ultimo dal vostro run level

Esempio 25: Rimuovere bootsplash dal runlevel di default

# rc-update del bootsplash default
	

Rimuovete o commentate la seguente linea nel vostro grub.conf

Esempio 26

	initrd=/boot/initrd-1280x1024
	

5.Impostare fonts più piccoli per avere un'area più grande

Aprite /etc/rc.conf e cambiate la linea 21 come segue

Esempio 27: Modifiche in /etc/rc.conf

	CONSOLEFONT="default8x9"
	

La prossima volta che riavvierete i fonts saranno più piccoli e più testo troverà posto sul vostro schermo, sebbene forse un po' meno leggibile. Per vedere fonts differenti basta ripetere il punto precedente, cambiando l'estensione con una di quelle che si trovano qui

Esempio 28

	/usr/share/consolefonts
	

6.Estendere consolefont, framebuffer e bootsplash a tutti i 12 terminali virtuali

Aprite /etc/init.d/consolefont e cambiate tutte le istanze di

Esempio 29: Istanze da modificare

for x in 1 2 3 4 5 6 7 8 9 10

in

Esempio 30

for x in `seq 1 12`

Aprinte /etc/conf.d/bootsplash.conf e modificate le seguenti variabili come segue:

Esempio 31: Modifica di bootsplash.conf

BOOTSPLASH_TTYS="0 1 2 3 4 5 7 8 9 10 11"

Per rendere effettive le modifiche dovete riavviare o far ripartire lo script come segue:

Esempio 32: Rendere effettive le modifiche

# /etc/init.d/consolefont restart
# /etc/init.d/bootsplash restart 

7.Temi personalizzati per lo splash

Create una vostra struttura di directory chiamata 'personal'

Esempio 33: Temi personalizzati. Primo passo.

# mkdir -pv /etc/bootsplash/personal/images/
# cp -rv /etc/bootsplash/default/config /etc/bootsplash/personal/
	

Cambiate il link simbolico del tema di default

Esempio 34: Temi personalizzati. Secondo passo.

# rm /etc/bootsplash/default
# ln -s /etc/bootsplash/personal /etc/bootsplash/default
	

Aprite /etc/conf.d/bootsplash.conf e modificatelo come segue

Esempio 35: Temi personalizzati. Terzo passo.

	BOOTSPLASH_THEME=personal
	

Copiate l'immagine che avete scelto (alla giusta risoluzione e profondità di colore) nella directory /etc/bootsplash/personal/images/. Assicuratevi di avere immagini con una risoluzione di 96x96 e non 300x300 facendo attenzione che questa non è la dimensione dell'immagine ma 'pixel per pollice'. Per maggiori info guardate qui. Aprite /etc/bootsplash/personal/config/bootsplash-1280x1024.cfg e modificate secondo le vostre esigenze le seguenti linee affinché riportino il path corretto dell'immagine.

Esempio 36: Linee da modificare

jpeg=/etc/bootsplash/gentoo/images/bootsplash-1280x1024.jpg 
silentjpeg=/etc/bootsplash/gentoo/images/silent-1280x1024.jpg

Per avere la vostra immagine al boot aggiungete questo a /boot; in caso contrario saltate questo passo.

Esempio 37: Temi peronalizzati. Quarto passo.

# mount /boot
# /sbin/splash -s -f /etc/bootsplash/default/config/bootsplash-1280x1024.cfg > /boot/initrd-1280x1024
	

Riavviate ed incrociate le dita. :)

Nota: Questo particolare metodo non è stato ben testato, ogni feedback è ben accetto.

8.Acquisire uno screenshots

Per usare fbgrab emergetelo ed eseguitelo come normale utente nel primo terminale

Esempio 38: Installazione e uso di fbgrab

# ACCEPT_KEYWORDS=~x86 emerge fbgrab
# fbgrab ~/console.png
	

9.Cambiare la grub splash image

Per cambiare la vostra grub splash image create un'immagine e spostatela in /boot/grub. Da root date i seguenti comandi

Esempio 39: Installazione di gimp

# emerge gimp
# wget http://dhruba.codewordt.co.uk/files/grub-image.scm -P ~
# mv ~/grub-image.scm /usr/share/gimp/1.2/scripts/
	

Avviate gimp e aprite l'immagine scelta. Premete il tasto di destra del mouse sull'immagine, scegliete File, Grub Boot Image e salvate nella vostra home directory. Una semplice immagine di prova la potete ottenere con i comandi seguenti. Altre immagini potete trovarle a questo indirizzo.

Esempio 40: Cambiare l'immagine del GRUB

# mount /boot
# wget http://dhruba.codewordt.co.uk/files/gentoo-boot.xpm.gz -P ~
# mv ~/gentoo/gentoo-boot.xpm.gz /boot/grub/
	

Modificate /boot/grub/grub.conf affinché punti alla nuova immagine.

Esempio 41: Modifiche al /boot/grub/grub.conf

	splashimage=(hd0,0)/boot/grub/gentoo-boot.xpm.gz
	

Per creare immagini del tipo corretto seguite le istruzioni che trovate su linux.tkdack.com e che riporto di seguito per convenienza o usate il plugin di gimp.

Esempio 42: Crezione di un immagine per gimp

# convert -size 800x600 file.jpg -resize 640x480 -colors 15 -profile '*' file.xpm	
Code:	
# gzip file.xpm


Ultimo aggiorn.:
17 Ottobre 2004
Narada
Autore

Shev
Traduttore

Enrico Morelli
Traduttore

Sommario: Questa guida è la traduzione di un breve howto scritto da Narada e apparso sul forum "Documentation, Tips & Tricks" di gentoo.org. In pochi e semplici passi si potranno ammirare tutta la bellezza e la potenza del framebuffer e delle console di testo.
- 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.