Table of contentsSVILUPPO KERNEL E DRIVER PER LINUX EMBEDDED
Ringraziamenti
Copia
Aggiornamenti
Introduzione
Contenuti (1)
Contenuti (2)
Contenuti (3)
Contenuti (4)
Versione del kernel considerata: 2.6
Sezione Introduzione
Ruolo del kernel
Storia di Linux
Schema del numero di versione
Architetture hardware supportate
Caratteristiche principali di Linux
Sottosezione Considerazioni Legali
Sottosezione Dettagli e vincoli della licenza
Cos'è il Free Software
La licenza GPL
Vincoli della licenza del kernel Linux
Vantaggi dei driver “free”
Sottosezione Brevetti software
Brevetti software: la grande minaccia legale
Albo della vergogna dei brevetti software
Come evitare problemi legati ai brevetti
Come gestire problemi da brevetti
Sottosezione Interfaccia utitlizzatore del kernel
Interfaccia utilizzatore del kernel
Sezione Compilazione e boot di Linux
Sottosezione Ottenere i sorgenti
Accesso ai sorgenti del kernel
Uso del comando patch
Esempio d'utilizzo di patch
Link utili ai sorgenti del kernel
Sottosezione Struttura dei file sorgente
Struttura dei sorgenti Linux (1)
Struttura dei sorgenti Linux (2)
Sottosezione Moduli del kernel
Moduli caricabili (1)
Moduli caricabili (2)
Sottosezione Configurazione del kernel
Panoramica configurazione del kernel
Modifiche a Makefile
make xconfig
Schermate di qconf
make menuconfig / oldconfig
Sottosezione Compilare il kernel
Compilazione e installazione del kernel
Velocizzare la compilazione
Astuzie di compilazione
File generati
File installati (1)
File installati (2)
File installati (3)
Sommario della compilazione del kernel
Sottosezione Cross compilazione del kernel
Modifiche al Makefile
Configurazione del kernel
Setup della cross compilazione
Generare il kernel
Sottosezione Bootloader
Il lavoro del bootloader
Bootloader a due fasi
Alcuni bootloader (1)
Alcuni bootloader (2)
Parametri di boot del kernel
Parametri di boot più comuni
Sottosezione Debug attraverso la porta seriale
Utilità di una porta seriale
In caso di mancanza di porta seriale
Sezione Creazione di un ramdisk initrd
Initrd
Come creare un initrd
Sezione Sviluppo di driver
Sottosezione Device driver per Linux
Driver a caratteri
Driver a blocchi
Numeri di device maggiore e minore
Creazione dei file di device
Altri tipi di driver
Sottosezione Un semplice modulo
Modulo hello
Linee guida per la scrittura di moduli (1)
Linee guida per la scrittura di moduli (2)
Compilazione di un modulo
Usare un modulo
Funzioni utili
Sottosezione Parametri di un modulo
Modulo “hello” con parametri
Uso del modulo hello_param
Dichiarazione dei parametri di un modulo
Passaggio di parametri ad un modulo
Sottosezione Dipendenze dei moduli
Dipendenze di un modulo
Sottosezione Aggiunta di sorgenti al kernel
Nuova directory sorgente (1)
Nuova directory sorgente (2)
Sottosezione Debug del kernel
Debug usando printk
ksymoops
Debug usando Kprobes
Astuzie per il debug del kernel
Consigli e risorse
Sicurezza del sistema
Sezione Usare Ethernet su USB
Usare Ethernet su USB (1)
Usare Ethernet su USB (2)
Sezione Filesystem di root sull'host tramite NFS
Utilità di rootfs su NFS
Esempio di setup di NFS
Utilizzo di pivot_root
Sottosezione Scelta del tipo di filesystem
Device a blocchi o filesystem MTD
Filesystem con device a blocchi più diffusi
Filesystem a blocchi in sola lettura
Sottosistema MTD
Filesystem MTD
Filesystem a blocchi su MTD
Scelta filesystem per il proprio device flash
Montare un'immagine jffs2
Ottenere aiuto e collaborazione
Risoluzione problemi
Ottenere aiuto
Ottenere collaborazione
Incoraggiare la collaborazione
Sottosezione Segnalare bug e patch
Segnalazione bug di Linux
Come creare patch per Linux
Invio di patch e driver
Sottosezione Riferimenti
Siti di informazione (1)
Siti di informazione (2)
Letture utili
Riferimenti utili
Risorse per ARM
Progetti Linux ARM
Ultimo consiglio
Usare i sorgenti!
Documenti correlati
Laboratorio pratico
Servizi di formazione e consulenza
|