Syllable: introduzione

Syllable (1) è un sistema operativo orientato verso lo standard POSIX, distaccandosi leggermente dalle convenzioni comuni di un sistema GNU o *BSD. La sua caratteristica più appariscente è quella di funzionare in modo esclusivamente grafico, anche se poi si usano le solite finestre di terminale.

Syllable nasce come derivazione di AtheOS, (2) iniziato da Kurt Skauen, che attualmente sembra non essere più sviluppato attivamente.

In generale, Syllable (e il predecessore AtheOS) si può considerare un sistema operativo completo, con alcune limitazioni sulle componenti hardware che si possono usare effettivamente. Normalmente, un elaboratore con microprocessore i586, o compatibile, mouse PS/2 o seriale (se si tratta di un mouse seriale questo va collegato nella prima porta seriale), grafica VESA, dovrebbe funzionare regolarmente. Qualche problema, forse, si può incontrare con le schede di rete, nel senso che i modelli compatibili sono pochi.

Installazione

Nelle prime edizioni di Syllable ci sono difficoltà ad accedere ai lettori CD-ROM, pertanto viene mostrato un metodo di installazione molto spartano, compatibile anche con AtheOS nella versione 0.3.7.

In pratica è necessario disporre in qualche modo di un'altra partizione, in formato Dos-VFAT, che contenga l'archivio compresso da estrarre durante l'installazione. Pertanto, inizialmente bisogna agire usando altri strumenti, come un mini sistema GNU/Linux.

Da quanto appena esposto, si può comprendere che servono due partizioni primarie, la prima di tipo Dos-VFAT, inizializzata correttamente, e la seconda di un tipo non meglio precisato, dal momento che non sembra essere stato concordato un codice particolare per le partizioni contenenti un file system Syllable.

Una volta prelevato l'archivio compresso contenente la copia del file system di partenza, questo va copiato nella partizione con file system Dos-VFAT. Fatto questo ci si può occupare della preparazione dei dischetti di avvio, che potrebbero essere tre o più. Naturalmente vanno prelevati i file-immagine di questi dischetti, da riprodurre secondo le solite modalità, per esempio nel modo seguente se si usa un sistema GNU/Linux, avendo cura naturalmente di sostituire ogni volta il dischetto:

cp syllable*1.img /dev/fd0[Invio]

cp syllable*2.img /dev/fd0[Invio]

cp syllable*3.img /dev/fd0[Invio]

Disponendo dei dischetti si può inserire il primo nell'elaboratore in cui si vuole installare Syllable, riavviandolo. Viene richiesto di sostituire il primo con il secondo e poi con il terzo. A un certo punto appare la grafica e una finestra di terminale, con il quale vanno impartiti manualmente i comandi necessari.

Appena si dispone del terminale, si procede inizializzando la partizione che deve ospitare il sistema operativo; quindi vanno innestate entrambe per trasferire i dati. In questi esempi viene mostrato un invito fittizio, che potrebbe essere diverso dal reale, secondo le convenzioni comuni usate a proposito dei sistemi Unix.

Si suppone che la partizione che deve ospitare il file system di Syllable sia la seconda in assoluto.

Syllable usa una sua struttura particolare per i file di dispositivo (creati dinamicamente dal kernel) e per quanto riguarda l'accesso a una partizione di un disco ATA, si può usare una delle notazioni seguenti:

/dev/disk/bios/hdx/n
/dev/disk/ide/hdx/n

La differenza tra i due tipi di notazione sta nella sigla bios o ide, che identifica il tipo di gestione software utilizzato per accedere ai dischi (ide fa riferimento al bus «ATA»). I file di dispositivo di Syllable (così come per AtheOS) sono virtuali e creati dinamicamente dal sistema; pertanto, la scelta dipende anche dal fatto che il file di dispositivo sia disponibile effettivamente. In generale, il primo tipo dovrebbe essere disponibile quando si usano i dischetti di installazione (si veda anche la tabella u218.3).

Si osservi che la sigla x va sostituita con una lettera alfabetica minuscola, corrispondente alla posizione del disco ATA (il primo disco corrisponde a hda); inoltre, il numero finale rappresenta la partizione (primaria o estesa che sia), a partire da zero. Pertanto, per fare riferimento alla seconda partizione del primo disco si può usare il nome /dev/disk/bios/hda/1.

format /dev/disk/bios/hda/1 afs Pippo[Invio]

Con il comando appena mostrato si inizializza la partizione usando un file system AFS (il formato nativo di Syllable e di AtheOS), a cui viene anche attribuito un nome obbligatorio (in questo caso è «Pippo»).

Il programma format non si accorge se la partizione non è quella che dovrebbe essere, pertanto se si va a inizializzare la partizione sbagliata si perdono i dati che questa contiene.

