Old:Kernel2.6.10 - Framebuffer - Gensplash Patch

Da Guide@Debianizzati.Org.
Versione del 14 mag 2005 alle 09:48 di TheNoise (discussione | contributi) (primo inserimento)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

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