LKN: Ricette per Configurare il Kernel: differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
mNessun oggetto della modifica
Riga 1: Riga 1:
''Torna all'indice: [[Linux Kernel in a Nutshell]]''
__TOC__


Nonostante la sua grande base di codice (oltre sette milioni di linee di codice), il kernel Linux � il sistema operativo pi� flessibile che sia mai stato creato.
Molte delle informazioni contenute in questo libro sono state estratte dalla documentazione del kernel e dal codice sorgente. Questa [la documentazione inclusa nel kernel, NdT] il miglior posto dove trovare informazioni e riferimenti su come compilare e installare il kernel ed � normalmente tenuta aggiornata a seguito di cambiamenti nella procedura di compilazione.
Pu� essere messo a punto per una grande variet� di sistemi differenti e funzionare su qualunque cosa, da un modello di elicottero radio-comandato, a un telefono cellulare, alla maggior parte dei pi� grandi supercalcolatori nel mondo.
Aggiustando il kernel per un ambiente specifico, � possibile creare qualcosa che sia contemporaneamente pi� piccolo e pi� veloce del kernel fornito da gran parte delle distribuzioni di Linux. Questo libro entrer� nel come costruire e installare un kernel personalizzato, e fornir� qualche spunto sul come abilitare opzioni specifiche che probabilmente vorrete usare per specifiche situazioni.


Nessuna distribuzione di Linux fornisce esattamente il kernel che gran parte dei suoi utenti vuole. Le distribuzioni moderne sono diventate molto accomodanti, compilando il supporto per ogni periferica conosciuta, per l'audio, e anche per il risparmio energetico.
== Libri ==
Ma probabilmente ognuno di voi ha necessit� differenti dalla maggioranza degli utenti (e ogni distribuzione deve cercare ad andare incontro alle necessit� della maggioranza).
Sono disponibili molti ottimi libri relativi alla programmazione del kernel Linux, ma solo pochi di essi trattano la compilazione e installazione del kernel. Ecco un elenco di libri che ho trovato utili.
Voi potreste semplicemente avere un hardware differente.
E quando esce un nuovo kernel potreste voler iniziare ad usarlo senza aspettare che una distribuzione venga costruita attorno ad esso.


Per un certo numero di ragioni, durante la vostra carriera con Linux, qualche volta  potreste voler costruire un kernel, o mettere a punto i parametri di quello che state utilizzando.
=== Libri generici su Linux ===
Questo libro vi fornisce le informazioni necessarie per comprendere il kernel dal punto di vista dell'utente, e per effettuare i cambiamenti pi� comuni.


Ci sono anche delle buone ragioni per rimuovere alcune caratteristiche da un kernel, in particolare se lo fate funzionare in un sistema embedded o in uno con uno ''small form factor'' (piccolo fattore di forma, cio� dalle risorse limitate, N.d.T.)
* Ellen Siever, Aaron Weber, Stephen Figgins, Robert Love, e Arnold Robbins. ''Linux in a Nutshell'' (O�Reilly), 2005.<br/>Questo libro comprende una delle pi� complete e autorevoli guide ai comandi per Linux. Essa copre praticamente ogni singolo comando di cui potreste mai aver bisogno.


Nel mettere a punto, � utile comprendere le motivazioni intime del comportamento del kernel.
* Yaghmour, Karim. ''Building Embedded Linux Systems'' (O�Reilly), 2003.<br/>Questo libro, sebben principalmente rivolto agli sviluppatori di sistemi Linux embedded, contiene un'ottima sezione relativa a come creare una ''toolchain'' e un kernel con compilazione incrociata. Oltre a questa sezione del libro, � consigliato anche in virt� di altre sezioni che forniscono interessanti informazioni per coloro che vogliono imparare come personalizzare il kernel e il resto del sistema.
Queste sono al di l� dello scopo di questo libro, eccetto brevi sommari che appaiono con certe opzioni.
L'appendice B include riferimenti ad altri libri e a materiale che pu� fornirvi maggiori basi.


=== Libri inerenti il kernel Linux ===


'''Usare Questo Libro'''
Molti di questi libri sono indirizzati ai programmatori interessati ad apprendere come programmare all'interno del kernel. Sono generalmente molto tecnici rispetto a questo libro, ma sono un ottimo punto di partenza se desiderate imparare e capire il codice che governa il kernel.


*Jonathan Corbet, Alessandro Rubini, e Greg Kroah-Hartman. ''Linux Device Drivers'' (OReilly), 2005.<br/>Questo libro illustra come differenti ''device driver'' operano e fornisce parecchi esempi applicatici di driver funzionanti. &Egrave; raccomandato a chiunque vuole programmare driver per il kernel. &Egrave; disponibile in rete gratuitamente a questo indirizzo: http://lwn.net/Kernel/LDD3/


