[indice generale] [precedente] [successivo] [indice analitico] [note introduttive]

156. ELKS

Nell'ambito del software libero, non esistono sistemi operativi per piattaforme inferiori al i386. Minix è un sistema operativo adatto a tutta la famiglia ix86, ma è limitato all'ambito didattico-educativo, a causa della sua licenza d'uso.

Il progetto ELKS (Embeddable Linux Kernel Subset) vuole creare un sistema operativo per i microprocessori ix86 di fascia bassa, a partire da un sottoinsieme di funzionalità di Linux.

http://www.linux.org.uk/ELKS-Home/index.html

http://www.cix.co.uk/~mayday/nf-home.html

ftp://linux.mit.edu/pub/ELKS

A partire dalla versione 0.0.67 di ELKS è possibile avviare un mini sistema composto da un dischetto di boot e uno di root, e con un po' di pazienza è anche possibile installarlo in una partizione del disco fisso.

È disponibile un compilatore da utilizzare con Linux, per produrre binari ELKS, cioè tutto il necessario per sviluppare questo nuovo sistema; è possibile eseguire i binari ELKS su Linux, attraverso una libreria di emulazione; è possibile avviare ELKS anche all'interno di DOSEMU.

156.1 Sperimentare ELKS

ELKS non è un sistema completo, quindi necessita di un pacchetto di sviluppo, composto essenzialmente da un compilatore, da utilizzare in una piattaforma Linux normale. Questo pacchetto è Dev86, distribuito normalmente in forma sorgente.

Una volta scaricato il pacchetto di sviluppo, questo può essere espanso a partire dalla directory /usr/src/, nel computer Linux, come mostrato dall'esempio seguente.

# cd /usr/src[Invio]

# tar -xzvf Dev86src-0.13.4.tar.gz[Invio]

Si otterrà la directory /usr/src/linux-86 che si articola ulteriormente. Terminata l'installazione occorre compilare questi sorgenti e installarli.

# cd /usr/src/linux-86[Invio]

# make install[Invio]

A questo punto si può pensare ai sorgenti del kernel di ELKS e dei vari programmi di sistema e di utilità. Anche questi vanno installati a partire da /usr/src/.

# cd /usr/src[Invio]

# tar -xzvf elks-0.0.67.tar.gz[Invio]

# tar -xzvf elkscmd.tar.gz[Invio]

Si ottengono le directory /usr/src/elks/ e /usr/src/elkscmd/. La prima contiene il kernel, la seconda i programmi di contorno. Per compilare il kernel basta eseguire i passi seguenti.

# cd /usr/src/elks[Invio]

# make config[Invio]

# make dep ; make clean[Invio]

# make[Invio]

Si ottiene il file /usr/src/elks/Image che può essere trasferito nel modo solito in un dischetto, attraverso cp o dd.

Per compilare gli altri programmi occorre passare le varie directory in cui si articola /usr/src/elkscmd/ e usare il comando make.

156.2 Dischetti boot e root

La realizzazione di un sistema ELKS è un po' difficoltosa in questa fase iniziale del suo progetto di realizzazione. La cosa migliore è partire dalle immagini di boot e di root già pronte, contenute normalmente nel pacchetto images.zip. Per trasferirle nei dischetti ci si comporta nel modo solito, esattamente come si fa per le immagini di dischetti di Linux.

Volendo, l'immagine boot può semplicemente essere sostituita con un kernel compilato personalmente, e l'immagine root può essere rielaborata aggiungendo o sostituendo altri programmi. L'immagine di root contiene un filesystem Minix.

Per avviare il sistema ELKS è sufficiente fare il boot con il dischetto di boot, sostituendolo con quello di root, quando il kernel lo richiede.

156.3 Avvio di ELKS all'interno di DOSEMU

ELKS può essere avviato all'interno di DOSEMU, sia in una console che in una finestra di X. Per farlo basta avviare l'emulatore in modo che esegua il boot del dischetto. Di solito basta avviarlo con l'opzione -A.

# dos -A[Invio]

La figura 156.1 mostra la fase finale dell'avvio di ELKS. Si nota in particolare il prompt molto scarno della shell: per ora non si possono usare i caratteri jolly e tutte le altre funzioni cui si è abituati con le shell normali.


Figura 156.1: L'avvio di ELKS.

---------------------------

AppuntiLinux 1998.11.22 --- Copyright © 1997-1998 Daniele Giacomini - daniele@calion.com


[indice generale] [precedente] [successivo] [indice analitico] [note introduttive]