Old:Kernel2.6.10 - Framebuffer - Gensplash Patch: differenze tra le versioni
(corretta gerarchia titoli) |
m (ha spostato Kernel2.6.10 - Framebuffer - Gensplash Patch a Old:Kernel2.6.10 - Framebuffer - Gensplash Patch) |
||
(6 versioni intermedie di 4 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Old}} | |||
== Introduzione == | == 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/> | 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/> | ||
Riga 181: | Riga 182: | ||
Volevo ringraziare ldonesty e debianizzati.org per il supporto nella stesura di questa guida, in caso di problemi postate pure. | Volevo ringraziare ldonesty e debianizzati.org per il supporto nella stesura di questa guida, in caso di problemi postate pure. | ||
Autore | {{Autori | ||
|Autore = [[Utente:Noise|Noise]] | |||
[[ | }} | ||
Versione attuale delle 10:57, 12 giu 2016
Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica. |
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.
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:
$ 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
poi ci occorre la patch per lo splash:
# wget http://dev.gentoo.org/~spock/projects/gensplash/archive/fbsplash-0.9.1-2.6.10-rc3-bk6.patch
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.
# 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
Se il comando patch restituisce un errore, dobbiamo editare il file che genera l'errore:
# vi include/linux/sysctl.h
(usate il vostro editor preferito)
Andate alla riga 138 e subito dopo la riga:
KERN_COMPUTE=68, /* adjust timeslices for a compute server */
aggiungete questa riga:
KERN_FBSPLASH=69, /* string: path to fbsplash helper */
salvate il file. È giunta ora di configurare le impostazioni per la compilazione del nostro kernel.
# make menuconfig
(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.
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.
Mi raccomando, non attiviamo la voce Logo configuration ma attiviamo quella successiva, ovvero: Support for the framebuffer splash
Ora finite di settare la vostra configurazione.
Compilazione del kernel
Partiamo con la compilazione: diamo, sempre da root, il comando:
# make -j4
(il -j4 serve per avviare 4 processi di compilazione paralleli, in pratica si ottimizza la compilazione)
Se non riceviamo errori di sorta procediamo all'installazione delle splashutils quindi:
- aggiungiamo nel nostro
/etc/apt/sources.list
il repository
deb http://ftp.nluug.nl/ftp/pub/os/Linux/distr/esware/kenny/i386/ ./
- aggiorniamo il nostro database dei pacchetti:
#apt-get update
- installiamo i nostri tools
#a apt-get install splashutils
dopodiché dobbiamo creare il file che conterrà la nostra immagine di splash. Prima, però, è meglio creare un backup di questo file:
# cp usr/initramfs_data.cpio.gz usr/initramfs_data.cpio-old.gz
Ora procediamo. Dobbiamo avere il nostro tema estratto in /etc/splash
. Ad esempio:
matrix:~# ls /etc/splash/ linux matrix:~# ls /etc/splash/linux/ bootsplash-debblue-1280x1024.jpg 1280x1024.cfg vt-debblue-1280x1024.jpg
Diamo il comando:
# splash_geninitramfs -g usr/initramfs_data.cpio.gz -r 1280x1024 NOME_TEMA
sostituite 1280x1024 con la risoluzione che usate al boot e NOME_TEMA con il nome del tema che avete scelto e precedentemente estratto in /etc/splash
Prima di procedere controllate il file di configurazione del tema per verificare che punti all'immagine giusta. Nel mio caso il file contiene:
# name of the picture file (full path recommended) jpeg=/etc/splash/linux/vt-debblue-1280x1024.jpg silentjpeg=/etc/splash/linux/bootsplash-debblue-1280x1024.jpg
verificate anche l'esistenza dei file che contengono le immagini di splash:
matrix:/etc/splash/linux# ls | grep jpg bootsplash-debblue-1280x1024.jpg vt-debblue-1280x1024.jpg
controlliamo per scrupolo anche che il file initramfs_data.cpio.gz contenga davvero l'immagine:
# ls -l usr/initramfs_data.cpio.gz -rw-r--r-- 1 root root 125245 2005-01-10 20:53 usr/initramfs_data.cpio.gz
cosa che si può ricavare dall'aumento della dimensione del file.
Ricreiamo l'iimmagine del kernel:
# make -j4 bzImage
in seguito creiamo e installiamo i moduli del kernel:
# make modules && make modules_install
se avete già un altra versione del kernel 2.6.10, raccomando di eliminare i vecchi moduli.
Bene, dopo che sarà terminata la compilazione del kernel, dobbiamo copiarlo nella directory /boot
:
# cp System.map /boot/System.map-2.6.10-gensplash # cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.10-rc3-ck1
Il kernel adesso è installato correttamente. Non rimane che creare la nostra immagine initrd e siamo quasi al termine:
# mkinitrd -o /boot/initrd-2.6.10-gensplash.img -r /dev/hdax 2.6.10
sostituite hdx con la vostra partizione di boot. Per finire non resta che modificare il file di configurazione di LILO oppure quello di GRUB:
# 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
nella seconda riga occorre sostituire 1280x1024 con la vostra risoluzione e TEMA_LINUX con il nome del tema scelto.
Potrebbe essere interessante modificare l'opzione splash=silent
con splash=verbose
, 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.
Adesso non resta altro che far rileggere a LILO le nuove impostazioni:
#lilo -v
se non ci mostra errori possiamo riavviare e goderci il nostro splash.
Ringraziamenti
Volevo ringraziare ldonesty e debianizzati.org per il supporto nella stesura di questa guida, in caso di problemi postate pure.
Guida scritta da: Noise | Debianized 20% |
Estesa da: | |
Verificata da: | |
Verificare ed estendere la guida | Cos'è una guida Debianized |