6 999
contributi
m (categorie) |
S3v (discussione | contributi) Nessun oggetto della modifica |
||
Riga 1: | Riga 1: | ||
=Introduzione= | |||
Chi di voi non ha mai visto un boot di Linux con lo splash screen attivo, magari su una rivista o da un amico, e si è chiesto quanto fosse difficile metterlo in pratica?. Bene, dopo questa guida scoprirete il contrario.<br/> | |||
Mi raccomando, occhio a quello che fate; molti comandi descritti in questa guida vanno impartiti con i permessi di root. | |||
=Passi preliminari alla compilazione del kernel= | |||
Innanzitutto, se già non li abbiamo, ci servono i sorgenti del kernel: | |||
<pre> | |||
$ wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.10.tar.bz2 | |||
# cd /usr/src | |||
# tar xvfj /path/linux-2.6.10.bz2 | |||
# rm linux (in caso avessimo già ricompilato questo link è da eliminare , e da ricreare) | |||
# ln -s linux-2.6.10 linux | |||
</pre> | |||
poi ci occorre la patch per lo splash: | |||
<pre> | |||
# wget http://dev.gentoo.org/~spock/projects/gensplash/archive/fbsplash-0.9.1-2.6.10-rc3-bk6.patch | |||
</pre> | |||
Immagino che qualcuno stia dicendo: "ti sei sbagliato". Ma non mi sono sbagliato, so che la patch è per il 2.6.10-rc, ma questa è la ultima versione disponibile e con una minima modifica andrà benone per il nostro scopo. | |||
<pre> | |||
# mv fbsplash-0.9.1-2.6.10-rc3-bk6.patch linux | |||
# cd linux | |||
# patch -p1 < fbsplash-0.9.1-2.6.10-rc3-bk6.patch linux | |||
</pre> | |||
Se il comando ''patch'' restituisce un errore, dobbiamo editare il file che genera l'errore: | |||
<pre> | |||
# vi include/linux/sysctl.h | |||
</pre> | |||
(usate il vostro editor preferito) | |||
Andate alla riga 138 e subito dopo la riga: | |||
<pre> | |||
KERN_COMPUTE=68, /* adjust timeslices for a compute server */ | |||
</pre> | |||
aggiungete questa riga: | |||
<pre> | |||
KERN_FBSPLASH=69, /* string: path to fbsplash helper */ | |||
</pre> | |||
salvate il file. È giunta ora di configurare le impostazioni per la compilazione del nostro kernel. | |||
<pre> | |||
# make menuconfig | |||
</pre> | |||
(usate pure il metodo che più vi aggrada) | |||
Scegliamo le opzioni che ci servono per il nostro kernel, non scendo nei particolari perché esula dall'argomento trattato da questa guida.<br/> | |||
Nella sezione ''Device Driver/Graphic Support'' controlliamo che la voce '''Support for frame buffer devices''' sia impostata come statica, | |||
ovvero contrassegnata con l'asterisco (*) e che anche le voci '''VGA 16-color graphics support''' e '''VESA VGA graphics support''' siano sempre settate statiche.<br/> | |||
Mi raccomando, non attiviamo la voce '''Logo configuration''' ma attiviamo quella successiva, ovvero: '''Support for the framebuffer splash'''<br/> | |||
Ora finite di settare la vostra configurazione. | |||
=Compilazione del kernel= | |||
Partiamo con la compilazione: diamo, sempre da root, il comando: | |||
<pre> | |||
# make -j4 | |||
</pre> | |||
(il -j4 serve per avviare 4 processi di compilazione paralleli, in pratica si ottimizza la compilazione)<br/> | |||
Se non riceviamo errori di sorta procediamo all'installazione delle ''splashutils'' quindi: | |||
*aggiungiamo nel nostro <code>/etc/apt/sources.list</code> il repository | |||
<pre> | |||
deb http://ftp.nluug.nl/ftp/pub/os/Linux/distr/esware/kenny/i386/ ./ | |||
</pre> | |||
*aggiorniamo il nostro database dei pacchetti: | |||
<pre> | |||
#apt-get update | |||
</pre> | |||
*installiamo i nostri tools | |||
<pre> | |||
#a apt-get install splashutils | |||
</pre> | |||
dopodiché dobbiamo creare il file che conterrà la nostra immagine di splash. Prima, però, è meglio creare un backup di questo file: | |||
<pre> | |||
# cp usr/initramfs_data.cpio.gz usr/initramfs_data.cpio-old.gz | |||
</pre> | |||
Ora procediamo. Dobbiamo avere il nostro tema estratto in <code>/etc/splash</code>. Ad esempio: | |||
<pre> | |||
matrix:~# ls /etc/splash/ | |||
linux | |||
matrix:~# ls /etc/splash/linux/ | |||
bootsplash-debblue-1280x1024.jpg | |||
1280x1024.cfg vt-debblue-1280x1024.jpg | |||
</pre> | |||
Diamo il comando: | |||
<pre> | |||
# splash_geninitramfs -g usr/initramfs_data.cpio.gz -r 1280x1024 NOME_TEMA | |||
</pre> | |||
sostituite 1280x1024 con la risoluzione che usate al boot e NOME_TEMA con il nome del tema che avete scelto e precedentemente estratto in <code>/etc/splash</code><br/> | |||
Prima di procedere controllate il file di configurazione del tema per verificare che punti all'immagine giusta. Nel mio caso il file contiene: | |||
<pre> | |||
# name of the picture file (full path recommended) | |||
jpeg=/etc/splash/linux/vt-debblue-1280x1024.jpg | |||
silentjpeg=/etc/splash/linux/bootsplash-debblue-1280x1024.jpg | |||
</pre> | |||
verificate anche l'esistenza dei file che contengono le immagini di splash: | |||
<pre> | |||
matrix:/etc/splash/linux# ls | grep jpg | |||
bootsplash-debblue-1280x1024.jpg | |||
vt-debblue-1280x1024.jpg | |||
</pre> | |||
controlliamo per scrupolo anche che il file '''initramfs_data.cpio.gz''' contenga davvero l'immagine: | |||
<pre> | |||
# ls -l usr/initramfs_data.cpio.gz | |||
-rw-r--r-- 1 root root 125245 2005-01-10 20:53 usr/initramfs_data.cpio.gz | |||
</pre> | |||
cosa che si può ricavare dall'aumento della dimensione del file.<br/> | |||
Ricreiamo l'iimmagine del kernel: | |||
<pre> | |||
# make -j4 bzImage | |||
</pre> | |||
in seguito creiamo e installiamo i moduli del kernel: | |||
<pre> | |||
# make modules && make modules_install | |||
</pre> | |||
se avete già un altra versione del kernel 2.6.10, raccomando di eliminare i vecchi moduli.<br/> | |||
Bene, dopo che sarà terminata la compilazione del kernel, dobbiamo copiarlo nella directory <code>/boot</code>: | |||
<pre> | |||
# cp System.map /boot/System.map-2.6.10-gensplash | |||
# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.10-rc3-ck1 | |||
</pre> | |||
Il kernel adesso è installato correttamente. Non rimane che creare la nostra immagine initrd e siamo quasi al termine: | |||
<pre> | |||
# mkinitrd -o /boot/initrd-2.6.10-gensplash.img -r /dev/hdax 2.6.10 | |||
</pre> | |||
sostituite hdx con la vostra partizione di boot. | |||
Per finire non resta che modificare il file di configurazione di LILO oppure quello di GRUB: | |||
<pre> | |||
# vi /etc/lilo.conf | |||
image=/boot/vmlinuz-2.6.10-gensplash | |||
label=2.6.10-gensplash | |||
read-only | |||
append="video=vesafb:1280x1024x256 splash=silent,theme:TEMA_LINUX" | |||
initrd=/boot/initrd-2.6.10-gensplash.img | |||
</pre> | |||
nella seconda riga occorre sostituire 1280x1024 con la vostra risoluzione e TEMA_LINUX con il nome del tema scelto.<br/> | |||
Potrebbe essere interessante modificare l'opzione <code>splash=silent</code> con <code>splash=verbose</code>, in questo modo potrete vedere i messaggi di boot. Ricordo che se utilizzate l'opzione ''silent'' potete cambiare la modalità di visualizzazione in ''verbose'' premendo F2.<br/> | |||
Adesso non resta altro che far rileggere a LILO le nuove impostazioni: | |||
<pre> | |||
#lilo -v | |||
</pre> | |||
se non ci mostra errori possiamo riavviare e goderci il nostro splash. | |||
Volevo ringraziare ldonesty e debianizzati.org per il supporto nella stesura di questa guida, in caso di problemi postate pure. | |||
Autore: debian | Autore: debian | ||
[[Categoria:Kernel]] |
contributi