LKN: Procurarsi i Sorgenti del Kernel: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(ancora immagini e formattazioni)
m (copyright)
Riga 1: Riga 1:
__NOTOC__
''Torna all'indice: [[Linux Kernel in a Nutshell]]''
{|style="-moz-border-radius: 0.5em; width:100%; margin-top:+.7em; background-color:#F9F9FF; border: 1px solid #ccc"
|style="width:50%;color:#000"|
{| style="width:280px;border:solid 0px;background:none"
|-
| style="width:280px;text-align:center; white-space: nowrap; color:#000" |
<h1 style="font-size: 162%; border: none; margin: 0; padding:.1em; color:#000">
Indice delle Guide
</h1>
<div style="top: +0.2em; font-size: 100%">
Di seguito troverete l''''indice completo''' delle guide contenute su [[Guide@Debianizzati.Org:About|Wiki]].


Potete anche navigare tra le guide scegliendo tra le '''[[Lista Categorie|categorie]]''' qua a destra.
Quando si copila un kernel personalizzato ci si vorrebbe servire dell'ultima versione stabile. Molte distribuzioni forniscono i loro pacchetti dei sorgenti del kernel, ma raramente questi sono i più recenti e aggiornati. I pacchetti ufficiali delle distribuzioni hanno il vantaggio di essere compatibili con il compilatore e gli altri strumenti forniti dalla distribuzione stessa (Il capitolo 2 mette in evidenza l'importanza di questa compatibilità), ma non è detto che permettano di avere le funzionalità o le prestazioni di cui si ha bisogno. Preparando l'ambiente con il kernel più recente e le ultime versioni del compilatore e degli altri programmi sarà possibile ottenere esattamente ciò che si vuole. Questo capitolo spiega quali sorgenti del kerner scaricare e dove trovarli.
</div>
|-
|}
<!-- ----------Portals Follow----------------------------- -->
|style="width:11%;font-size:95%;color:#000"|
* [[:Categoria:Apt|Apt]]
* [[:Categoria:Desktop|Desktop]]
* [[:Categoria:Hardware|Hardware]]
* [[:Categoria:Kernel|Kernel]]
|style="width:11%;font-size:95%;color:#000"|
* [[:Categoria:Laptop|Laptop]]
* [[:Categoria:Networking|Networking]]
* [[:Categoria:Shell|Shell]]
* [[:Categoria:Server|Server]]
|style="width:13%;font-size:95%;color:#000"|
* [[:Categoria:Sicurezza|Sicurezza]]
* [[:Categoria:Sistema|Sistema]]
* [[:Categoria:Tips&Tricks|Tips&Tricks]]
* '''[[Lista Categorie]]'''
|}


=='''Quale ramo usare'''==
[[Immagine:kernel_releases.png|300px|thumb|Figura 3-1: Ciclo di sviluppo e rilascio del kernel]]


In passato il kernel Linux era diviso in 2 rami: quello di "sviluppo" e quello "stabile". Per distinguerli, il ramo di sviluppo era contrassegnato da un valore dispari nel secondo numero di release, quello stabile da un valore pari. Ad esempio, la 2.5.25 era una versione di sviluppo, mentre la 2.4.25 era la stabile.


