|
|
Riga 1: |
Riga 1: |
| __TOC__
| | ''Inserire qui la traduzione di [http://www.kernel.org/pub/linux/kernel/people/gregkh/lkn/lkn_pdf/appa.pdf questo] capitolo...'' |
|
| |
|
| Molte delle informazioni contenute in questo libro sono state estratte dalla documentazione del kernel e dal codice sorgente. La documentazione infatti 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.
| |
|
| |
|
| == Libri ==
| | __TOC__ |
| 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.
| |
| | |
| === Libri generici su Linux ===
| |
| | |
| * 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.
| |
| | |
| * 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.
| |
| | |
| === Libri inerenti il kernel Linux ===
| |
| | |
| 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'' (O�Reilly), 2005.<br/>Questo libro illustra come differenti ''device driver'' operano e fornisce parecchi esempi applicatici di driver funzionanti. È consigliato a chiunque vuole programmare driver per il kernel. È disponibile in rete gratuitamente a questo indirizzo: http://lwn.net/Kernel/LDD3/
| |
| | |
| * 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'' (O�Reilly), 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 consigliato a coloro che vogliono comprendere nel dettaglio come funziona il kernel.
| |
| | |
| == Strumenti ==
| |
| | |
| 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.
| | Scaricare [da Internet, NdT], compilare, aggiornare e mantenere i sorgenti del kernel Linux coinvolge diversi passi, come questo libro illustra. Essendo per natura creature pigre, gli sviluppatori hanno creato alcuni programmi a supporto di queste attivit� di routine. Descriviamo alcuni di tali utili strumenti e le nozioni di base sul loro utilizzo. |
|
| |
|
| * ''ccache''<br/>http://ccache.samba.org/ � la pagina principale del progetto ccache.
| | Lo sviluppo del kernel Linux differisce per molti aspetti dal tradizioale processo di sviluppo software. Ad uno sviluppatore del kernel sono richieste alcune attivit� peculiari: |
|
| |
|
| | * Applicare le modifiche ad un "bersaglio mobile" quale il kernel, a causa della pianificazione dei rilasci di sviluppo. |
| | * Risolvere i conflitti nella fase di merge tra ci ha fatto rispetto a quanto fatto dagli altri sviluppatori. |
| | * Esportare i suoi cambiamenti in un formato che permetta agli altri sviluppatori di incorporarli facilmente nel proprio lavoro. |
|
| |
|
|
| |
|