[[Image:Cesoia.png|left]] Non configurate ne' compilate il vostro kernel con i permessi da superutente abilitati!
* Love, Robert. ''Linux Kernel Development'' (Novell Press Publishing), 2005.<br/> Questo libro copre quasi tutti gli aspetti relativi al kernel Linux, illustrando come tutto opera insieme. Ottimo punto di partenza per iniziare a capire e conoscere le diverse componenti del kernel.


* Bovet, Daniel P. e Cesate, Marco. ''Understanding the Linux Kernel'' (OReilly), 2005.<br/> Questo libro si addentra negli aspetti relativi la progettazione e implementazione del nucleo del kernel Linux. Un ottimo riferimento per apprendere e capire gli algoritmi utilizzati nelle diverse porzioni del kernel. Fortemente raccomandato a coloro che vogliono comprendere nel dettaglio come funziona il kernel.


Questo avvertimento � la cosa pi� importante da ricordare percorrendo i passaggi di questo libro. Ogni cosa in questo libro - scaricare il codice sorgente del kernel, decomprimerlo, configurare il kernel e compilarlo - dovrebbe essere fatta come utente comune del sistema.
== Strumenti ==
Solo i due o tre comandi necessari per installare un nuovo kernel dovrebbero essere impartiti come superutente (''root'').


Ci sono stati bug nel processo di costruzione del kernel, nel passato, che causavano la cancellazione di qualche file speciale nella directory ''/dev'' se l'utente aveva i permessi da superutente durante la compilazione del kernel Linux. Ci sono anche problemi che possono facilmente insorgere decomprimendo il kernel Linux con diritti da superutente, poich� qualche file nel pacchetto dei sorgenti del kernel non finir� per avere i permessi adeguati e causer� errori di compilazione pi� avanti.
In questo libro sono stati menzionati molti utili strumenti. Di seguito, presento un elenco dei siti dove � possibile reperire e scaricare tali strumenti.
 
* ''Linux kernel''<br/> http://www.kernel.org e ftp://ftp.kernel.org contiene tutte le versioni del sorgente del kernel. http://www.kernel.org/git/ contiene una lista di tutti i ''git trees'' utilizzati dai diversi sviluppatori del kernel.
 
* ''gcc''<br>http://gcc.gnu.org/ sito principale per tutto ci� che concerne il compilatore GNU C.
 
* ''binutils''<br/>http://www.gnu.org/software/binutils/ � il sito principale dove trovare tutte le informazioni su binutils.
 
* ''make''<br/>http://www.gnu.org/software/make/ � il sito principale dove trovare tutte le informazioni su make.
 
*''util-linux''<br/>http://www.kernel.org/pub/linux/utils/util-linux/ � la directory da dove possono essere scaricate tutte le versioni di util-linux.
 
* ''module-init-tools''<br/>http://www.kernel.org/pub/linux/utils/kernel/module-init-tools/ � la directory da dove possono essere scaricate tutte le versioni di module-init-tools.
 
* ''e2fsprogs''<br/>http://e2fsprogs.sourceforge.net/ � la pagina principale del progetto e2fsprogs.
 
* ''jfsutils''<br/>http://jfs.sourceforge.net/ � la pagina principale del progetto jfsutils.
 
* ''reiserfsprogs''<br/>http://www.namesys.com/download.html � la pagina principale del progetto reiserfsprogs.
 
* ''xfsprogs''<br/>http://oss.sgi.com/projects/xfs/ � la pagina principale del progetto xfsprogs.
 
* ''quota-tools''<br/>http://sourceforge.net/projects/linuxquota/ � la pagina principale del progetto quota-tools.
 
* ''nfs-utils''<br/>http://nfs.sf.net/ � la pagina principale del progetto nfs-utils.
 
* ''udev''<br/>http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html � la directory da dove possono essere scaricate tutte le versioni di udev.
 
* ''procfs''<br/>http://procps.sourceforge.net/ � la pagina principale del progetto procfs.
 
* ''patchutils''<br/>http://cyberelk.net/tim/patchutils � la directory da dove possono essere scaricate tutte le versioni di patchutils.
 
* ''git''<br/>http://git.or.cz/ � il sito principale del progetto git.
 
* ''ketchup''<br/>http://www.selenic.com/ketchup/ � la pagina principale del progetto ketchup.
 
* ''quilt''<br/>http://savannah.nongnu.org/projects/quilt � la pagina principale del progetto quilt.
 
* ''distcc''<br/>http://distcc.samba.org/ � la pagina principale del progetto distcc.
 
* ''ccache''<br/>http://ccache.samba.org/ � la pagina principale del progetto ccache.


Il codice sorgente del kernel, inoltre, non dovrebbe essere mai posto nella directory ''/usr/src/linux/'', poich quella la posizione del kernel con cui sono state compilate le librerie di sistema, non del vostro kernel personalizzato. Non effettuate neppure alcun tipo di sviluppo del kernel nella directory ''/usr/src/'', ma fatelo solo nella vostra directory da utente locale, dove non pu accadere nulla di brutto al sistema.




1

contributo