nanoDos

nanoDos è una sorta di distribuzione FreeDOS (per architettura x86-16), finalizzata all'utilizzo di qualche servizio di rete essenziale, basata sull'uso delle librerie WATTCP.

Il software contenuto nella distribuzione ha licenze di vario tipo; in ogni caso si intende che il software sia utilizzabile gratuitamente senza limitazioni. Il lavoro di realizzazione della raccolta nanoDos è semplicemente di pubblico dominio e offerto senza alcuna garanzia e senza sostegno di alcun tipo.

Organizzazione della distribuzione

La distribuzione è composta da un file-immagine, da usare per riprodurre il dischetto di avvio, e da una serie di file con estensione .zip, da estrarre successivamente all'installazione del contenuto del dischetto di avvio.

Il dischetto di avvio che si ottiene dal file-immagine appena descritto, può essere usato così come si trova, senza installarlo, ma in tal caso è disponibile solo il sistema operativo e un programma per l'accesso a un servente TELNET.

Per la precisione sono disponibili due file-immagine: uno adatto per dischetti da 1 440 Kibyte (da 90 mm, ovvero da 3,5 in) e uno per i vecchissimi dischetti flessibili da 1 200 Kibyte (da 133,35 mm, ovvero da 5,25 in). I nomi dei file sono rispettivamente boot.144 e boot.120. Tanto per richiamare la memoria, in un sistema GNU/Linux è possibile riprodurre il dischetto con uno dei due comandi seguenti:

cp boot.144 /dev/fd0[Invio]

cp boot.120 /dev/fd0[Invio]

I file con estensione .zip contengono degli applicativi, suddivisi in modo da occupare ognuno una directory separata. Questi file possono essere usati dopo che il contenuto del dischetto di avvio è già stato installato nel disco fisso, per installare le applicazioni rimanenti.

Installazione

Una volta realizzato il dischetto di avvio adatto al proprio elaboratore, lo si può utilizzare per l'avvio del sistema operativo, con il quale si può procedere a predisporre la partizione del disco fisso che deve accoglierlo. Il dischetto non deve essere protetto contro la scrittura, perché durante il funzionamento vengono creati dei file temporanei.

Il sistema avviato da dischetto si presenta nello stesso modo in cui si presenterebbe una volta installato nel disco fisso, mostrando un menù di funzioni disponibili, che in realtà sono quasi tutte assenti.

Una volta avviato il dischetto, se necessario, si può usare il programma FDISK.EXE per creare le partizioni; successivamente occorre inizializzare la partizione che deve accogliere il sistema con il programma FORMAT.EXE:

A\> FORMAT C: /S[Invio]

Fatto questo, si passa alla copia del dischetto, tale e quale, nel disco C::

A\> XCOPY A:\*.* C:\*.* /E /S /H /V[Invio]

Se tutto va bene, si può riavviare e vedere che il sistema parte regolarmente dal disco fisso. Se le cose stanno così, si possono copiare i file .zip in alcuni dischetti, per estrarli successivamente con un comando del genere:

C\> UNZIP A:\*.ZIP[Invio]

Per ogni file .zip, si deve ottenere una directory corrispondente che parte dalla radice del disco fisso, con lo stesso nome, ma senza l'estensione .zip.

Se tutto questo funziona con successo, il sistema nanoDos è pronto.

Configurazione

Per configurare nanoDos è necessario modificare il file \AUTOEXEC.BAT.

Inizialmente vengono definite alcune variabili di ambiente che contengono le informazioni necessarie alla gestione del TCP/IP e dell'interfaccia di rete:

...
set MY_IP=172.21.4.1
set NETMASK=255.255.0.0
set GATEWAY=172.21.254.254
set NAMESERVER=172.21.254.254
set HOSTNAME=nanodos

set NIC_DRIVER=\crynwr\ne2000.com
set NIC_IRQ_SOFT=0x7e
set NIC_IRQ=0x0b
set NIC_IO=0x300
...

Come si intende, le variabili di ambiente con il nome che corrisponde al modello NIC_* servono alla configurazione relativa all'interfaccia di rete. In condizioni normali è previsto l'uso di una scheda NE2000, attraverso il programma \CRYNWR\NE2000.COM, configurata in modo da usare l'indirizzo IRQ 11 (0B16) e l'indirizzo I/O 30016; inoltre viene specificato l'uso dell'indirizzo IRQ 7E16 per la comunicazione con le applicazioni. Naturalmente bisogna conoscere come è configurata la propria scheda e se necessario si devono usare i programmi appropriati per configurarla come si desidera.