Una volta che l'inizializzazione è stata completata, si innestano le due partizioni, creando prima le directory necessarie all'innesto. Si suppone che la partizione contenente l'archivio da estrarre sia la prima:

mkdir /dos[Invio]

mount /dev/disk/bios/hda/0 /dos[Invio]

mkdir /afs[Invio]

mount /dev/disk/bios/hda/1 /afs[Invio]

Come si può intuire, il tipo di file system viene determinato automaticamente.

Si osservi che per motivi di spazio, i dischetti di avvio usati per installare Syllable potrebbero non avere certi comandi. Per esempio, potrebbe mancare unmount (contrariamente alla tradizione Unix è questo il nome del comando da usare per eseguire il distacco di un disco), quindi occorre fare queste operazioni con cura.

Si passa così a estrarre l'archivio contenente la copia del sistema:

cd /afs[Invio]

tar xzpvf /dos/base-syllable*.tgz[Invio]

Si può osservare che vengono prodotte solo le directory atheos/ e boot/, perché tutto il resto della struttura viene creato in modo virtuale durante il funzionamento del sistema operativo.

Per la precisione, durante il funzionamento queste directory appaiono discendere da /boot/; pertanto si possono vedere come /boot/atheos/ e /boot/boot/.

Syllable (come anche AtheOS) utilizza GRUB per l'avvio del sistema, pertanto occorre verificare che il file boot/grub/menu.lst sia configurato correttamente. L'esempio seguente si riferisce proprio all'uso della seconda partizione:

timeout 5

title  Syllable
root   (hd0,1)
kernel /atheos/sys/kernel.so root=/dev/disk/ide/hda/1
module /atheos/sys/drivers/fs/afs
module /atheos/sys/drivers/dev/disk/ata

Si comprende intuitivamente che potrebbe essere necessario modificare le direttive root e kernel, se la partizione fosse un'altra.

Nel caso fosse necessario modificare questo file, si deve avviare un programma per la modifica dei file di testo. I dischetti di installazione mettono a disposizione il programma Aedit, corrispondente all'eseguibile aedit (nel caso di AtheOS si tratta invece di Jed, associato all'eseguibile jed). Il programma in questione dovrebbe risultare molto intuitivo per il suo utilizzo.

Si osservi comunque che i moduli indicati rappresentano il minimo indispensabile per avviare il sistema, ma se si intende accedere al file system contenuto in un dischetto o in un CD-ROM, conviene aggiungerne altri. Si suggerisce un'impostazione iniziale come quella seguente, da estendere in seguito in base alle esigenze particolari:

timeout 5

title  Syllable
root   (hd0,1)
kernel /atheos/sys/kernel.so root=/dev/disk/ide/hda/1
module /atheos/sys/drivers/fs/afs
module /atheos/sys/drivers/fs/iso9660
module /atheos/sys/drivers/fs/ext2
module /atheos/sys/drivers/fs/fatfs
module /atheos/sys/drivers/dev/disk/ata
module /atheos/sys/drivers/dev/disk/bios

Per installare il settore di avvio di GRUB occorre riavviare il sistema, dopo aver reinserito il primo dei dischetti dell'installazione. Per ottenere un riavvio corretto è sufficiente premere la combinazione di tasti [Ctrl Alt Canc]. Quando appare il menù di GRUB del dischetto, basta premere [Esc] per impedire l'avvio e poi [c] per inserire a mano i comandi di GRUB:

grub> root (hd0,1)[Invio]

grub> setup (hd0)[Invio]

Il secondo di questi due comandi può riferirsi eventualmente a (hd0,1), cioè all'inizio della partizione invece che all'inizio del disco intero, se si intende gestire all'esterno di Syllable l'avvio di altri sistemi operativi che convivono nello stesso disco:

grub> root (hd0,1)[Invio]

grub> setup (hd0,1)[Invio]

Fatto questo (scegliendo, a ragion veduta, uno dei due modi proposti), si può provare a riavviare l'elaboratore senza più il dischetto di avvio.

Tabella u218.3. Alcuni esempi di file di dispositivo di Syllable.

Percorso del file di dispositivo Descrizione
/dev/disk/bios/hdx/raw
/dev/disk/ide/hdx/raw
Fa riferimento a tutto il disco fisso corrispondente alla lettera x, a cui si accede attraverso le funzioni del BIOS, oppure attraverso una modalità più evoluta.
/dev/disk/bios/hdx/n
/dev/disk/ide/hdx/n
Fa riferimento alla partizione n (primaria o estesa che sia) del disco fisso corrispondente alla lettera x, a cui si accede attraverso le funzioni del BIOS, oppure attraverso una modalità più evoluta.
/dev/disk/ide/cdx/raw
Fa riferimento a tutto il CD-ROM collocato nel lettore corrispondente alla lettera x.
/dev/disk/bios/fdx/raw
Fa riferimento a tutto il dischetto collocato nell'unità corrispondente alla lettera x.
/dev/misc/com/n
Fa riferimento alla porta seriale n.
/dev/misc/ps2aux
Fa riferimento al mouse PS/2.

