Dimensione: 2156
Commento: corretto comando apt-get iniziale
|
Dimensione: 7068
Commento: Iniziata la revisione.
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
#format wiki #LANGUAGE it [[BR]] ||<tablebgcolor="#f1f1ed" tablewidth="40%" tablestyle="margin: 0pt 0pt 1em 1em; float: right; font-size: 0.9em;"style="padding: 0.5em;">[[TableOfContents(2)]]|| |
|
Linea 4: | Linea 9: |
= Introduzione = In informatica, il '''kernel''' costituisce il '''nucleo''' di un sistema operativo. Si tratta di un software avente il compito di fornire ai processi in esecuzione sull'elaboratore un accesso sicuro e controllato all'hardware. Dato che possono esserne eseguiti simultaneamente più di uno, il kernel ha anche la responsabilità di assegnare una porzione di tempo-macchina e di accesso all'hardware a ciascun programma ([http://it.wikipedia.org/wiki/Multitasking multitasking]). |
|
Linea 5: | Linea 12: |
Prima di tutto, scarica il pacchetto del kernel di cui hai bisogno da [http://www.kernel.org kernel.org] o dai repository di Ubuntu. Se vuoi il kernel ufficiale del Team Ubuntu, ti basterà eseguire: | Compilare il codice sorgente del '''kernel''' anziché installare uno dei pacchetti pre-compilati assicura certamente alcuni vantaggi, tra cui: |
Linea 7: | Linea 14: |
{{{ | * Un avvio più veloce perché i moduli da caricare sono solo quelli della vostra macchina e non ce ne sono di inutili. * Un sistema operativo più veloce perché potete ottimizzare il codice sul vostro processore. * La possibilità di attivare opzioni che sono inattive nei kernel pre-compilati. = Preparativi = == Installare le varie dipendenze == Il processo di compilazione richiede l'installazione di alcuni pacchetti specifici, da synaptic in installare: ''build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev gcc libncurses5 wget libncurses5-dev '', o più semplicemente digitare da terminale: {{{ sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev gcc libncurses5 wget libncurses5-dev }}} == Scaricare i sorgenti del kernel == Sarà necessario scaricare i sorgenti del kernel. Ci sono due possibili strade: * scaricare il pacchetto da questo indirizzo: [http://www.kernel.org]. In questo modo si avrà la possibilità di installare l'ultima versione stabile del ''kernel Vanilla''. Una volta scaricato il pacchetto, sarà necessario decomprimerlo e copiarlo nella cartella `/usr/src/`: {{{ sudo tar -xvjf linux-[VERSIONE_CHE_AVETE_SCARICATO].tar.bz2 && sudo cp -r linux-[VERSIONE_CHE_AVETE_SCARICATO] /usr/src/ }}} * scaricare il pacchetto dai repository di Ubuntu (kernel ufficiale del Team Ubuntu), da terminale dare il seguente comando: {{{ |
Linea 10: | Linea 42: |
Ubuntu, purtroppo, non fornisce tutte le versioni dei kernel più aggiornate, scegliendo infatti questa opzione si correrà il rischio di non avere l'ultimo kernel stabile. | |
Linea 11: | Linea 44: |
In questo caso userai l'ultima versione stabile disponibile del kernel vanilla. | |
Linea 13: | Linea 45: |
Per il processo di compilazione avrai bisogno dei seguenti pacchetti su Ubuntu: | |
Linea 15: | Linea 46: |
= Compilazione e installazione = Entrare nella dir creata dei sorgenti del kernel appena scaricati: |
|
Linea 16: | Linea 51: |
sudo apt-get update sudo apt-get install build-essential sudo apt-get install kernel-package sudo apt-get install gcc sudo apt-get install libncurses5 sudo apt-get install libncurses5-dev sudo apt-get install libqt3-mt-dev |
cd /usr/src/linux-[VERSIONE_CHE_AVETE_SCARICATO] |
Linea 31: | Linea 54: |
ora decomprimi il pacchetto: | == Eventuali Patch == A questo punto sarà possibile ''patchare'' il nostro kernel con eventuali '''patch''' prese sul web. |
Linea 33: | Linea 57: |
La più diffusa, o almeno una delle più utili (a mio parere), sembrerebbe la Con Kolivas, scaricabile a questo indirizzo: [http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/ ck patches] (scegliere ovviamente la patch per la propria versione del kernel). Di solito il '''kernel''' viene ''patchato'' utilizzando l'insieme di due comandi '''patch''' e '''cat''' (o anche '''bzcat''' se il file ha estensione ''.bz2''), inutile rammentare che è necessario copiare il file della '''patch''' nella cartella dei sorgenti del kernel. A questo punto dare il comando: |
|
Linea 34: | Linea 61: |
cd /usr/src sudo tar --bzip2 -xvf linux-2.6.12.tar.bz2 |
bzcat patch-[VERSIONE_DEL_KERNEL]-ck1.bz2 < patch -p1 |
Linea 39: | Linea 64: |
Entra nalla dir creata dallo scompattamento del tar.bz2 | Se il procedimento non andrà a buon fine, sarà necessario cancellare tutto e ricominciare dall'inizio. |
Linea 41: | Linea 66: |
== Configurazione == Importare la configurazione del vecchio kernel già presente sulla nostra Ubuntu, da terminale digitare: |
|
Linea 42: | Linea 69: |
cd linux-2.6.12 | sudo cp /boot/config-`uname -r` .config && sudo make oldconfig |
Linea 44: | Linea 71: |
Ora puoi cominciare a personalizzare la configurazione del tuo kernel; ci sono tre modi, il primo e' grafico, il secondo pseudo-grafico, ed uno non grafico: {{{ |
E ora personalizzare il kernel eliminando eventuali moduli, ci sono tre diversi metodi per eseguire questo procedimento: * Grafico: {{{ |
Linea 51: | Linea 76: |
o {{{ |
* Pseudo-grafico: {{{ |
Linea 57: | Linea 80: |
o ancora: {{{ |
* Non grafico: {{{ |
Linea 64: | Linea 85: |
Quindi, dopo aver finito la personalizzazione, dobbiamo cominciare il processo di compilazione: | Per l'utente più inesperto è consigliabile effettuare la configurazione con il metodo grafico. |
Linea 66: | Linea 87: |
Potrete cercare le varie opzioni di configurazione di ogni versione del kernel a questo utilissimo sito: [http://kernel.xc.net/Linux Kernel Configuration Archive] '''Attenzione a come vi muovete, la cancellazione di un semplice modulo può compromettere l'intero sistema. ''' Alla fine la configurazione sarà all'interno del file `.config` presente nella cartella del kernel che avete scaricato. Consiglio di salvarne una copia in altro luogo, se si è soddisfatti del lavoro fatto. === Configurazione Standard === Seguire quanto descritto per evitare spiacevoli inconvenienti in fase di compilazione: 1. In "'''General Setup'''" attivare:[[BR]] -Support for paging of anonymous memory (swap) --Support for prefetching swapped memory 1. In "'''Processor type and features'''": - In "'''Processor family'''" scegliere il modello del vostro processore. - Attivare '''Preemption Model-> Voluntary Kernel Preemption''' (Desktop) -In '''High Memory Support''' scegliere: --'''off''' - se si possiede meno di 1 GB di RAM --'''1GB Low Memory Support''' - se si possiede 1GB di RAM --'''4GB''' - se si possiede più di 1GB di RAM - In '''Timer frequency''' abilitare '''1000 Hz''' 1. In '''Graphics Support''' - Disabilitare '''NVIDIA RIVA''' se si usa NVIDIA DRIVERS proprietari. 1. In "'''Device drivers -> Block devices -> IO Schedulers lascisare'''" solo the "'''CFQ I/O scheduler'''" attivato, otterrete una migliore performance. 1. In "'''Kernel hacking'''" deselezionare "'''Kernel debugging'''". == Compilare == Quindi, dopo aver finito la personalizzazione, iniziare il processo di compilazione, da terminale digitare: |
|
Linea 68: | Linea 128: |
}}} | |
Linea 69: | Linea 130: |
sudo make-kpkg --append-to-version=-custom --initrd kernel_image modules_image | E successivamente: {{{ sudo make-kpkg --append-to-version=-CUSTOM --initrd kernel_image kernel_headers modules_image |
Linea 78: | Linea 141: |
Puoi scrivere tutto ciò che vuoi al posto di "-custom" (esempio: dopo il trattino "-10.k7" in base al tipo di processore che avete sulla vostra macchina). | C'è la possibilita di scrivere tutto ciò che si vuole al posto di "'''-CUSTOM'''" (esempio: dopo il trattino "-10.k7" in base al tipo di processore che disponibile sulla propria macchina). |
Linea 80: | Linea 143: |
Generalmente i kernel ubuntu usano un initrd, per crearlo e' sufficiente aggiungere l'opzione "--initrd" al comando "make-kpkg". | Generalmente i kernel ubuntu usano un initrd, per crearlo e' sufficiente aggiungere l'opzione "'''--initrd'''" al comando "'''make-kpkg'''". |
Linea 82: | Linea 145: |
Nota che ora avrai un pacchetto .deb in ''/usr/src'' pronto per essere installato come ogni altri pacchetto. '''Grub verrà aggiornato automaticamente'''. | |
Linea 84: | Linea 146: |
Esegui: |
== Installare == Entrare nella cartella madre: |
Linea 87: | Linea 149: |
sudo dpkg -i kernel-image-2.6.12-custom_10.00.Custom_i386.deb | cd .. }}} E installare i pacchetti appena creati (dovrebbero essere due). '''Grub verrà aggiornato automaticamente''', da terminale digitare: {{{ sudo dpkg -i kernel-image-[VERSIONE_DEL_KERNEL].deb sudo dpkg -i linux-headers-[VERSIONE_DEL_KERNEL].deb |
Linea 90: | Linea 157: |
Riavviare e al '''boot''' scegliere il nuovo kernel installato. Se ci sono problemi, riavviare la macchina e ''loggarsi'' con il vecchio '''kernel'''. |
attachment:Icone/Piccole/warning.png Documento in fase di aggiornamento
Introduzione
In informatica, il kernel costituisce il nucleo di un sistema operativo. Si tratta di un software avente il compito di fornire ai processi in esecuzione sull'elaboratore un accesso sicuro e controllato all'hardware. Dato che possono esserne eseguiti simultaneamente più di uno, il kernel ha anche la responsabilità di assegnare una porzione di tempo-macchina e di accesso all'hardware a ciascun programma ([http://it.wikipedia.org/wiki/Multitasking multitasking]).
Compilare il codice sorgente del kernel anziché installare uno dei pacchetti pre-compilati assicura certamente alcuni vantaggi, tra cui:
- Un avvio più veloce perché i moduli da caricare sono solo quelli della vostra macchina e non ce ne sono di inutili.
- Un sistema operativo più veloce perché potete ottimizzare il codice sul vostro processore.
- La possibilità di attivare opzioni che sono inattive nei kernel pre-compilati.
Preparativi
Installare le varie dipendenze
Il processo di compilazione richiede l'installazione di alcuni pacchetti specifici, da synaptic in installare: build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev gcc libncurses5 wget libncurses5-dev , o più semplicemente digitare da terminale:
sudo apt-get install build-essential bin86 kernel-package libqt3-headers libqt3-mt-dev gcc libncurses5 wget libncurses5-dev
Scaricare i sorgenti del kernel
Sarà necessario scaricare i sorgenti del kernel. Ci sono due possibili strade:
scaricare il pacchetto da questo indirizzo: [http://www.kernel.org]. In questo modo si avrà la possibilità di installare l'ultima versione stabile del kernel Vanilla.
Una volta scaricato il pacchetto, sarà necessario decomprimerlo e copiarlo nella cartella /usr/src/:
sudo tar -xvjf linux-[VERSIONE_CHE_AVETE_SCARICATO].tar.bz2 && sudo cp -r linux-[VERSIONE_CHE_AVETE_SCARICATO] /usr/src/
- scaricare il pacchetto dai repository di Ubuntu (kernel ufficiale del Team Ubuntu), da terminale dare il seguente comando:
sudo apt-get install linux-source
Ubuntu, purtroppo, non fornisce tutte le versioni dei kernel più aggiornate, scegliendo infatti questa opzione si correrà il rischio di non avere l'ultimo kernel stabile.
Compilazione e installazione
Entrare nella dir creata dei sorgenti del kernel appena scaricati:
cd /usr/src/linux-[VERSIONE_CHE_AVETE_SCARICATO]
Eventuali Patch
A questo punto sarà possibile patchare il nostro kernel con eventuali patch prese sul web.
La più diffusa, o almeno una delle più utili (a mio parere), sembrerebbe la Con Kolivas, scaricabile a questo indirizzo: [http://www.kernel.org/pub/linux/kernel/people/ck/patches/2.6/ ck patches] (scegliere ovviamente la patch per la propria versione del kernel).
Di solito il kernel viene patchato utilizzando l'insieme di due comandi patch e cat (o anche bzcat se il file ha estensione .bz2), inutile rammentare che è necessario copiare il file della patch nella cartella dei sorgenti del kernel. A questo punto dare il comando:
bzcat patch-[VERSIONE_DEL_KERNEL]-ck1.bz2 < patch -p1
Se il procedimento non andrà a buon fine, sarà necessario cancellare tutto e ricominciare dall'inizio.
Configurazione
Importare la configurazione del vecchio kernel già presente sulla nostra Ubuntu, da terminale digitare:
sudo cp /boot/config-`uname -r` .config && sudo make oldconfig
E ora personalizzare il kernel eliminando eventuali moduli, ci sono tre diversi metodi per eseguire questo procedimento:
- Grafico:
sudo make xconfig
- Pseudo-grafico:
sudo make menuconfig
- Non grafico:
sudo make config
Per l'utente più inesperto è consigliabile effettuare la configurazione con il metodo grafico.
Potrete cercare le varie opzioni di configurazione di ogni versione del kernel a questo utilissimo sito: [http://kernel.xc.net/Linux Kernel Configuration Archive]
Attenzione a come vi muovete, la cancellazione di un semplice modulo può compromettere l'intero sistema.
Alla fine la configurazione sarà all'interno del file .config presente nella cartella del kernel che avete scaricato. Consiglio di salvarne una copia in altro luogo, se si è soddisfatti del lavoro fatto.
Configurazione Standard
Seguire quanto descritto per evitare spiacevoli inconvenienti in fase di compilazione:
In "General Setup" attivare:BR -Support for paging of anonymous memory (swap)
- --Support for prefetching swapped memory
In "Processor type and features":
- In "Processor family" scegliere il modello del vostro processore.
- Attivare Preemption Model-> Voluntary Kernel Preemption (Desktop)
-In High Memory Support scegliere:
--off - se si possiede meno di 1 GB di RAM
--1GB Low Memory Support - se si possiede 1GB di RAM
--4GB - se si possiede più di 1GB di RAM
- In Timer frequency abilitare 1000 Hz
In Graphics Support - Disabilitare NVIDIA RIVA se si usa NVIDIA DRIVERS proprietari.
In "Device drivers -> Block devices -> IO Schedulers lascisare" solo the "CFQ I/O scheduler" attivato, otterrete una migliore performance.
In "Kernel hacking" deselezionare "Kernel debugging".
Compilare
Quindi, dopo aver finito la personalizzazione, iniziare il processo di compilazione, da terminale digitare:
sudo make-kpkg clean
E successivamente:
sudo make-kpkg --append-to-version=-CUSTOM --initrd kernel_image kernel_headers modules_image
Il flag di revisione è opzionale ed è solamente utile per editare il nome del kernel mostrato attraverso
uname -r
C'è la possibilita di scrivere tutto ciò che si vuole al posto di "-CUSTOM" (esempio: dopo il trattino "-10.k7" in base al tipo di processore che disponibile sulla propria macchina).
Generalmente i kernel ubuntu usano un initrd, per crearlo e' sufficiente aggiungere l'opzione "--initrd" al comando "make-kpkg".
Installare
Entrare nella cartella madre:
cd ..
E installare i pacchetti appena creati (dovrebbero essere due). Grub verrà aggiornato automaticamente, da terminale digitare:
sudo dpkg -i kernel-image-[VERSIONE_DEL_KERNEL].deb sudo dpkg -i linux-headers-[VERSIONE_DEL_KERNEL].deb
Riavviare e al boot scegliere il nuovo kernel installato.
Se ci sono problemi, riavviare la macchina e loggarsi con il vecchio kernel.