Home
Accesso / Registrazione
 di 

Costruire un sistema Linux Embedded in 8 fasi

Costruire un sistema Linux embedded a 8 Fasi

Abbiamo già visto quali sono i passi più importanti quando si pianifica il passaggio a Embedded Linux. Una volta che abbiamo deciso quale distribuzione Linux utilizzare, l'hardware ecc, e deciso i tools che servono, lo step successivo è: la costruzione del sistema Embedded Linux. Anche in questo caso c'è tanta somiglianza tra un sistema linux tradizionale ed un sistema linux embedded.

Le persone che hanno utilizzato Linux per tanti anni e conoscono bene il processo di costruzione da zero di un sistema Linux, avranno pochi problemi a migrare verso Embedded Linux. Come stanno oggi le cose, la maggior parte dei sistemi Embedded Linux dovrà essere costruita pezzo per pezzo (cioè non come la suite di tipo Anaconda).

Ad un livello elevato gli elementi più importanti sono il boot-loader, seguito da un kernel Linux e un file system di Linux. Queste sono più o meno le cose che sono assolutamente necessarie per ogni sistema operativo (il boot-loader, il kernel, il file system). Per il funzionamento quotidiano, altre cose, come la shell, le librerie ecc saranno necessarie.

Vediamo come costruire un sistema linux embedded passo per passo

0. Mettere tutte le parti insieme:

Prima di iniziare assicuratevi di aver capito tutte le dipendenze che esistono (altri packages, le librerie che vi possono servire durante l'installazione). Una distribuzione Linux Embedded può effettuare tutte le dipendenze necessarie con essa, ed una distribuzione di Linux può avere a disposizione i file richiesti vicino, o possono essere scaricati attraverso un gestore di package. La chiave è di capire tutto questo prima di installare il processo e di aver scaricato/copiato i file necessari.

1. Il boot-loader:

non è necessario avere un boot-loader installato, ma è sempre una buona idea avere uno che consente di avere flessibilità. È possibile ricostruire il kernel, e può essere necessario per passare tra le diverse versioni del kernel. Un boot-loader vi aiuterà a farlo.

2. Il file system:

Prima di installare un kernel Linux, è necessario avere uno spazio in cui il kernel Linux e il resto del sistema Linux possano risiedere. Costruire un file system consiste prima in partizionare l'hard disk in base alle proprie esigenze e poi popolare il file system.

3. Il kernel:

Il compito di kernel è quello di eseguire un controllo hardware e poi "montare" la /root directory. Il processo init viene eseguito dalla partizione /root ed è il processo "parent", che quindi carica il resto del sistema Linux. Per installare il kernel, pertanto, è necessario installare il processo init (un file eseguibile sul disco) e inittab, un file che si collega ad altri file che sono necessari per il set-up del sistema.

4. Il modulo login:

Una volta che i principali elementi del sistema operativo Linux sono stati installati, installate un modulo di login che vi permetterà di gestire chi può utilizzare il sistema.

5. La shell:

La shell aiuta a comunicare con l'OS. Utile per ottenere un buon lavoro.

6. Le librerie:

Infine, è necessario installare tutte le librerie di cui avrete bisogno. Quando si installa un compilatore si può ottenere un set di librerie "bundled". Per motivi di spazio, si deve scegliere solo quello di cui si ha veramente bisogno.

7. Ulteriori packages:

Ora avete tutto ciò che è necessario mantenere e far funzionare il sistema Linux Embedded. Se lo spazio lo permette, è opportuno installare dei packages aggiuntivi e delle utilities che potrebbero essere necessarie (networking, backing-up, ecc.) Se non volete ricostruire il kernel si possono eliminare le cose di cui non avete bisogno, ma attenzione a quelle dipendenti!

Questo articolo è una traduzione della versione inglese di Build an Embedded Linux System in 8 Steps

 

 

Scrivi un commento all'articolo esprimendo la tua opinione sul tema, chiedendo eventuali spiegazioni e/o approfondimenti e contribuendo allo sviluppo dell'argomento proposto. Verranno accettati solo commenti a tema con l'argomento dell'articolo stesso. Commenti NON a tema dovranno essere necessariamente inseriti nel Forum creando un "nuovo argomento di discussione". Per commentare devi accedere al Blog
ritratto di giuliolele

Così sembra tutto semplice! :-)

Certo queste sono considerazioni molto generali... ma mi sembrano un pò semplicistiche. Certo un sistema embedded può essere simile se paragonato ad un sistema Linux per desktop, dato che il kernel è lo stesso e la logica alla base di tutto è la stessa. Per chi vuole farsi un'idea della questione è un classico il famoso http://www.linuxfromscratch.org/.
Ma quando si parla di embedded di solito secondo me si trovano molte difficoltà che altrimenti non si hanno. Primo fra tutti l'utilizzo di hardware specifico e quindi la necessità di avere driver nuovi. E poi il bootloader non serve solamente per scegliere un sistema operativo piuttosto che un altro, ma è fondamentale per l'avvio della macchina, anche nel caso il sistema operativo sia uno solo. Cosa quest'ultima che potrebbe anche risultare piuttosto complicata, soprattutto se si vuole utilizzare memorie inizialmente non supportate dal processore scelto (anche qui driver nuovi e codice nuovo nel bootloader). Almeno questo è quello che ho visto nella mia piccola esperienza di embedded.

 

 

Login   
 Twitter Facebook LinkedIn Youtube Google RSS

Chi è online

Ultimi Commenti