Utenze

Una volta riavviato il sistema senza più i dischetti, appare una richiesta di identificazione, secondo il modo tradizionale dei sistemi Unix, ma di tipo grafico. Inizialmente sono disponibili due utenti: root, associato alla parola d'ordine root, e guest, associato alla parola d'ordine guest. Naturalmente il primo utente è l'amministratore, mentre il secondo rappresenta il solito utente comune.

La creazione di utenze nuove può avvenire attraverso il programma Users (si osservi l'iniziale maiuscola), accessibile dal menù {System}, alla voce {Users}. Il programma guida in pratica alla compilazione del file /etc/passwd, ma manca la possibilità di creare dei gruppi, pertanto per questo occorre intervenire in modo manuale.

Users[Invio]

Nel file /etc/passwd, il campo della parola d'ordine cifrata è ottenuto attraverso l'algoritmo MD5 e nelle prime versioni di Syllable (come di AtheOS) occorreva generarla attraverso il programma crypt:

crypt evviva[Invio]

Password: '$1$$Pu4nMUbz1apLvoCuSUX9e.'

L'esempio mostra in che modo si potrebbe ottenere la stringa cifrata corrispondente alla parola d'ordine «evviva».

Si suppone di avere creato l'utente tizio e il gruppo tizio come dagli estratti seguenti che si riferiscono rispettivamente ai file /etc/passwd e /etc/group:

tizio:$1$$Pu4nMUbz1apLvoCuSUX9e.:1000:1000:Tizio Tizi:/home/tizio:/bin/bash
tizio:*:1000:

A questo punto è necessario predisporre anche la directory personale di questo utente tizio, partendo convenientemente da una copia di quella dell'utente guest, sistemando la proprietà di file e directory:

cd /home[Invio]

cp -Rv guest tizio[Invio]

chown -R tizio: tizio[Invio]

Si osservi che tutte queste modifiche sono avvenute facendo riferimento alle collocazioni convenzionali di un sistema Unix, ma in pratica, directory come /home/ e /etc/, sono in realtà dei collegamenti simbolici che puntano a una struttura contenuta all'interno di /boot/atheos/. Come già accennato, questi collegamenti, così come la directory /dev/, scompaiono dal file system quando il sistema operativo si arresta. In pratica, è come dire che il file system principale viene creato nella memoria centrale e su di esso, precisamente nella directory /boot/, viene innestato il file system contenuto nel disco.

Installazione dei pacchetti applicativi

Syllable (come anche AtheOS) ha un proprio modo di gestire le applicazioni, che dovrebbe consentire un'installazione e una rimozione relativamente semplici, senza l'uso di un sistema di tracciamento come avviene nei sistemi GNU comuni. In pratica, un programma realizzato appositamente per Syllable dovrebbe poter essere copiato così come si trova (con la sua struttura di sottodirectory), in qualunque punto del file system, per risultare funzionante. Ovviamente ci può essere il problema del percorso di avvio degli eseguibili, ma a parte questo, il programma dovrebbe essere in grado di trovare tutto quello che lo riguarda senza altri problemi.

Naturalmente, questo tipo di idea è buona, ma non va d'accordo con le convenzioni dei programmi realizzati per i sistemi Unix comuni, che invece richiedono di essere installati secondo la gerarchia di directory tradizionale, mescolando tra loro i vari file.

Per compensare questo problema, quando si installano pacchetti applicativi che sono stati adattati per Syllable, occorre seguire una procedura particolare. Supponendo di voler installare il pacchetto contenuto nell'archivio mc-4.1.bin.1.tgz, che si trova nella directory /tmp/, si procede con l'estrazione a partire dalla directory /usr/:

cd /usr[Invio]

tar xzpvf /tmp/mc-4.1.bin.1.tgz[Invio]

L'estrazione del pacchetto crea una sottodirectory a partire da /usr/, che probabilmente ha lo stesso nome del pacchetto (mc/ in questo caso). Osservato questo si usa il programma pkgmanager, con l'opzione -a e il percorso della directory che riguarda il pacchetto:

pkgmanager -a /usr/mc[Invio]

Volendo invece disinstallare un pacchetto del genere, si elimina prima la sua directory, quindi si usa pkgmanager con l'opzione -r, per togliere tutti i riferimenti che prima lo rendevano compatibile con il sistema di Syllable:

rm -r /usr/mc[Invio]

pkgmanager -r /usr/mc[Invio]

Riferimenti


1) Syllable (kernel)   GNU GPL

2) AtheOS (kernel)   GNU GPL

«a2» 2013.11.11 --- Copyright © Daniele Giacomini -- appunti2@gmail.com http://informaticalibera.net