Le variabili di ambiente precedenti a queste dichiarano l'indirizzo IP dell'elaboratore, la maschera di rete, il router per le altre reti, il servente per la risoluzione dei nomi e il nome dell'elaboratore stesso. Più avanti nel file \AUTOEXEC.BAT queste variabili vengono usate per costruire i vari file di configurazione necessari ai programmi che usano la rete.

Tabella u90.2. Variabili di ambiente usate per la configurazione della rete.

Variabile Esempio Descrizione
MY_IP
172.21.4.1 Indirizzo IPv4 dell'elaboratore.
NETMASK
255.255.0.0 Maschera di rete.
GATEWAY
172.21.254.254 Router per le altre reti.
NAMESERVER
172.21.254.254 Servente DNS.
HOSTNAME
nanodos Nome dell'elaboratore.
NIC_DRIVER
\CRYNWR\NE2000.COM Programma per la gestione della scheda di rete.
NIC_IRQ_SOFT
7E16, 12610 Indirizzo IRQ usato per comunicare con le applicazioni (rimane fisso).
NIC_IRQ
0B16, 1110 Indirizzo IRQ dell'interfaccia di rete (dipende dalla configurazione dell'interfaccia).
NIC_IO
30016, 76810 Indirizzo I/O dell'interfaccia di rete (dipende dalla configurazione dell'interfaccia).

Nel file \AUTOEXEC.BAT si può intervenire anche per modificare la mappa della tastiera, che secondo la configurazione predefinita è quella italiana; diversamente si può usare a mano il programma KEYB.EXE:

...
\freedos\keyb it,850,\freedos\key\it.kl
...

Eventualmente, c'è da considerare la configurazione del mouse, che inizialmente è predisposta per un mouse PS/2. Per intervenire in questo occorre modificare il file \MOUSE.BAT, eventualmente così per usare un mouse seriale collegato alla prima porta (COM1:):

REM Serial mouse at COM1:
\driver\ctmouse.exe /S1
REM PS2 mouse
REM \driver\ctmouse.exe /P

Se poi si vuole utilizzare un elaboratore i386 o superiore, può essere conveniente modificare anche il file \CONFIG.SYS, in modo da abilitare l'uso di HIMEM.SYS:

files=100
buffers=25
dos=HIGH,UMB
REM country=039,,\freedos\country.sys
lastdrive=z
SHELL=COMMAND.COM /E:2048 /P
STACKS=9,256
device=\driver\himem.exe
REM device=\driver\emm386.exe

Si osservi che queste modifiche vanno apportate anche sul dischetto, se si intende usare il sistema minimo senza installarlo nel disco fisso.

Utilizzo

Una volta avviato il sistema operativo, dopo una breve schermata di avvertimento sulla mancanza assoluta di garanzie, appare un menù che riepiloga l'uso dei programmi principali.

Figura u90.6. Menù di nanoDos.

.-----------------------------------------------------------------------------.
|LYNX host                 |Simple HTTP navigator.                            |
|ARACHNE http://host/...   |Graphic HTTP navigator for i386.                  |
|SSH user host             |SSH 1 client.                                     |
|TELNET host               |TELNET client.                                    |
|FTP host                  |FTP client.                                       |
|TALK user@host            |Call a user at a specified host.                  |
|TALK -a                   |Ready to receive a TALK call.                     |
|PING host                 |Ping to host.                                     |
|NSLOOKUP domain           |Domain resolution.                                |
|NSQUERY -d domain         |Domain resolution with more infos.                |
|TROUTE host               |Trace the route to host.                          |
|FINGER [user]@host        |FINGER client.                                    |
|LPR [queue] host file     |Print the local file to the remote printer.       |
|LPQ -Pqueue -Shost        |Query remote printer queue.                       |
|TCPINFO                   |See network configuration.                        |
|--------------------------|--------------------------------------------------|
|MENU                      |Recall this menu.                                 |
|--------------------------|--------------------------------------------------|
|[Ctrl]+[Alt]+[Del]        |Restart the computer.                             |
`-----------------------------------------------------------------------------'

Si osservi che Arachne funziona soltanto in un sistema i386 o superiore, dove deve essere stato abilitato l'uso di HIMEM.SYS; inoltre non è molto stabile.

Conclusione

nanoDos è un sistema abbastanza fragile, con il quale ogni tanto si può essere costretti a riavviare l'elaboratore, ma può consentire l'uso efficace di vecchie macchine, sia a scopo didattico, sia a scopo professionale, se ciò che serve è un terminale senza pretese.

Il senso di questo lavoro sta soprattutto nell'organizzazione della configurazione. Da quanto fatto, se si conosce il sistema operativo, è facile realizzare una riduzione che si adatti meglio alle proprie esigenze.

Riferimenti

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