|
|
Riga 1: |
Riga 1: |
| == Introduzione ==
| | Un '''X Display''' é un display virtuale, creato da un server [http://it.wikipedia.org/wiki/X11 X Window System] detto, comunemente, [http://it.wikipedia.org/wiki/X11 X11] o figli (come [http://it.wikipedia.org/wiki/XFree86 XFree86] o [http://it.wikipedia.org/wiki/XOrg X.Org]), atto a ricevere l'input da una tastiera, da un mouse e da una scheda grafica, situate in locale o in remoto, mediante un qualsiasi programma-client X che puo` essere installato sulla macchina locale o in una remota. |
| | | [[Categoria:Glossario]] |
| 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>
| |
| PACCHETTO VERSIONE MINIMA 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.6-2.6.11.diff Patch per Kernel 2.6.11] | |
| | |
| 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 ==
| |
| | |
| === 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.6-2.6.11.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 [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 � configurato, 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)
| |
| | |
| [[Categoria:Kernel]] | |