Old:Kernel2.6.10 - Framebuffer - Gensplash Patch
Chi di voi non ha mai visto un boot di linux con lo splash screen attivo , magari su unarivista o da un amico , e ci siamo detti chissà quanto sia difficile farlo,bene dopo questa guida scoprirete il contrario:
Mi raccomando occhio a quello che fate dovete essere root per seguire questa guida
inanzitutto 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 occore 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 qulcuno stia dicendo ti sei sbagliato , ma non mi sono sbagliato lo sò che la patch è per il 2.6.10-rc mà questa è la ultima versione disponibile di questa patch 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
da notare l'errore che ci restituirà patch
ora se ci dà l'errore dobbiamo editare il file che come ho detto poche righe fà crea l'errore
#vi include/linux/sysctl.h
(usate il vostro editor preferito)
andate alla riga 138 e subito dopo
KERN_COMPUTE=68, /* adjust timeslices for a compute server */
aggiungete questa riga
KERN_FBSPLASH=69, /* string: path to fbsplash helper */
ok salvate il file , e giunta ora di compilare il 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 * e 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
ok ora finite la vostra configurazione.
ora 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
ora se già non le abbiamo necessitiamo delle splashutils quindi : aggiungiamo nel nostro sources.list il repository
deb http://ftp.nluug.nl/ftp/pub/os/Linux/distr/esware/kenny/i386/ ./
aggiorniamo il nostro db dei pacchetti
#apt-get update
e infine installiamo i nostri tools
#apt-get install splashutils
dopodichè dobbiamo creare il file che conterra la nosta immagine di splash
prima però è meglio se ci creiamo un backup di questo file non si sà mai
#cp usr/initramfs_data.cpio.gz usr/initramfs_data.cpio-old.gz
ora procediamo ,dobbiamo avere il nostro tema estratto in /etc/splash
esempio
matrix:~# ls /etc/splash/ linux matrix:~# ls /etc/splash/linux/ bootsplash-debblue-1280x1024.jpg 1280x1024.cfg vt-debblue-1280x1024.jpg
benissimo ora diamo
#splash_geninitramfs -g usr/initramfs_data.cpio.gz -r 1280x1024 NOME_TEMA
sostituite 1280x1024 con lq rsoluzione che usate al boot e NOME_TEMA con il nome del tema che avete scelto e precedentemente etratto in /etc/splash
ps controllate il file di configurazione del tema prima di procedere per controllare chepunti alla immagine giusta
nel mio caso il file dice:
# name of the picture file (full path recommended) jpeg=/etc/splash/linux/vt-debblue-1280x1024.jpg silentjpeg=/etc/splash/linux/bootsplash-debblue-1280x1024.jpg
controllo se è davvero cosi
matrix:/etc/splash/linux# ls | grep jpg bootsplash-debblue-1280x1024.jpg vt-debblue-1280x1024.jpg
bene possiamo procedere
controlliamo per scrupolo se il file davvero contiene l'immagine
#ls -l usr/initramfs_data.cpio.gz matrix:/usr/src/linux# ls -l usr/initramfs_data.cpio.gz -rw-r--r-- 1 root root 125245 2005-01-10 20:53 usr/initramfs_data.cpio.gz
benissimo l'immagine cè lo possiamo notare dalla dimensione del file
ora ricreiamo l'iimagine 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 mi raccomando eliminiamo i vecchi moduli
bene la configurazione del kernel è finita ora dobbiamo solo copiarlo e modificare lilo/grub
#cp System.map /boot/System.map-2.6.10-gensplash #cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.10-rc3-ck1
ok ora il kernel è 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
ora non rimane che modificare lilo/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:linux" initrd=/boot/initrd-2.6.10-gensplash.img
allora nella seconda riga occorre sostituire 1280x1024 con la vostra risoluzione , è linux con il nome del tema scelto
un altro bel giochino e la voce silent , se lo sostituite con verbose potete vedere i messaggi di boot da subito mentre se lasciate così vedrete l'immagine silen ovvero senza messaggi , vi ricordo che se siete in silent potete switchare la visualizzazione in verbose premendo F2
ok ora non rimane che rilanciare lilo
#lilo -v
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