Il Gentoo Framebuffer, Bootsplash (12VT) e Grubsplash How-To
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
|
|