Questo Wiki - '''[[Guide@Debianizzati.Org:About|Guide@Debianizzati.Org]]''' - vuole essere prima di tutto un punto di raccolta ideale per le conoscenze acquisite dai singoli durante l'uso di '''Debian GNU/Linux''' in ambito casalingo e/o lavorativo, in modo che il sapere di uno diventi quello di tutti.
Quando fu creata la serie 2.6, gli sviluppatori decisero di abbandonare questo metodo basato su due rami separati e annunciarono che tutti i rilasci della serie 2.6 del kernel sarebbero stati considerati "stabili", indipendentemente da quanto veloce fosse stato il processo di sviluppo. I pochi mesi a disposizione tra le versioni maggiori della serie 2.6 avrebbero lasciato agli sviluppatori il tempo necessario per aggiungere nuove funzioni e renderle stabili per il rilascio successivo. Assieme a questo fu creato un ramo "-stabile" del kernel per permettere eventuali correzioni dei bug e aggiornamenti di sicurezza per l'ultima versione, prima che quella nuova venga rilasciata.
Alcuni esempi, illustrati in [[:Immagine:kernel_releases.png|figura 3-1]], aiuteranno a chiarire tutto questo: il team del kernel rilascia la versione stabile 2.6.17; poi gli sviluppatori iniziano a lavorare su nuove caratteristiche e rilasciano la versione -rc del kernel in via di sviluppo, in modo che chi vuole possa aiutare nella fase di test e di debug dei cambiamenti. Quando tutti concordano sul fatto che la versione in via di sviluppo sia abbastanza stabile, questa viene rilasciata come 2.6.18. L'intero ciclo impiega solitamente due o tre mesi, dipendendo da svariati fattori.


Le guide ritenute meglio scritte e pi� approfondite, dopo un processo di controllo e revisione a cui tutti siete liberi di partecipare, vengono classificate [[:Categoria:Debianized|Debianized]] e contrassegnate dalla [[Debian Swirl]]: http://guide.debianizzati.org/images/swirl.png. Per ulteriori informazioni sul processo di revisione vedere: [[Aiuto:Contents#Evoluzione_delle_guide|Evoluzione delle guide]].
Durante lo sviluppo di nuove funzioni vengono rilasciate la 2.6.17.2, la 2.6.17.3 e altre release stabili del kernel, contenenti correzioni di bug e aggiornamenti di sicurezza.
&Egrave; consigliabile che chi intenda usare l'ultima versione del kernel per lavoro si serva di quella stabile. Chi invece intende aiutare gli sviluppatori, può testare le caratteristiche della generazione successiva del kernel e darne una valutazione. Per quanto concerne gli scopi di questo capitolo, si suppone che venga utilizzata la versione stabile.


Potete trovare un elenco completo delle guide '''Debianized''' in [[:Categoria:Debianized|questa pagina]].
=='''Dove trovare i sorgenti del kernel'''==
Tutti i sorgenti del kernel Linux si possono trovare in ognuno dei siti kernel.org, una rete di mirror che permette a chiunque di trovare il server locale più vicino. Questo fa sì che i server principali possano rispondere più prontamente ai mirror e che gli utenti riescano a scaricare i file il più velocemente possibile.
Segue la lista completa delle guide attualmente presenti:
__TOC__


== Mondo Debian ==
La pagina principale di http://www.kernel.org riporta tutte le versioni correnti del kernel per ogni differente ramo, come mostrato in [[:Immagine:kernel.org.png|figura 3-2]].
=== Introduzione a Debian ===
* [[L' Universo Debian]]
* [[La struttura della Distribuzione]]


=== Installazione ===
[[Immagine:kernel.org.png|center|500px|thumb|Figura 3-2: Il sito ufficiale Kernel.org.]]
* http://guide.debianizzati.org/images/swirl.png [[Guida a Grub]]
* [[Jigdo | '''Jigdo''': Scaricare e Aggiornare le iso di Debian]]
* [[Note sull'installazione di Debian]]


=== Gestione dei Pacchetti ===
Per scaricare l'ultima versione stabile del kernel è sufficiente cliccare sulla lettera F nella linea corrispondente: così facendo si scaricherà l'intero albero dei sorgenti. Altrimenti è possibile accedere alla sotto-directory relativa ad ogni versione della serie 2.6 tramite la pagina http://www.kernel.org/pub/linux/kernel/v2.6/, mostrata in [[:Immagine:Kernel.org.v2.6.png|figura 3-3]].
* [[Introduzione all' Apt System]]
* [[I repository ed il loro utilizzo]]
* http://guide.debianizzati.org/images/swirl.png [[Pulire Debian]]
* [[Apt-cdrom | '''Apt-cdrom''': aggiunta di cd/dvd nella lista dei repository]]
* [[Apt-file: ricerca all'interno dei pacchetti | '''Apt-file''': ricerca all'interno dei pacchetti]]
* [[Apt-listbugs: come monitorare i bug | '''Apt-listbugs''': come monitorare i bug]]
* [[Apt-zip: aggiornamenti senza una connessione veloce | '''Apt-zip''': aggiornamenti senza una connessione veloce]]
* [[Apt-spy: trovare i mirror pi� veloci | '''Apt-spy''': trovare i mirror pi� veloci]]
* [[APT uso avanzato: mixare releases diverse]]
* http://guide.debianizzati.org/images/swirl.png [[Impedire l' aggiornamento di un pacchetto]]
* [[Aptitude | '''Aptitude''': come amministrare i pacchetti]]
* [[Controllare lo stato di un pacchetto]]


=== Creazione e modifica dei pacchetti ===
[[Immagine:Kernel.org.v2.6.png|center|500px|thumb|Figura 3-3: Directory dei sorgenti per il kernel 2.6]]
* http://guide.debianizzati.org/images/swirl.png [[Make-jpkg: Pacchettiziamo Java Sun| '''Make-jpkg''': Pacchettizziamo Java Sun]]
* [[Pacchetti binari e sorgenti]]
* [[Applicare una patch ad un pacchetto Debian]]
* [[Apt-build: ottimizzazione dei pacchetti | '''Apt-build''': ottimizzazione dei pacchetti]]
* [[Dpkg-sig: Firma dei packages .deb | '''Dpkg-sig''': Firma dei packages .deb]]
* [[Pacchetizzare un tema per Bootsplash]]
* [[Backport da unstable in testing]]
* [[Pbuilder: compilazione in ambienti puliti]]


=== Gestione dei pacchetti Lato Server ===
&Egrave; anche possibile scaricare i sorgenti del kernel tramite riga di comando, usando il programma <tt>wget</tt> o <tt>curl</tt>, normalmente presenti in ogni distribuzione Linux.
* [[Apt-Proxy: un proxy per i pacchetti Debian| '''Apt-Proxy''': un proxy per i pacchetti Debian]]
* [[Debmirror: creiamo un mirror Debian |'''Debmirror''': creiamo un mirror Debian]]
* [[Creare un Repository Debian]]
* [[Gestione di un repository con debarchiver]]
* [[Usare apt-cacher per creare una cache dei pacchetti usabile in una LAN]]
* [[Dupload per l'upload dei pacchetti Debian]]


==Configurazione Sistema==
Per scaricare la versione 2.6.17.8 del kernel con <tt>wget</tt> il comando è:
===Kernel===
* [[Linux Kernel in a Nutshell]] in Italiano (work in progress)
* [[Un kernel UNIX libero: Linux]] ''(stub)''
* http://guide.debianizzati.org/images/swirl.png [[Debian Kernel Howto]]
* [[Esempio configurazione kernel]]
* [[Kernel2.6.10 - Framebuffer - Gensplash Patch]]
* [[Kernel 2.6 su Debian Woody]]
* [[Compilazione Kernel 2.6.11 con Bootsplash]]
* [[Pagina di manuale di module-assistant|Pagina di manuale di '''<tt>module-assistant</tt>''']]
* [[Low-latency 2.6 kernel per applicazioni audio realtime]]
* [[Script: Confronto Configurazioni Kernel]]
* [[Patch Con Kolivas: incrementare le prestazioni desktop|Patch '''Con Kolivas''': incrementare le prestazioni '''desktop''']]


===Sistema===
<pre>$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.8.tar.gz
* [[SysV | Il sistema SysV per la gestione dei Runlevel]]
* [[Udev e Debian]]
* [[Configurare il server X in Debian GNU/Linux]]
* [[Linux Admin Quick Reference]]
* [[Debian: accelerare GTK con Cairo e Glitz]]
* [[Software Raid 1: configurazione e verifiche|'''Software Raid 1''': configurazione e verifiche]]
* [[Debian: software suspend e ibernazione per laptops]]


==== Sistema / Tips & Tricks: ====
:* [[Impostare e modificare data e ora]]
:* [[Impostare e modificare il layout della tastiera]]
:* [[Impostare la lingua italiana nel sistema]]


=== Desktop ===
-> 'linux-2.6.17.8.tar.gz
* [[Configurare fluxbox]]
* [[Ekiga: installazione e configurazione|'''Ekiga''': installazione e configurazione]]
* [[DVD Backup: xDVDShrink per Debian]]
* [[Abilitare_Xinerama | Multi monitor con Xinerama]]
* [[Personalizzare il comportamento delle finestre con Devil's Pie]]


* [[Kde e mount automatico]]
Resolving www.kernel.org... 204.152.191.5, 204.152.191.37
* [[Xfce e shutdown da utente]]
* [[Gimp: rendere un logo trasparente|'''Gimp''': rendere un logo trasparente]]
* [[LaTeX e Vim]]
* [[XGL e Beryl su KDE con schede ATI]]


==== Desktop / Tips & Tricks ====
Connecting to www.kernel.org|204.152.191.5|:80... connected.
:* [[Desktop Search su Debian Etch: Installare Tracker]]
:* [[Cambiare il Tema dei Cursori per il Mouse]]
:* [[Eseguire comandi con gli shortcuts di Gnome]]
:* [[Abilitare ESound con ALSA in Gnome]]
:* [[Nautilus: navigare con una sola finestra]]
:* [[Antispam in Evolution con Bogofilter]]
:* [[Associare a Thunderbird il browser preferito]]
:* [[Associare ad Icedove il browser preferito]]
:* [[Velocizzare il boot senza cambiare sistema di init]]
:* [[Migliorare i font]] in firefox


=== Xorg / Xfree ===
HTTP request sent, awaiting response... 200 OK
* [[Installazione driver proprietari Ati]]
* [[Installazione driver proprietari Nvidia]]
* [[Abilitare AIGLX con Compiz on Debian testing]]


===Applicazioni Esterne===
Lenght: 51,707,742 (49M) [application/x-gzip]
* [[Installazione Qemu con supporto accelerazione Kqemu]]
* [[ePSXe Emulatore Playstation]]
* [[Installare OpenOffice2 su Debian Etch]] (''old'')
* [[Pacchettizzare ed installare Xorg su Debian Sid]] (''old'')


===Altro===
100%[-------------------------------------->] 51,707,742 35.25k/s
* [[Dual Boot Debian-Altra distribuzione Linux]]
* [[Dual Boot Linux-Windows|Dual Boot Linux-Windows: usare il bootloader di windows]]
* [[Logging su MySQL]]
* [[Password sicure: la base della sicurezza informatica]]
* [[Script Bash per Avvio e Visualizzazione dati Seti@home]] (''old'')


===Tips and Tricks===
ETA 00:00
====Bash====
* [[Bash tips]]: un elenco di trucchetti sull'uso interattivo e sullo scripting Bash
* [[Colorare bash]]
* [[Come abilitare il completamento automatico 'avanzato']]
* [[Un logout con schermo pulito]]
* [[Bash Script: Cambiare i permessi ricorsivamente]]
* [[Due simpatici login: welcome2l e linuxlogo]]


====Firefox====
18:02:48 (47.12 kB/s) - 'linux-2.6.17.8.tar.gz' saved [51707742/51707742]</pre>
* [[Firefox: Disattivare la ricerca con il tasto centrale]]
* [[Velocizzare Firefox per la banda larga]]
* [[Il vostro motore di ricerca da Firefox]]
* [[Aggiungere un motore di ricerca al quicksearch di Firefox]]
* [[Spostare il tasto di chiusura delle tab di Firefox 2]]
* [[Firefox Tips and tricks]]


====Altro====
Per scaricarla con <tt>curl</tt>:
* [[Convertire immagini .nrg in immagini .iso|Convertire immagini '''<tt>.nrg</tt>''' (Nero) in immagini '''<tt>.iso</tt>''' su Linux]]
* [[Rileggere la tabella delle partizioni]]
* [[Scrivere su fs ntfs]]
* [[Amministrare 'alternatives' graficamente - Galternatives]]


==Networking==
<pre>$ curl http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.8.tar.gz \ -o linux-2.6.17.8.tar.gz</pre>
===Debian Server===
====Condivisione risorse====
* [[Directory shared tra macchine linux (nfs)]]
* [[Condivisione risorse con Samba]]
* [[sshfs | Montare una directory remota con sshfs]]
* [[Unison e la sincronizzazione di directory]]
* [[Samba e OpenLDAP: creare un controller di dominio]]


====Mailing====
Il modo più semplice e veloce per scoprire quale sia l'ultima versione del kernel è usare le informazioni disponibili alla pagina http://www.kernel.org/kdist/finger_banner, come mostrato in [[:Immagine:Kernel.org.v2.6.png|figura 3-4]].
* [[Mail Server Sicuro con Postfix]]
* [[Postgrey:_filtrare_lo_spam_con_il_greylisting]]
* [[Postfix_e_autenticazione_su_smtp_remoto]]


====Http====
[[Immagine:Kernel.org_finger_banner.png|center|500px|thumb|Figura 3-4: Ultima versione del kernel.]]
* [[Server Web Casalingo]]
* [[LAMP: Linux, Apache, MySQL e PHP]]
* [[XAMPP: Linux, Apache, MySQL e PHP facili]]
* [[Debian MapServer/MapScript]]


===Amministrazione===
=='''Cosa fare con i sorgenti'''==
====Gestione Remota/Locale====
* [[Wake On Lan | '''Wake On Lan''' per accendere i propri PC a distanza tramite la LAN]]
* [[Debian e il controllo di servizi e demoni]]
* [[Gestione della banda in Apache]]
* [[Ssh e autenticazione tramite chiavi]]
* [[Inetd e i servizi di rete]]


====Connettivita'====
Una volta scaricati i sorgenti del kernel appropriati, dove è previsto che vengano messi? E' consigliabile creare una directory locale nella propria home chiamata linux per conservare tutti i file dei sorgenti del kernel:
* [[Condividere la connessione a internet]]
* [[Ifplugd: connessione automatica|'''<tt>ifplugd</tt>''': connessione automatica]]


===Sicurezza===
<pre>$ mkdir ~/linux</pre>
====Firewalling====
* [[Debian e iptables]]
* [[Firewall Builder]]
* [[Parametri a run-time per Netfilter]]


====Monitoraggio & Scanning====
Spostate il codice sorgente nella directory linux:
* [[Monitoriamo il Sistema]]
* [[Mrtg: monitoriamo la banda]]
* [[Cacti | Cacti: monitor di rete, per pi� computer]]
* [[Munin]]


====Proxy====
<pre>$ mv ~/linux-2.6.18.8.tar.gz ~/linux/</pre>
* [[Privoxy: navigazione sicura a prova di spam]]


====Tunneling====
ed entrate nella directory linux:
* [[Openvpn]]


== Hardware ==
<pre>$ cd ~/linux
=== Fotocamere digitali e dispositivi di memorizzazione di massa removibili ===
$ ls
* [[Usare Fotocamere Digitali|Usare Fotocamere Digitali (libgphoto2)]]
linux-2.6.18.8.tar.gz</pre>
* [[Usare Fotocamere Digitali (usb-storage)]]
* [[UsbMount: Gestione automatizzata delle periferiche usb di memorizzazione]]
* [[Debian e iPod]]
* [[Debian e lettori mp3 Creative]]


=== Modem e periferiche di rete ===
Adesso che il codice sorgente si trova nella directory giusta, decomprimetelo:


* [[Debian e i Modem ADSL]]
<pre>$ tar -xzvf linux-2.6.18.8.tar.gz</pre>


==== Modem USB ADSL ====
Lo schermo si riempirà della lista dei file che verranno decompressi, e alla fine nella directory linux/ rimarrà:
* [[Installare i driver conexant accessrunner]]
* [[Installare i driver eagle-adsl]]
* [[Installare i driver eci-adsl]] ''(stub)''
* [[Installare i driver unicorn (BeWAN)]] ''(stub)''
* [[Modem adsl Telindus ND220]]
* [[Modem adsl Aethra Starmodem]]
* [[Modem adsl Fastrate 100 USB]]


==== Modem Ethernet ====
<pre>$ ls
* ''Inserire qui eventuali guide su modem ethernet''
linux-2.6.18.8.tar.gz
linux-2.6.18.8/</pre>


==== Modem dial-up 56K ====
* ''Inserire qui eventuali guide su modem a 56K''


==== Schede di rete Wireless ====
----
* [[Wireless Support | Informazioni sul supporto alle periferiche Wireless]]
This is an indipendent translation of the book [http://www.kroah.com/lkn/ Linux Kernel in a Nutshell] by [http://www.kroah.com/log/ Greg Kroah-Hartman]. This translation (like the original work) is available under the terms of [http://creativecommons.org/licenses/by-sa/2.5/ Creative Commons Attribution-ShareAlike 2.5].
* [[Script Bash abilitazione scheda wireless]]
----
* [[Intel PRO/Wireless 2200BG]]
* [[Intel PRO/Wireless 3945ABG : Installazione dei moduli senza kernel patching]]
* [[Intel PRO/Wireless 3945ABG :Patchare il kernel con il driver per Linux]]
* [[NdisWrapper | NdisWrapper: Usiamo i driver di Windows per il WLan con GNU/Linux]]
* [[Madwifi | Installazione Driver Madwifi]]
* [[PCMCIA WiFi UPspeed su Debian Sarge on Thinkpad T20 ]]


=== Schede Video ===
[[Categoria:Kernel]]
* [[Installazione Driver ATI per schede ATI RADEON MOBILITY 9700 SE]]
 
=== Stampanti ===
* [[Livello degli inchiostri e pulizia testine per stampanti Epson]]
==== Stampanti USB ====
* [[Installare stampanti con porta USB utilizzando CUPS]]
 
==== Stampanti con porta parallela ====
* [[Introduzione all'installazione di stampanti con porta parallela]]
 
==== Stampanti bluetooth ====
* [[Introduzione all'installazione di stampanti bluetooth]]
 
=== Scanner ===
* [[Epson Perfection 2480 photo - usb scanner]]
* ''Inserire qui eventuali altre guide su come far funzionare scanner con Debian''
 
=== Palmari e cellulari ===
* [[Debian e Nokia 7210: uso di gnokii e gestione degli sms]]
* [[UMTS/GPRS PCMCIA card (3g)]]
* [[UMTS/GPRS: Internet col cellulare]]
* [[Usare lcd4linux con un Palm]]
 
=== Altro hardware ===
* [[I2c e lm-sensors|'''I2c e lm-sensors''': usare i sensori della scheda madre]]
* [[Gestire gli HD: stato di salute, badblocks e ripristino dati|'''Gestire gli HD:''' stato di salute, badblocks e ripristino dati]]
 
* [[Tasti Multimediali: configurazione ed uso| '''Tasti Multimediali''': configurazione ed uso]]
* [[Associare un pulsante ad un' azione: Hotkeys|Associare un pulsante ad un' azione: '''Hotkeys''']]
 
==Portatili==
===Laptop Debianizzati===
Troverete di seguito i resoconti d'installazione di Debian su dei portatili:
 
* [[Debian on an HP nx8220 | Debian on an HP nx8220]]
* [[Debian on a presario 2141EU | Compaq Presario 2100 (2141EU)]]
* [[Debian on a compaq Presario 2154EA | Compaq Presario 2100 (2154EA)]]
* [[Debian on a Toshiba Satellite M30X-113| Toshiba Satellite M30x-113]]
* [[Debian on a HP Compaq NX6110| HP Compaq NX6110]]
* [[Debian on an HP pavilion zv5422EA| HP pavilion zv5000 (zv5422EA)]]
 
===Altro===
* [[Powernowd: CpuScaling per AMD]]
* [[Cpufreqd: Cpuscaling per Intel Pentium M]]
* [[ACPI e DSDT]]
* [[Synaptics touchpad]]
* Inserire qui anche link a risorse in italiano sui portatili
 
==Debian Live==
* [[Debian Live Project]]
* [[Rimasterizzare una knoppix]]
* [[Damn Small Linux su chiavetta usb]]
 
==Crittografia==
* [[Crittografia e Steganografia - L'Arte di nascondere le informazioni]]
* [[Chiavi simmetriche e chiavi pubbliche]]
 
==Varie==
* [[Debian Fun]]

Versione delle 15:43, 16 mag 2007

Torna all'indice: Linux Kernel in a Nutshell

Quando si copila un kernel personalizzato ci si vorrebbe servire dell'ultima versione stabile. Molte distribuzioni forniscono i loro pacchetti dei sorgenti del kernel, ma raramente questi sono i più recenti e aggiornati. I pacchetti ufficiali delle distribuzioni hanno il vantaggio di essere compatibili con il compilatore e gli altri strumenti forniti dalla distribuzione stessa (Il capitolo 2 mette in evidenza l'importanza di questa compatibilità), ma non è detto che permettano di avere le funzionalità o le prestazioni di cui si ha bisogno. Preparando l'ambiente con il kernel più recente e le ultime versioni del compilatore e degli altri programmi sarà possibile ottenere esattamente ciò che si vuole. Questo capitolo spiega quali sorgenti del kerner scaricare e dove trovarli.

Quale ramo usare

Figura 3-1: Ciclo di sviluppo e rilascio del kernel

In passato il kernel Linux era diviso in 2 rami: quello di "sviluppo" e quello "stabile". Per distinguerli, il ramo di sviluppo era contrassegnato da un valore dispari nel secondo numero di release, quello stabile da un valore pari. Ad esempio, la 2.5.25 era una versione di sviluppo, mentre la 2.4.25 era la stabile.

Quando fu creata la serie 2.6, gli sviluppatori decisero di abbandonare questo metodo basato su due rami separati e annunciarono che tutti i rilasci della serie 2.6 del kernel sarebbero stati considerati "stabili", indipendentemente da quanto veloce fosse stato il processo di sviluppo. I pochi mesi a disposizione tra le versioni maggiori della serie 2.6 avrebbero lasciato agli sviluppatori il tempo necessario per aggiungere nuove funzioni e renderle stabili per il rilascio successivo. Assieme a questo fu creato un ramo "-stabile" del kernel per permettere eventuali correzioni dei bug e aggiornamenti di sicurezza per l'ultima versione, prima che quella nuova venga rilasciata. Alcuni esempi, illustrati in figura 3-1, aiuteranno a chiarire tutto questo: il team del kernel rilascia la versione stabile 2.6.17; poi gli sviluppatori iniziano a lavorare su nuove caratteristiche e rilasciano la versione -rc del kernel in via di sviluppo, in modo che chi vuole possa aiutare nella fase di test e di debug dei cambiamenti. Quando tutti concordano sul fatto che la versione in via di sviluppo sia abbastanza stabile, questa viene rilasciata come 2.6.18. L'intero ciclo impiega solitamente due o tre mesi, dipendendo da svariati fattori.

Durante lo sviluppo di nuove funzioni vengono rilasciate la 2.6.17.2, la 2.6.17.3 e altre release stabili del kernel, contenenti correzioni di bug e aggiornamenti di sicurezza. È consigliabile che chi intenda usare l'ultima versione del kernel per lavoro si serva di quella stabile. Chi invece intende aiutare gli sviluppatori, può testare le caratteristiche della generazione successiva del kernel e darne una valutazione. Per quanto concerne gli scopi di questo capitolo, si suppone che venga utilizzata la versione stabile.

Dove trovare i sorgenti del kernel

Tutti i sorgenti del kernel Linux si possono trovare in ognuno dei siti kernel.org, una rete di mirror che permette a chiunque di trovare il server locale più vicino. Questo fa sì che i server principali possano rispondere più prontamente ai mirror e che gli utenti riescano a scaricare i file il più velocemente possibile.

La pagina principale di http://www.kernel.org riporta tutte le versioni correnti del kernel per ogni differente ramo, come mostrato in figura 3-2.

Figura 3-2: Il sito ufficiale Kernel.org.

Per scaricare l'ultima versione stabile del kernel è sufficiente cliccare sulla lettera F nella linea corrispondente: così facendo si scaricherà l'intero albero dei sorgenti. Altrimenti è possibile accedere alla sotto-directory relativa ad ogni versione della serie 2.6 tramite la pagina http://www.kernel.org/pub/linux/kernel/v2.6/, mostrata in figura 3-3.

Figura 3-3: Directory dei sorgenti per il kernel 2.6

È anche possibile scaricare i sorgenti del kernel tramite riga di comando, usando il programma wget o curl, normalmente presenti in ogni distribuzione Linux.

Per scaricare la versione 2.6.17.8 del kernel con wget il comando è:

$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.8.tar.gz


	-> 'linux-2.6.17.8.tar.gz

Resolving www.kernel.org... 204.152.191.5, 204.152.191.37

Connecting to www.kernel.org|204.152.191.5|:80... connected.

HTTP request sent, awaiting response... 200 OK

Lenght: 51,707,742 (49M) [application/x-gzip]

100%[-------------------------------------->] 51,707,742	35.25k/s

ETA 00:00

18:02:48 (47.12 kB/s) - 'linux-2.6.17.8.tar.gz' saved [51707742/51707742]

Per scaricarla con curl:

$ curl http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.17.8.tar.gz \ -o linux-2.6.17.8.tar.gz

Il modo più semplice e veloce per scoprire quale sia l'ultima versione del kernel è usare le informazioni disponibili alla pagina http://www.kernel.org/kdist/finger_banner, come mostrato in figura 3-4.

Figura 3-4: Ultima versione del kernel.

Cosa fare con i sorgenti

Una volta scaricati i sorgenti del kernel appropriati, dove è previsto che vengano messi? E' consigliabile creare una directory locale nella propria home chiamata linux per conservare tutti i file dei sorgenti del kernel:

$ mkdir ~/linux

Spostate il codice sorgente nella directory linux:

$ mv ~/linux-2.6.18.8.tar.gz ~/linux/

ed entrate nella directory linux:

$ cd ~/linux
$ ls
linux-2.6.18.8.tar.gz

Adesso che il codice sorgente si trova nella directory giusta, decomprimetelo:

$ tar -xzvf linux-2.6.18.8.tar.gz

Lo schermo si riempirà della lista dei file che verranno decompressi, e alla fine nella directory linux/ rimarrà:

$ ls
linux-2.6.18.8.tar.gz
linux-2.6.18.8/



This is an indipendent translation of the book Linux Kernel in a Nutshell by Greg Kroah-Hartman. This translation (like the original work) is available under the terms of Creative Commons Attribution-ShareAlike 2.5.