|
|
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. | | 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 '''/etc/apt/sources.list''' aggiungendo il [[I_repository_ed_il_loro_utilizzo | repository]] bootsplash: | | Anzitutto, editiamo il nostro '''/etc/apt/sources.list''' aggiungendo il [[I_repository_ed_il_loro_utilizzo | repository]] bootsplash: |
|
| |
|
Riga 30: |
Riga 30: |
| <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 '''/usr/src/''', contenente proprio il sorgente del [[kernel]]. | | 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: | | È inoltre necessario scaricare una patch apposita da applicare al kernel: |
Riga 40: |
Riga 40: |
|
| |
|
| == Compilazione == | | == Compilazione == |
|
| |
| === Scompattazione e Patch del Sorgente ===
| |
|
| |
|
| Bene, prima di procedere con la compilazione, è necessario applicare la patch bootsplash (vedi sopra) al nostro kernel. | | Bene, prima di procedere con la compilazione, è necessario applicare la patch bootsplash (vedi sopra) al nostro kernel. |
Riga 47: |
Riga 45: |
| Prima di tutto, scompattiamo l'archivio contenente i sorgenti. | | Prima di tutto, scompattiamo l'archivio contenente i sorgenti. |
|
| |
|
| Per fare ciò, spostiamoci in '''/usr/src/''', e procediamo con la scompattazione': | | Per fare ci�, spostiamoci in '''/usr/src/''', e procediamo con la scompattazione': |
|
| |
|
| <pre> | | <pre> |
Riga 59: |
Riga 57: |
|
| |
|
| <pre> | | <pre> |
| # cd /usr/src/kernel-source-2.6.11 | | # cd /usr/stc/kernel-source-2.6.11 |
| # patch -p1 < /usr/src/bootsplash-3.1.4-sp3-2.6.8.1.diff | | # patch -p1 < /usr/src/bootsplash-3.1.4-sp3-2.6.8.1.diff |
| </pre> | | </pre> |
Riga 66: |
Riga 64: |
|
| |
|
| A questo punto, possiamo procedere con la compilazione del kernel. | | A questo punto, possiamo procedere con la compilazione del kernel. |
|
| |
| === Configurazione del Kernel ===
| |
|
| |
|
| Anzitutto, configuriamo il kernel stesso: | | Anzitutto, configuriamo il kernel stesso: |
Riga 81: |
Riga 77: |
| </pre> | | </pre> |
|
| |
|
| | Attiviamo la CPU-Scaling (cos da ottimizzare il lavoro del processore): |
| | |
| | <pre> |
| | | Power management options (ACPI, APM) |
| | |--- CPU Frequency scaling |
| | |------ [*] CPU Frequency scaling |
| | </pre> |
|
| |
|
| Attiviamo qualche altra opzione per il boot: | | Attiviamo qualche altra opzione per il boot: |
Riga 91: |
Riga 94: |
| |------ (8192) Default RAM disk size (kbytes) | | |------ (8192) Default RAM disk size (kbytes) |
| |------ [*] Initial RAM disk (initrd) support | | |------ [*] Initial RAM disk (initrd) support |
| | |------ [*] Support for Large Block Devices</pre> |
| </pre> | | </pre> |
|
| |
|
| |
|
| Attiviamo le opzioni necessarie a mostrare la schermata di boot: | | Attiviamo le opzioni necessarie a mostrare la schermata di boot: |
Riga 99: |
Riga 102: |
| | Device Drivers | | | Device Drivers |
| |--- Graphics support | | |--- Graphics support |
| |------ <M> VGA 16-color graphics support | | |------ |
| |------ <*> VESA VGA graphics support
| |
| |------ 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, 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!!!
| |
|
| |
| === Compilazione con make-kpkg (debian-way) ===
| |
|
| |
| Ora che il kernel è compilato, possiamo procedere alla compilazione (debian-way):
| |
|
| |
| <pre>
| |
| # make-kpkg clean
| |
| # make-kpkg --initrd --append-to-version -splash binary
| |
| </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>
| |
| 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
| |
| </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 possiamo installare il nostro nuovo kernel!
| |
|
| |
| <pre>
| |
| # dpkg -i /usr/src/kernel-image-2.6.11-splash_10.00.Custom_i386.deb
| |
| </pre>
| |
|
| |
| Controlliamo la presenza del RAMDisk iniziale. Per fare ciò eseguiamo questo comando:
| |
|
| |
| <pre>
| |
| # ls /boot/initrd.img-2.6.11*
| |
| </pre>
| |
|
| |
| Se il comando restituisce un errore, creiamo il nostro RAMDisk:
| |
|
| |
| <pre>
| |
| # cd /boot/
| |
| # mkinitrd -o /boot/initrd.img-2.6.11-splash 2.6.11-splash
| |
| </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>
| |
| # apt-get update
| |
| # apt-get install bootsplash sysv-rc-bootsplash bootsplash-theme-tuxinfo-debian
| |
| </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>
| |
| # apt-cache search bootsplash-theme
| |
| </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'''.
| |
|
| |
| === Configurazione del 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 ('''/boot/grub/menu.lst''')
| |
| <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>
| |
|
| |
| Configurazione per LiLO ('''/etc/lilo.conf''')
| |
| <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>
| |
|
| |
| Attenzione! Se usate LiLO come bootloader, è necessario aggiornare la sua configurazione con il seguente comando (dopo la modifica di /etc/lilo.conf):
| |
| <pre>
| |
| # lilo
| |
| </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>
| |
| # dpkg-reconfigure bootsplash
| |
| </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!
| |
|
| |
| ----
| |
| [[User:Hanska|Hanska]] 20:32, 14 May 2005 (CEST)
| |