|
|
Riga 5: |
Riga 5: |
|
| |
|
| == 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 repository bootsplash: |
|
| |
|
| <pre>deb http://www.bootsplash.de/files/debian/ 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>
| |
| 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>
| |
|
| |
| Ora possiamo procedere al download dei sorgenti del kernel:
| |
|
| |
| <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]].
| |
|
| |
| È 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 ==
| |
|
| |
| === Scompattazione e Patch del Sorgente ===
| |
|
| |
| 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>
| |
| # cd /usr/src/
| |
| # tar -jxvf kernel-source-2.6.11.tar.bz2
| |
| </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>
| |
| # cd /usr/src/kernel-source-2.6.11
| |
| # patch -p1 < /usr/src/bootsplash-3.1.4-sp3-2.6.8.1.diff
| |
| </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.
| |
|
| |
| === Configurazione del Kernel ===
| |
|
| |
| Anzitutto, configuriamo il kernel stesso:
| |
|
| |
| <pre># make menuconfig</pre>
| |
|
| |
| Vediamo cosa selezionare, brevemente.
| |
|
| |
| Selezioniamo il nostro modello di processore:
| |
| <pre>
| |
| | Processor type and features
| |
| |--- Processor family (Athlon/Duron/K7)
| |
| </pre>
| |
|
| |
|
| |
| Attiviamo qualche altra opzione per il boot:
| |
|
| |
| <pre>
| |
| | Device Drivers
| |
| |--- Block devices
| |
| |------ <*> Loopback device support
| |
| |------ <*> RAM disk support
| |
| |------ (8192) Default RAM disk size (kbytes)
| |
| |------ [*] Initial RAM disk (initrd) support
| |
| </pre>
| |
|
| |
|
| |
| Attiviamo le opzioni necessarie a mostrare la schermata di boot:
| |
|
| |
| <pre>
| |
| | Device Drivers
| |
| |--- 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>
| |
|
| |
| Ricordiamoci ovviamente di indicare, tra i [[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)
| |