3 581
contributi
m (categorie) |
m (ha spostato Compilazione Kernel 2.6.11 con Bootsplash a Old:Compilazione Kernel 2.6.11 con Bootsplash) |
||
(21 versioni intermedie di 9 utenti non mostrate) | |||
Riga 1: | Riga 1: | ||
{{Old}} | |||
== Introduzione == | == Introduzione == | ||
Questo how-to spiegherà il procedimento da seguire per compilare | Questo how-to spiegherà il procedimento da seguire per compilare, alla debian-way, un kernel 2.6.11 con la patch bootsplash. | ||
== Software richiesto == | == 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. | 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 | Anzitutto, editiamo il nostro <code>/etc/apt/sources.list</code> aggiungendo il [[I_repository_ed_il_loro_utilizzo | repository]] bootsplash: | ||
<pre>deb http://www.bootsplash.de unstable main</pre> | <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: | Abbiamo poi bisogno delle librerie e/o programmi che utilizzeremo per la compilazione vera e propria: | ||
<pre> | <pre> | ||
PACCHETTO VERSIONE | PACCHETTO VERSIONE MINIMA COMANDO | ||
binutils 2.12 | |||
e2fsprogs 1.29 | binutils 2.12 ld -v | ||
gcc 2.95.3 | e2fsprogs 1.29 tune2fs | ||
make 3.78 | gcc 2.95.3 gcc --version | ||
module-init-tools 0.9.10 | make 3.78 make --version | ||
procps 3.1.13 | module-init-tools 0.9.10 depmod -V | ||
util-linux 2.10o | procps 3.1.13 ps --version | ||
util-linux 2.10o fdformat --version | |||
kernel-package | kernel-package | ||
initrd-tools | initrd-tools | ||
Riga 30: | Riga 32: | ||
<pre># apt-get install kernel-source-2.6.11</pre> | <pre># apt-get install kernel-source-2.6.11</pre> | ||
Con questo comando, [[APT]] scaricherà un archivio .tar.bz2 in | Con questo comando, [[APT]] scaricherà un archivio <code>.tar.bz2</code> in <code>/usr/src/</code>, contenente proprio il sorgente del [[kernel]]. | ||
È inoltre necessario scaricare una patch apposita da applicare al kernel: | |||
[http://www.bootsplash.de/files/bootsplash-3.1. | [http://www.bootsplash.de/files/bootsplash-3.1.6-2.6.11.diff Patch per Kernel 2.6.11] | ||
In caso si tenti questa procedura con altri kernel, | In caso si tenti questa procedura con altri kernel, oppure, essendo la pagina soggetta ad aggiornamento, il file risulti inesistente, è possibile scaricare la patch di interesse cercandola in http://www.bootsplash.de/files/ | ||
''formato: bootsplash-versione_patch-versione_kernel.diff'' | |||
== Compilazione == | == Compilazione == | ||
Riga 42: | Riga 46: | ||
=== Scompattazione e Patch del Sorgente === | === Scompattazione e Patch del Sorgente === | ||
Bene, prima di procedere con la 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. | Prima di tutto, scompattiamo l'archivio contenente i sorgenti. | ||
Per fare ciò, spostiamoci in | Per fare ciò, spostiamoci in <code>/usr/src/</code>, e procediamo con la scompattazione: | ||
<pre> | <pre> | ||
Riga 53: | Riga 57: | ||
</pre> | </pre> | ||
A questo punto | A questo punto verrà; creata una nuova directory, <code>/usr/src/kernel-source-2.6.11/</code>. | ||
Spostiamoci dunque nella nuova directory e applichiamo la patch che abbiamo scaricato: | Spostiamoci dunque nella nuova directory e applichiamo la patch che abbiamo scaricato: | ||
Riga 59: | Riga 63: | ||
<pre> | <pre> | ||
# cd /usr/src/kernel-source-2.6.11 | # cd /usr/src/kernel-source-2.6.11 | ||
# patch -p1 < /usr/src/bootsplash-3.1. | # patch -p1 < /usr/src/bootsplash-3.1.6-2.6.11.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. | 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. | A questo punto, possiamo procedere con la compilazione del kernel. | ||
Riga 108: | Riga 112: | ||
</pre> | </pre> | ||
Ricordiamoci ovviamente di indicare, tra i [http://it.wikipedia.org/wiki/Filesystem Filesystem], quelli che utilizziamo sulla nostra macchina in aggiunta a quello ''ROM'', che viene utilizzato per le immagini initrd, le schede che abbiamo, etc | Ricordiamoci ovviamente di indicare, tra i [http://it.wikipedia.org/wiki/Filesystem Filesystem], quelli che utilizziamo sulla nostra macchina in aggiunta a quello ''ROM'', che viene utilizzato per le immagini initrd, le schede che abbiamo, etc. | ||
Se stiamo ricompilando un kernel ovviamente sono cose che non si dovrebbero dimenticare!!! | Se stiamo ricompilando un kernel, ovviamente sono cose che non si dovrebbero dimenticare!!! | ||
=== Compilazione con make-kpkg (debian-way) === | === Compilazione con make-kpkg (debian-way) === | ||
Ora che il kernel è | Ora che il kernel è configurato, possiamo procedere alla compilazione (debian-way): | ||
<pre> | <pre> | ||
Riga 123: | Riga 127: | ||
Prendiamo in considerazione l'ultimo comando: | Prendiamo in considerazione l'ultimo comando: | ||
'''make-kpkg''' è uno strumento che ci aiuta a creare kernel pacchettizzati in file binari, con estensione | <code>'''make-kpkg'''</code>: è uno strumento che ci aiuta a creare kernel pacchettizzati in file binari, con estensione <code>.deb</code>. | ||
: --initrd | : <code>--initrd</code> crea il RAMDisk iniziale per mostrare l'immagine al boot; | ||
: --append-to-version -splash | : <code>--append-to-version -splash</code>: 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 | : <code>binary</code>: questo argomento specifica il ''target'' della nostra compilazione: | ||
<pre> | <pre> | ||
Riga 145: | Riga 149: | ||
</pre> | </pre> | ||
Una volta terminata la compilazione, troveremo in /usr/src un pacchetto il cui nome | Una volta terminata la compilazione, troveremo in <code>/usr/src</code> un pacchetto il cui nome sarà qualcosa di molto simile a <code>'''kernel-image-2.6.11-splash_10.00.Custom_i386.deb'''</code>. | ||
A questo punto possiamo installare il nostro nuovo kernel! | A questo punto possiamo installare il nostro nuovo kernel! | ||
Riga 153: | Riga 157: | ||
</pre> | </pre> | ||
Controlliamo la presenza del RAMDisk iniziale. Per fare | Controlliamo la presenza del RAMDisk iniziale. Per fare ciò eseguiamo questo comando: | ||
<pre> | <pre> | ||
Riga 168: | Riga 172: | ||
== Installazione di Bootsplash == | == Installazione di Bootsplash == | ||
In questa fase ci viene in aiuto quel repository che abbiamo aggiunto all'inizio al nostro | In questa fase ci viene in aiuto quel repository che abbiamo aggiunto all'inizio al nostro <code>/etc/apt/sources.list</code>. | ||
Aggiorniamo i nostri archivi APT ed installiamo Bootsplash: | Aggiorniamo i nostri archivi APT ed installiamo Bootsplash: | ||
Riga 176: | Riga 180: | ||
# apt-get install bootsplash sysv-rc-bootsplash bootsplash-theme-tuxinfo-debian | # 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: | |||
Attenzione! L'ultimo pacchetto (bootsplash-theme-tuxinfo-debian) | |||
<pre> | <pre> | ||
Riga 187: | Riga 190: | ||
Scegliamo in questo caso il tema "tuxinfo-debian". | Scegliamo in questo caso il tema "tuxinfo-debian". | ||
Durante l'installazione | 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è <code>'''initrd.img-2.6.11-splash'''</code>. | |||
=== Errore di post-installazione sysv-rc-bootsplash === | |||
Nel caso in cui sysv-rc-bootsplash non riesca a patchare gli script di avvio, otterremo un errore del tipo: | |||
<pre>Testing if patches apply cleanly... | |||
4 out of 5 hunks FAILED -- saving rejects to file /etc/init.d/rcS.rej | |||
Patches would not apply cleanly.</pre> | |||
In questo caso dobbiamo ovviare al problema manualmente, poiché il pacchetto non riesce a applicare le modifiche necessarie ad abilitare la progress-bar di bootsplash. | |||
Procediamo come segue: | |||
<pre># mkdir /tmp/patch | |||
# cp /etc/init.d/rc /etc/init.d/rc.originale | |||
# cp /etc/init.d/rcS /etc/init.d/rcS.originale | |||
# wget http://ftp.it.debian.org/debian/pool/main/s/sysvinit/sysv-rc_2.86.ds1-1_all.deb | |||
# dpkg --extract sysv-rc_2.86.ds1-1_all.deb /tmp/patch | |||
# cp /tmp/patch/etc/init.d/rc /etc/init.d/rc | |||
# cp /tmp/patch/etc/init.d/rcS /etc/init.d/rcS | |||
# apt-get install sysv-rc-bootsplash</pre> | |||
In poche parole quel che abbiamo fatto non è stato altro che fare una copia di backup degli scripts esistenti, scaricare il vecchio pacchetto sysv-rc (con cui la patch funziona), copiare gli script dal pacchetto alla directory corretta (senza installarlo effettivamente) e quindi applicare la patch. | |||
=== Configurazione del Bootloader === | === Configurazione del Bootloader === | ||
A questo punto siamo pronti per modificare il nostro bootloader. Facciamo un esempio per i due bootloader | 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 (<code>/boot/grub/menu.lst</code>) | |||
{{Warningbox| Le seguenti indicazioni valgono '''solo''' per GRUB e non per GRUB2}} | |||
<pre> | <pre> | ||
title Debian GNU/Linux, kernel 2.6.11-splash | title Debian GNU/Linux, kernel 2.6.11-splash | ||
Riga 205: | Riga 230: | ||
</pre> | </pre> | ||
Configurazione per LiLO ( | Configurazione per LiLO (<code>/etc/lilo.conf</code>) | ||
<pre> | <pre> | ||
image=/boot/vmlinuz-2.6.11-splash | image=/boot/vmlinuz-2.6.11-splash | ||
Riga 213: | Riga 238: | ||
</pre> | </pre> | ||
Attenzione! Se usate LiLO come bootloader, | Attenzione! Se usate LiLO come bootloader, è necessario aggiornare la sua configurazione con il seguente comando (dopo la modifica di <code>/etc/lilo.conf</code>): | ||
<pre> | <pre> | ||
# lilo | # lilo | ||
</pre> | </pre> | ||
== Conclusioni == | == Conclusioni == | ||
Riga 228: | Riga 252: | ||
</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 | 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! | Happy Debian! | ||
{{Autori | |||
[[User:Hanska|Hanska]] 20:32, 14 May 2005 (CEST) | |Autore=[[User:Hanska|Hanska]] 20:32, 14 May 2005 (CEST) | ||
|Estesa_da= | |||
[[ | :[[Utente:Keltik|keltik]] 05:59, 4 Lug 2006 (EDT) | ||
|Numero_revisori=0 | |||
}} |
contributi