Old:Compilazione Kernel 2.6.11 con Bootsplash: differenze tra le versioni
Vai alla navigazione
Vai alla ricerca
m ("repository" linkato al relativo wiki) |
(final version) |
||
Riga 1: | Riga 1: | ||
== Introduzione == | == Introduzione == | ||
Questo how-to spiegher� il procedimento da seguire per compilare (alla debian-way) un kernel 2.6.11 con la patch bootsplash. | |||
== Software richiesto == | |||
In ambiente Debian, ci viene in aiuto il tool '''[[APT]]''' (Advanced Package Tool), che ci fornir� tutto (o quasi) ci� di cui abbiamo bisogno. | |||
Anzitutto, editiamo il nostro '''/etc/apt/sources.list''' aggiungendo il [[I_repository_ed_il_loro_utilizzo | repository]] bootsplash: | |||
<pre>deb http://www.bootsplash.de/files/debian/ unstable main</pre> | |||
< | |||
Abbiamo poi bisogno delle librerie e/o programmi che utilizzeremo per la compilazione vera e propria: | |||
<pre> | <pre> | ||
PACCHETTO VERSIONE COMANDO | |||
binutils 2.12 ld -v | |||
e2fsprogs 1.29 tune2fs | |||
gcc 2.95.3 gcc --version | |||
make 3.78 make --version | |||
module-init-tools 0.9.10 depmod -V | |||
procps 3.1.13 ps --version | |||
util-linux 2.10o fdformat --version | |||
kernel-package | |||
initrd-tools | |||
libncurses-dev | |||
</pre> | </pre> | ||
Ora possiamo procedere al download dei sorgenti del kernel: | |||
<pre># apt-get install kernel-source-2.6.11</pre> | |||
<pre> | |||
# | |||
</pre> | |||
Con questo comando, [[APT]] scaricher� un archivio .tar.bz2 in '''/usr/src/''', contenente proprio il sorgente del [[kernel]]. | |||
È inoltre necessario scaricare una patch apposita da applicare al kernel: | |||
[http://www.bootsplash.de/files/bootsplash-3.1.4-2.6.11.diff Patch per Kernel 2.6.11] | |||
In caso si tenti questa procedura con altri kernel, è possibile scaricare la patch relativa, basta cercare in http://www.bootsplash.de/files/. | |||
== Compilazione == | |||
Bene, prima di procedere con la compilazione, è necessario applicare la patch bootsplash (vedi sopra) al nostro kernel. | |||
Prima di tutto, scompattiamo l'archivio contenente i sorgenti. | |||
Per fare ci�, spostiamoci in '''/usr/src/''', e procediamo con la scompattazione': | |||
<pre> | <pre> | ||
# cd /usr/src/ | |||
# tar -jxvf kernel-source-2.6.11.tar.bz2 | |||
</pre> | </pre> | ||
A questo punto verrà creata una nuova directory, '''/usr/src/kernel-source-2.6.11/'''. | |||
Spostiamoci dunque nella nuova directory e applichiamo la patch che abbiamo scaricato: | |||
<pre> | <pre> | ||
kernel | # cd /usr/stc/kernel-source-2.6.11 | ||
# patch -p1 < /usr/src/bootsplash-3.1.4-sp3-2.6.8.1.diff | |||
</pre> | </pre> | ||
Non dovrebbe essere segnalato alcun errore nella patch a questo punto. In caso contrario, rimuoviamo la directory dei sorgenti e ripetiamo la procedura dall'inizio. È importante applicare la patch bootsplash prima di qualunque altra patch, cioè sul kernel debian originale preso da APT. | |||
A questo punto, possiamo procedere con la compilazione del kernel. | |||
Anzitutto, configuriamo il kernel stesso: | |||
<pre># make menuconfig</pre> | |||
Vediamo cosa selezionare, brevemente. | |||
Selezioniamo il nostro modello di processore: | |||
<pre> | <pre> | ||
| Processor type and features | |||
|--- Processor family (Athlon/Duron/K7) | |||
</pre> | </pre> | ||
Attiviamo la CPU-Scaling (cos� da ottimizzare il lavoro del processore): | |||
<pre> | <pre> | ||
| Power management options (ACPI, APM) | |||
|--- CPU Frequency scaling | |||
|------ [*] CPU Frequency scaling | |||
</pre> | </pre> | ||
Attiviamo qualche altra opzione per il boot: | |||
<pre> | <pre> | ||
| Device Drivers | |||
|--- Block devices | |||
|------ <*> Loopback device support | |||
|------ <*> RAM disk support | |||
|------ (8192) Default RAM disk size (kbytes) | |||
|------ [*] Initial RAM disk (initrd) support | |||
|------ [*] Support for Large Block Devices</pre> | |||
</pre> | </pre> | ||
a | Attiviamo le opzioni necessarie a mostrare la schermata di boot: | ||
la | |||
<pre> | <pre> | ||
| Device Drivers | |||
|--- Graphics support | |||
color | |------ <M> VGA 16-color graphics support | ||
|------ <*> VESA VGA graphics support | |||
|------ <M> Virtual Frame Buffer support (ONLY FOR TESTING!) | |||
|------ Console display driver support | |||
|--------- [*] VGA text console | |||
|--------- [*] Video mode selection support | |||
|--------- <*> Framebuffer Console support | |||
|------ Bootsplash configuration | |||
|--------- [*] Bootup splash screen | |||
</pre> | </pre> | ||
Ricordiamoci ovviamente di indicare un [[Filesystem]], le schede che abbiamo, etc... | |||
Se stiamo ricompilando un kernel ovviamente sono cose che non si dovrebbero dimenticare!!! | |||
Ora che il kernel � compilato, possiamo procedere alla compilazione (debian-way): | |||
<pre> | |||
# make-kpkg clean | |||
# make-kpkg --initrd -append-to-version -splash binary | |||
</pre> | </pre> | ||
Prendiamo in considerazione l'ultimo comando: | |||
'''make-kpkg''' � uno strumento che ci aiuta a creare kernel pacchettizzati in file binari, con estensione *.deb. | |||
: --initrd - Crea il RAMDisk iniziale per mostrare l'immagine al boot; | |||
: -append-to-version -splash - Aggiunge la stringa '-splash' alla versione del kernel che stiamo creando. In questo modo, se stiamo gi� utilizzando un kernel 2.6.11, il nostro nuovo kernel sar� il '2.6.11-splash', cos� in caso di problemi al boot potremo sempre tornare al kernel ''funzionante''. | |||
: binary - Questo argomento specifica il ''target'' della nostra compilazione: | |||
<pre> | <pre> | ||
binary specifica che vogliamo compilare kernel_image, kernel_doc, kernel_headers e kernel_source | |||
kernel_source questo target produce un pacchetto .deb contenente i sorgenti del nuovo kernel che stiamo compilando | |||
kernel_headers questo target produce un pacchetto .deb contenente gli header inclusi nel nuovo kernel | |||
kernel_doc questo target produce un pacchetto .deb contenente la documentazione relativa al nuovo kernel | |||
kernel_image questo target produce un pacchetto .deb contenente il kernel in formato binario, con tutti i moduli specificati nella configurazione | |||
kernel | |||
kernel | |||
</pre> | </pre> | ||
Una volta terminata la compilazione, troveremo in /usr/src un pacchetto il cui nome sarà qualcosa di molto simile a '''kernel-image-2.6.11-splash_10.00.Custom_i386.deb'''. | |||
A questo punto | A questo punto possiamo installare il nostro nuovo kernel! | ||
kernel | |||
<pre> | <pre> | ||
# dpkg -i /usr/src/kernel-image-2.6.11-splash_10.00.Custom_i386.deb | |||
</pre> | </pre> | ||
Controlliamo la presenza del RAMDisk iniziale. Per fare ciò eseguiamo questo comando: | |||
comando | |||
<pre> | <pre> | ||
# ls /boot/initrd.img-2.6.11* | |||
</pre> | </pre> | ||
Se il comando restituisce un errore, creiamo il nostro RAMDisk: | |||
<pre> | <pre> | ||
# cd / | # cd /boot/ | ||
# | # mkinitrd -o /boot/initrd.img-2.6.11-splash 2.6.11-splash | ||
</pre> | </pre> | ||
== Installazione di Bootsplash == | |||
In questa fase ci viene in aiuto quel repository che abbiamo aggiunto all'inizio al nostro '''/etc/apt/sources.list'''. | |||
Aggiorniamo i nostri archivi APT ed installiamo Bootsplash: | |||
<pre> | <pre> | ||
## | # apt-get update | ||
# apt-get install bootsplash sysv-rc-bootsplash bootsplash-theme-tuxinfo-debian | |||
</pre> | </pre> | ||
Attenzione! L'ultimo pacchetto (bootsplash-theme-tuxinfo-debian) è il '''tema che vedremo al boot'''. Per vedere quali temi sono disponibili, diamo il seguente comando: | |||
<pre> | <pre> | ||
# | # apt-cache search bootsplash-theme | ||
</pre> | </pre> | ||
(Suggerimento: conviene inviare l'output in pipe a ''more'' o ''less'', dato che esistono numerosi temi!) | |||
Scegliamo in questo caso il tema "tuxinfo-debian". | |||
Durante l'installazione comparirà una finestra per la configurazione, che ci chiederà quale immagine utilizzare per il nostro boot. | |||
Selezioniamo l'immagine creata in precedenza, cioè '''initrd.img-2.6.11-splash'''. | |||
A questo punto siamo pronti per modificare il nostro bootloader. Facciamo un esempio per i due bootloader più comuni: GRUB e LiLO: | |||
Configurazione per GRUB ('''/boot/grub/menu.lst''') | |||
<pre> | <pre> | ||
title Debian GNU/Linux, kernel 2.6.11-splash | |||
root (hd0,0) | |||
kernel /boot/vmlinuz-2.6.11-splash root=/dev/hda1 ro bootkbd=it | |||
initrd /boot/initrd.img-2.6.11-splash | |||
savedefault | |||
boot | |||
</pre> | </pre> | ||
Configurazione per LiLO ('''/etc/lilo.conf''') | |||
<pre> | <pre> | ||
image=/boot/vmlinuz-2.6.11-splash | |||
label="2.6.11-splash" | |||
initrd=/boot/initrd.img-2.6.11-splash | |||
append="splash=silent" | |||
</pre> | </pre> | ||
Attenzione! Se usate LiLO come bootloader, è necessario aggiornare la sua configurazione con il seguente comando (dopo la modifica di /etc/lilo.conf): | |||
<pre> | <pre> | ||
# lilo | |||
</pre> | </pre> | ||
== Conclusioni == | |||
Bene, adesso siamo in grado di riavviare la nostra macchina e gustarci un bel bootsplash! | |||
Nel caso vogliate cambiare tema, dopo aver installato il relativo pacchetto '''bootsplash-theme-*''', basta fare: | |||
<pre> | <pre> | ||
# dpkg-reconfigure bootsplash | |||
</pre> | </pre> | ||
Bisogna poi selezionare il nuovo tema che abbiamo installato, di nuovo initrd.img-2.6.11-splash come initrd, ricontrolliamo LiLO / GRUB e riavviamo... | |||
Happy Debian! | |||
---- | |||
Autore originale: [[User:hanska | Hanska]] | |||
[[User:Hanska|Hanska]] 20:32, 14 May 2005 (CEST) | |||