Mostrando entradas con la etiqueta FreeDOS. Mostrar todas las entradas
Mostrando entradas con la etiqueta FreeDOS. Mostrar todas las entradas

lunes, 16 de octubre de 2017

¿Cómo uso un emulador de diskettes floppy en Ubuntu?

Juan Perón habla sobre los predicamentos que necesitamos contabilizar en nuestra acción de Conducción, a la vez que explica cómo utilizar un emulador de disquetes 3 1/2 pulgadas y 1,44MB para memoria Flash Gotek en Ubuntu.


¡Trabajadores!

Siempre que puedo doy consejos que pueden servir a todos en su vida diaria, a fin de lograr el sano bienestar y la felicidad que merecemos por justo derecho. La Conducción tiene un espacio, pero sobre todo, tiene un tiempo. El dominio de esta dimensión temporal es imprescindible también para el éxito de nuestra Lucha. El tiempo puede manejarse, pero ello requiere un cabal conocimiento de las técnicas necesarias.
Así como el nuestro no es un Partido sino un Movimiento, debemos reconocer también en el hardware informático ciertas particularidades. Estos equipos computados no son en exclusiva propiedad de los sistemas de la información, sino que pueden y son empleados en una amplia variedad de recursos. Por tal motivo no es extraño actualmente encontrar electrónica de consumo dentro de máquinas de tejer o bordar eléctricas, etiquetadoras de volumen, fresadoras CNC, instrumentos musicales electrónicos, etc.
Contar con el último hardware es una bendición, pero también hemos estar en condiciones de contemplar el uso de hardware más veterano, que podría ser de dificultoso o costoso recambio. En ocasiones, podremos encontrarnos que no podemos reemplazar al hardware viejo así como así... Y en otras ocasiones no querremos hacerlo por un humano sentido de cariño dispensado hacia las máquinas.

Como Conductor, puedo decirles que - siempre y cuando nuestras capacidades técnicas y ganas lo permitan - podemos continuar usando hardware del ayer. Uno ha de prever los naturales inconvenientes que hacer esto representa, pero en ocasiones lo veremos ampliamente justificado.

Uno de los inconvenientes intrínsecos consiste en el de la obsolescencia de los medios de almacenamiento, ya sea por la dificultad de conseguirlos, o por el natural deterioro de sus partes móviles. Muchos equipos industriales presentan unidades de disquete como medio de almacenamiento y control de sus funciones, y si bien tales aparatos operan adecuadamente dentro de sus parámetros de mantenimiento (tal vez pensados para varias décadas de trabajo), sus unidades de disco son las que se encuentran obsoletas.

La computación llamada "retro" también suele responder a los mismos esquemas, ya sea operativo real o puramente de coleccionismo aficionado.

En la política es necesario conocer la historia para llegar a un buen puerto en cualquiera de los quehaceres que podamos emprender, y en el caso de los sistemas computados, esta también será práctica como base para apreciar. Hemos de saber que las unidades de discos rígido u ópticos actuales emplean el estándar Serial ATA desde el año 2004, pero en equipos de antaño (1986 en adelante) se empleaba el estándar de conexión IDE de 40 pines (ya no se fabrica). Con anterioridad a ello se usaban una variedad de estándares MFM que requería placas controladoras especiales. Esto hace que los discos ópticos CD-ROM constituyan una opción viable para equipos desde mediados de los 90s dotados de tales lectoras, pero no para todo tipo de equipos. Estas unidades lectoras sufren el mismo problema de estándares, y las de conexión IDE se dejaron de fabricar hace tiempo.

La posibilidad de aplicación en estos caso es la de recurrir a los disquetes, medios de almacenamiento portátiles de bajo costo, tradicionales en dicha era. Se trata de discos magnéticos de ánima flexible orientados al transporte físico de los datos; desde principios de los 80s se popularizaron los discos de 5 1/4 pulgadas (de varias capacidades hasta su definitiva en la IBM PC, de 1,2MB). Estos no se utilizaron mayormente en aplicaciones de la industria.
A principio de los 90s los disquetes de 5 1/4" quedaron ampliamente obsoletos. y fueron progresivamente reemplazados por los modelos de 3 ½ pulgadas, con medios de carcasa plástica rígida y con aleta metálica deslizante.

Estas unidades inicialmente permitían una capacidad de 720Kb y en seguida pasan a permitir 1,44MB.
Como conexionado de interfaz a la controladora de discos flexible, estas disqueteras emplean un cable FDC normalizado de 34 pines tipo cinta, junto a un cable de alimentación de 5v a Molex.


Desde el punto de vista lógico en la arquitectura IBM PC pueden emplearse dos unidades por controlador, las cuales reciben la nomenclatura GNU con Linux de /dev/fd0 y /dev/fd1 (A: y B: en MS-DO$ o Window$).

Las unidades capaz de leerlos se hicieron increíblemente populares a partir de 1990 no sólo en la IBM PC, sino que por su tamaño y consumo de 12v estandarizado, se incluyeron en una gran variedad de dispositivos diferentes. Es por ello que son los más requeridos y adecuados para mantener en funcionamiento dicho hardware. Se fabricaron hasta aproximadamente el año 2010, y si bien pueden encontrarse usadas en precios relativamente asequibles y buena condición de funcionamiento, esto no será así por siempre, ya que dependen también de la calidad de los medios, que ya no se fabrican.

Debemos tener en cuenta también que a principios de la década del 2000 aparecieron las disqueteras externas de 3 1/2" con interfaz USB, capaces de operarlos en los entornos munidos de este dispositivo, pero estas no son capaces de operar en sistemas que no estan dotados de esta interfaz aparecida en 1996 (y recién masificada unos años después).

Los disquetes fabricados entre principios de los 90s y mediados de los 90s - incluso hoy - suelen operar de muy buena forma, pero lamentablemente a partir de mediados de los 90s la calidad de fabricación de los mismos disminuyó drásticamente, al punto de que los discos fabricados a partir del año 2000 suelen tener muy graves problemas de durabilidad, y operar de forma mediocre. Tal vez ello es uno de los motivos por el cual muchos los recuerdan así.

Por tal motivo y para solucionar estos inconvenientes que he expuesto - amén de evitar tirar un hardware viejo por la ventana - es que surgen los emuladores de discos floppy para memorias Flash. Estos aparatos de distintas marcas (Flexidrive, Gotek, Ipcass) vienen dotados con los nombrados conectores traseros normalizados (una toma miniMolex para alimentación e interfaz de 34 pines para floppy) a fin de conectarlos a un dispositivo provisto ya de una controladora de disquetes, y reemplazar finalmente la antigua disquetera.
Básicamente estos aparatos funcionan de la siguiente manera: debemos colocar en el puerto USB un pendrive (no incluido) y luego formatearlo usando particionado MSDOS/FAT. Para ello se emplea funciones incorporadas en el mismo emulador o un programa incluido. Como los pendrives actuales cuentan con mucha más capacidad que los 1,44MB (1,39MiB luego de formateado), el software incluido se encarga de dividir lógicamente la capacidad del pendrive en 99 o 999 particiones (dependiendo el modelo de emulador). Cada una de estas particiones opera como un banco de memoria independiente, y almacena el contenido de un diskette. Una vez insertado este pendrive formateado, y por lo cual por medio de los botones y el display luminoso que el emulador cuenta en su frente, podremos acceder hasta 99 o 999 disquetes virtuales con fin de realizar operaciones de lectura y escritura. Solo podremos "usar" un banco de memoria por vez (salvo que poseamos dos unidades de disquete o emuladores en un sistema).

En este caso particular versaremos sobre un modelo bastante común y tal vez algo antiguo, de la marca "Gotek" (provienen de la República Popular China). A este lo acompaña una documentación mediocre escrita en el idioma de Mao, por lo cual os ilustraré en su uso particular de forma Justicialista. Por ejemplo, algunos modelos de emuladores mas avanzados como el Ipcass realizan particiones  "virtuales" armando directorios o carpetas numeradas, cada una de ellas limitada para almacenar aquel máximo de 1,44MiB. Sin embargo, en este modelo Gotex y varios otros el esquema es más complejo ya que las particiones de imagenes quedan todas unidas en un archivo "img", y además el software provisto para realizar el formateo específico en el pendrive, además de estar en chino, funciona solo en Windows 98 o XP.

Este emulador Gotek sólo soporta el formato IBM/PC de Alta Densidad, 1,44MB MFM (emulando un disquete de 3½ pulgadas). Puede operar en FAT16 (tipo MSDOS) o FAT32 (tipo Window$). No soporta 720kb ni otros formatos como los disponibles en diskettes de 5 1/4 pulgadas, en 1,2MB o 360kB, por lo cual podría fallar en otros equipos que no tengan un controlador de discos flexibles (FDC) "tipo IBM". El FDC de los equipos IBM PC espera que la unidad produzca 300rpm al girar el disco, y produce una señal MFM de 500kbit/s de transferencia, codificando 18 sectores por pista en sincronismo con el esquema estandar IBM. Por tal motivo, esto hace que no existe posibilidad de emular disquetes protegidos contra copia o de instalación tipo DMF, formatos de doble densidad o GCR utilizados en otros equipos diferentes.

Aún así, si lo queremos para reemplazar una disquetera de PC en 1,44MB, no presenta falla alguna.

Formatear el pendrive y preparar su uso

Desde el emulador:

Afortunadamente existe una solución a nivel hardware preprogramada en este emulador Gotek particular que nos evita tener que usar tal software mediocre. Por lo que he evaluado, cualquier pendrive funciona correctamente. Idealmente deben ser de 256MB o mayores, pero no recomiendo muy grandes con este tipo de dispositivo. Si no hay un pendrive conectado, en el display se indica C4. Una vez que insertamos uno indicará C5, luego C6 y finalmente 00.

Para formatear el pendrive en el emulador debemos apagar el equipo, dejar colocado un pendrive en el puerto USB (usaremos un viejo pendrive de 1GB), y reencendemos el equipo mientras mantenemos presionados los dos botones del frente del emulador (el indicado con las flechas → y ←). En pocos segundos nuestro pendrive recibirá el formato FAT requerido. Ello hará que el emulador borre todo contenido que hubiese en el pendrive y lo prepare (indicará progresivamente U01, 126, F01, 00 en el display).

Al formatear el pendrive, el banco 00 recibe el tamaño del pendrive completo (y no funcionará correctamente en este modo, recibiremos errores erráticos de lectura y escritura). De modo que no funciona si queremos usarlo como un medio de almacenamiento mayor a 1,44MB en nuestro viejo sistema. Debemos avanzar el emulador hasta el banco 01 usando el botón →, para pasar al primer disquete virtual en el emulador. Debemos estar atentos a que en este modelo no existe protección de escritura para los discos virtuales (por lo cual el sistema siempre podrá borrar los datos existentes en los floppys virtuales).

Desde GNU con Linux:

Nuevamente, el emulador viene con un software para este menester, pero el mismo está en chino y sólo opera bajo Window$. Por tal motivo, os enseñaré como usar la poderosa aplicación de dd de GNU con Linux para realizar los procedimientos básicos que hace este software. Su uso en GNU con Linux es algo más complejo - naturalmente - pero también mucho más poderoso, con la ventaja de que lo podremos hacer perfectamente con software completamente libre y de bajo nivel.

En los siguientes comandos, emplearemos bloques de datos de 1024 bytes sólo a manera de facilitar los cálculos (los disquetes reales de 1,44MB usan sectores de 512 bytes).

Debemos crear en nuestro disco rígido una imagen "virgen" de 153.600KB (150MB aproximadamente) con cero contenido, llamado imagenesunidas.img. Este tamaño  con el tamaño total adecuado para almacenar todos los 100 bancos de disquetes virtuales en el formato usado por el emulador. Para ello abrimos una Terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

dd if=/dev/zero of=imagenesunidas.img bs=1024 count=153600

...y luego copiamos estos 100 bancos de floppys virtuales unidos al pendrive, a partir de la posición count=1 (lo que representa el inicio físico del pendrive):

dd if=imagenesunidas.img of=/dev/sd? bs=4M


(naturalmente reemplazamos /dev/sd? con la nomenclatura de dispositivo que corresponda a nuestro pendrive, si no la sabemos podemos usar:

sudo fdisk -l 

...para que el sistema nos liste nuestros dispositivos y ver a cuál letra corresponde el pendrive).


Usar el emulador de diskettes Gotek

Si estamos en GNU con Linux, podremos colocar el pendrive en el emulador de floppys, pasar al banco 01, montarlo, y comenzarlo a usar.

Si estamos en Window$ / FreeDOS / MS-DO$, tal vez queramos formatear el diskette virtual de la posición 01 antes de comenzar a utilizarlo. Para ello indicamos:

format a:

Ya con ello podremos usarla como si se tratara de un disquete común. Podremos hacer lo mismo con el resto de los bancos de disquetes virtuales (hasta el 99). Si quisiéramos hacer un disquete virtual de arranque, el comando bajo MS-DO$ o FreeDOS sería:

format a: /s


Escenario 2: Tenemos una disquetera funcional real y queremos crear archivos de imágenes a partir de disquetes físicos, en GNU con Linux:

Supongamos que tenemos un sistema que cuenta con una disquetera real y disquetes que queremos virtualizar. Para crear un archivo de imagen espejo (img) a partir de estos disquetes físico podremos utilizar:

cat /dev/fd0 > /ruta/a/imagendediskette.img

De esta manera podremos respaldar nuestros viejos disquetes a una serie de archivos de imagen *.img, los cuales podremos guardar en otros medios de almacenamiento (incluyendo el emulador) y asegurar su contenido congelado. Esto sirve independientemente del formato que haya tenido el disquette en sí.

Para hacer el paso inverso y restaurar un disquete a partir de una de estas imágenes *.img, podríamos colocar un disquete virgen en la disquetera e ingresar el siguiente comando de organización:

cat /ruta/a/imagendediskette.img > /dev/fd0



Escenario 3: queremos copiar las imágenes de diskettes al pendrive, para usarlo en el emulador.

Para ello debemos copiar 1.440kB desde imagendediskette.img al fichero de los 100 bancos de memorias (al que habíamos llamado imagenesunidas.img). A estos 1.440KB no debemos ponerlos en cualquier lado, sino en la posición física que tenga el corrimiento correcto (offset). Esta se delimita haciendo el cálculo de 1536 multiplicado por el número de banco de memoria del pendrive que querramos utilizar). La sintaxis del comando sería:

dd if=imagendediskette.img of=imagenesunidas.img bs=1024 count=1440 seek=(1536 x nro. del banco de memoria del emulador) conv=notrunc

Un ejemplo suele aclararlo todo, como decía Napoleón. Supongamos que quisiéramos copiar una imagen llamada floppy1win311.img al archivo de 100 imágenes de discos unidas llamadas imagenesunidas.img, pero lo queremos colocar específicamente en el banco memoria número 5 del emulador. Para ello ingresaríamos debemos usar el offset adecuado en el parámetro "seek", en este ejemplo sería 7680 (1536 por la variable, que es el banco 5, nos da 7680):

dd if=floppy1win311.img of=imagenesunidas.img bs=1024 count=1440 seek=7680 conv=notrunc

...con esto habremos inyectado la imagen del floppy "floppy1win311" en el banco número 5 de las 100 imágenes unidas del pendrive. Acto seguido hemos de copiarlas de nuevo al pendrive, como hicimos al formatear desde GNU con Linux, a través de la siguiente sintaxis:

dd if=imagenesunidas.img of=/dev/sd? bs=4M

Recordemos averiguar cual es la nomenclatura de nuestro pendrive en el sistema, por medio del comando sudo fdisk -l. En nuestro ejemplo, si el pendrive recibe la nomenclatura /dev/sde, entonces el comando de organización sería:

dd if=imagenesunidas.img of=/dev/sde bs=4M

Nota: Al final del artículo os dejaré como anexo los Offsets adecuados que deben indicarse dentro del parámetro "seek" para cada uno de los 99 bancos de memoria.


Escenario 4: queremos respaldar las 100 imágenes unidas desde un pendrive USB

En GNU con Linux, enviamos el siguiente comando para respaldar las 100 imágenes de disquetes desde el pendrive nomenclado /dev/sd? a respaldodelasimagenes.img

dd if=/dev/sd? of=respaldodelasimagenes.img bs=1024 count=153600


Escenario 5: Si queremos sólo respaldar uno de los bancos de memoria del pendrive del emulador a un archivo de imagen

Supongamos que queremos crear un archivo de imagen llamado disketteespecifico.img, entonces anotamos el banco de memoria en donde estaba, colocamos el pendrive en nuestro sistema GNU con Linux e ingresamos:

dd if=/dev/sd? of=disketteespecifico.img bs=1024 count=1440 skip=(1536 x nro. de banco de memoria del emulador)


Escenario 6: Queremos reemplazar un disquete virtual específico dentro de la imagen unida de 100 disquetes dentro del pendrive USB.

Esto lo podemos hacer directamente bajo GNU con Linux si sabemos el banco específico que queremos reemplazar. Debemos usar la siguiente sintaxis:

dd if=undisquete.img of=/dev/sd? bs=1024 count=1440 seek=(1536 x  nro. de banco de memoria del emulador)


Escenario 7: Queremos generar un nuevo disco floppy, copiarle un archivo, y escribir dicho fichero en uno de los bancos de memoria del emulador.

Ahora bien, si quisiéramos crear una imagen de un disquete virgen de 1,44MB formateado según el sistema de archivo clásico de MS-DOS, pero desde nuestro GNU con Linux, tendríamos que usar:

mkfs.msdos -C /ruta/a/imagenvacia.img 1440

...y para montarla en nuestro sistema:

sudo mkdir /media/floppy1/
sudo mount -o loop imagenvacia.img /media/floppy1/



Dentro de la carpeta /floppy1 montada, podremos guardar los ficheros que nos hagan falta, y luego podremos copiar la carpeta entera al banco de memoria deseado del pendrive como ya se ha explicado (sólo debemos tener presente que no podremos superar en esta carpeta los 1.440kB o 1,44MB de almacenamiento).

En resumen, el emulador de discos floppys de 3 ½" en memoria Flash opera adecuadamente a partir del banco de memoria 01 en GNU con Linux, y también operan excelentemente bajo MS-DOS 6.22, Windows 3.1, Windows 95, y FreeDOS. Si bien los programas incluidos no son prácticos, gracias a estas líneas de comando podrán almacenar en un pendrive una buena cantidad de archivos de imágenes. En mi caso he copiado las imagenes de MS-DOS 6.22 en castellano junto con las de Windows 3.11 en castellano.

Os incluiré los valores de desvío (Offset) que debemos indicar como variable del argumento "seek" para acceder a cada banco de memoria del emulador. Junto a cada banco podremos también anotar

Banco Offset (Decimal)
0     0
1
     1536
2
     3072
3
     4608
4
     6144
5
     7680
6
     9216
7
     10752
8
     12288
9
    13824
10
   15360
11
   16896
12
    18432
13
    19968
14
   21504
15
    23040
16
   24576
17
   26112
18
   27648
19
    29184
20
   30720
21
   32256
22
   33792
23
   35328
24
   36864
25
   38400
26
   39936
27
   41472
28
   43008
29
   44544
30
   46080
31
   47616
32
   49152
33
   50688
34
   52224
35
   53760
36
   55296
37
   56832
38
   58368
39
   59904
40
   61440
41
   62976
42
   64512
43
   66048
44
   67584
45
   69120
46
   70656
47
   72192
48
   73728
49
   75264
50
   76800
51
   78336
52
   79872
53
   81408
54
   82944
55
   84480
56
   86016
57
   87552
58
   89088
59
   90624
60
   92160
61
   93696
62
   95232
63
   96768
64
   98304
65
   99840
66
   101376
67
   102912
68
   104448
69
   105984
70
   107520
71
   109056
72
   110592
73
   112128
74
   113664
75
   115200
76
   116736
77
   118272
78
   119808
79
   121344
80
   122880
81
   124416
82
   125952
83
   127488
84
   129024
85
   130560
86
   132096
87
   133632
88
   135168
89
   136704
90
   138240
91
   139776
92
   141312
93
   142848
94
   144384
95
   145920
96
   147456
97
   148992
98
   150528
99
   152064

martes, 10 de noviembre de 2015

¿Cómo instalo FreeDOS con red en un equipo antiguo?

Nuestro Movimiento ha decidido proclamar los Derechos de la Ancianidad sobre una base de entendimiento en la cual los grandes han de aportar aún a la Comunidad Organizada la sabiduría y la experiencia que han ganado justamente en la vida, y que la misma ha de ser reconocida y recompensada en Justicia Social.
Los Derechos del Trabajo nos ha permitido llevar los logros de la Nación a sus hijos, pero son nuestros ancianos quienes están más desprotegidos. Son ellos a quienes hemos de mirar con el orgullo del trabajo realizado, enmarcados en la cristiana noción de la Justicia Social.

Pero no solo los hombres y mujeres han de ser reconocidos: en el pasado nuestro hardware se encontró también en una realidad de atraso e ignominia. Por ejemplo, nos hemos encontrado frente a un comercio farmacéutico que empleaba tres viejos equipos ciclónicos PC 386DX y 486SX con el obsoleto M$-DO$ para tareas de control de stock, terminales de venta y facturación. Estos equipos en particular contaban con discos rígidos más de 20 años de uso ininterrumpido, demostrando una excelente disponibilidad, pero bajo una marcadísima obsolescencia técnica.
Lo lógico hubiese sido reemplazar dichas terminales con hardware nuevo hace muchos años, pero aunque ello configure un milagro, los ruidosos discos rígidos funcionaban bien, y estaban dotados con un muy eficiente software preparado "a medida" para las necesidades del comercio, y del cual se disponía del código fuente en Borland Turbo Pascal 5. La rotura de fuente, monitor y memorias por un shock eléctrico hizo patente la necesidad del esperado recambio.

El hardware nuevo muchas veces carece de la durabilidad del de antaño, y en este caso implementar M$-DO$ en un equipo de factura actual es imposible.

El M$-DO$ (Sistema Operativo de Disco de Micro$oft) era un sistema operativo capaz de operar desde diskettes con computadoras personales tipo IBM, originalmente sin disco rígido y con bastante menos de un 1 Megabyte de memoria RAM. A lo largo de sus versiones incorporó mejoras que hicieron factible el arranque desde disco duro y el uso de cantidades un poco mayores de memoria, por medios de extensiones de software, finalizando su distribución con la versión 6.22 de 1994.

Se nos solicitó y nos impusimos como misión armar un equipo capaz de ejecutar el viejo programa escrito especialmente bajo M$-DO$, y ser capaz de operar junto con equipos nuevos, dotados con software libre.

El peronismo ha de ser capaz de enfrentar todas las situaciones con software libre y ningún desafío ha de amilanarnos, por lo tanto encaramos la tarea de una forma que puede resultar un ejemplo para mantener un programa a medida en un entorno algo más moderno, o nos puede servir para poner a punto un equipo obsoleto para tareas de experimentación o (pa)ludismo arqueológico. Para ello nuestra doctrina ha previsto la solución: FreeDOS.

FreeDOS es un sistema operativo libre, ampliamente compatible con el clásico sistema operativo M$-DO$, con la ventaja de contar con un estadío de desarrollo continuado y licencia GPL.
FreeDOS sigue la línea abandonada por Micro$oft con nuevas aplicaciones libres, y ha recibido algunas mejoras que lo hacen más útil con equipos nuevos. Por ejemplo, tiene mejor soporte de dispositivos USB (teclados y ratón), unidades de disco nuevas (el DO$ original tenía problemas con discos rígidos mayores a los 2GB), y mejor soporte de red, en el cual M$-DO$ casi no tenia. Además, puede operar en equipos antiguos o nuevos.

El Hardware

En primer lugar montamos un equipo "Mazinger Z" con hardware de descarte  previamente obsoleto, al que daremos vida con el sistema operativo libre FreeDOS. El sentido de esto es poder utilizar viejos componentes para estudio y recuperación de datos de trabajo almacenados en el extinto 386SX (para poder instalarle los viejos discos rígidos de norma IDE, así como salvaguardar la información de diskettes con el programa a medida original, y su código fuente en Turbo Pascal).

La base la proveerá un gran circuito PC Chips M748LMRT con chipset SiS de tres lustros atrás, y un gabinete con fuente de potencia AT/ATX nueva.
La placa base era mediocre para utilizar Window$, pero es excelente para sistemas operativos similares a M$-DO$ pues cuenta con Socket 370 y Slot1 para distintos microprocesadores que pudiésemos encontrar. El video integrado Super VGA es SiS 5595, y el sonido SiS compatible con el estándar Sound Blaster 16 (todo se conecta al mother con los incómodos pero duraderos cables tipo ribbon, los cuales higienizamos). Le montamos un microprocesador Intel Celeron de 533Mhz con 384MB de memoria RAM PC100 de la era y su ventilador asociado nuevo. Tal potencia computacional, insuficiente para otros sistemas operativos actuales, supera sin embargo entre seis y ocho veces la de los equipos originales del comercio, y es óptima para FreeDOS.
Le conectamos también dos discos rígidos IDE de gran veteranía: un Maxtor de 10GB (cantidad estrafalaria para DOS) y un Seagate de 2GB montado en un Carry IDE extraíble (en frío). Esto nos permitirá recuperar información de los viejos discos rígidos desde FreeDOS sin problema alguno.
Como medios extraíbles previmos una grabadora IDE de DVD-ROM, pero al no tener una a mano nos conformamos con una lectograbadora de CD-ROM IDE Benq. Las estrellas de la ancianidad fueron dos unidades de diskette Nec de revisado y excelente desempeño mecánico, tanto en 5 1/4" (1,2MB) como 3 1/2" (1,44MB). Para poder utilizar la red y conectarnos a internet, hemos de instalarle al Mazinger Justicialista una placa de red de descarte, pues la placa madre en esa ‚época tenía Ethernet integrada pero carecemos de su bracket correspondiente. Colocamos en el slot PCI una placa de red PCI Realtek RTL8139. Lamentablemente - como todo hardware de red bajo FreeDOS - habremos que configurarlo "a mano" luego de instalar el sistema operativo en el disco rígido.

Creación del CD de Instalación de FreeDOS 1.3

Para mayor facilidad, será necesario contar con un segundo equipo que disponga de conexión a internet y de una grabadora de CD-ROM (cualquier equipo con Ubuntu vendrá bien). Necesitaremos dos discos compactos vírgenes para grabar en uno el instalador del sistema operativo FreeDOS, y en el otro los controladores y aplicaciones necesarias y otras que se nos ocurran.

Para descargar el archivo de instalación de FreeDOS 1.1 haremos uso del equipo GNU, abrimos una terminal con Ctrl+Alt+T e ingresar el siguiente Comando de Organización:

cd ~/Descargas/
wget https://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/distributions/1.3/official/FD13-LiveCD.zip ;
unzip
FD13-LiveCD.zip

Esto descargará un archivo ISO (imagen espejo de un CD) de unos 419 megabytes en total, llamado FD13LIVE.iso, el cual utilizaremos para grabar el CD booteable de instalación. Para ello insertamos uno de los CD virgen en la grabadora del equipo Ubuntu, vamos a la carpeta /Descargas, hacemos clic con el botón derecho del ratón sobre el archivo FD13LIVE.iso recién descargado, y elegimos la opción "Abrir con el grabador de discos Brasero".
Se abrirá el cuadro de diálogo Opciones de grabación de imagen, y para iniciarla presionamos el botón Grabar. El proceso de la creación del CD-ROM de instalación de FreeDOS quedará listo en unos pocos segundos.
Si nuestro sistema no pudisese arrancxaar desde un disco CD-ROM, bien podríamos grabar la imagen de diskette incluida en un disco de arranque. Esto se realizaría con:
 
dd if=/home/usuario/Descargas/FD13BOOT.IMG of=/dev/fd0

Como he referido, a diferencia de los sistemas similares a UNIX, la PC original y su sistema operativo M$-DO$ carecían totalmente de soporte de redes. FreeDOS mejora tal premisa, pero aún así nos será imprescindible descargar toda una serie de miniprogramas para redes de modo de poder enlazar el sistema FreeDOS telemáticamente. Este tipo de miniprogramas los descargaremos de internet empleando el equipo Ubuntu y los grabaremos en otro CD auxiliar que podremos utilizar en el equipo FreeDOS.

La búsqueda de los mismos sería algo incómodo y tedioso, pero afortunadamente al emplear el equipo peronista con Ubuntu podremos descargar todo desde la Terminal introduciendo el siguiente bloque de comandos:

mkdir ~/cddos/ ~/cddos/ssh2dos/ ~/cddos/mtcp/  ~/cddos/wattcp/ ~/cddos/nicscan/ ~/cddos/ndis2pd/ ~/cddos/msclient/ ~/cddos/zip/ ~/cddos/mouse/ ~/cddos/minuet/ ;

cd ~/cddos/nicscan/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/nicscan.zip ;
unzip nicscan ;

cd ~/cddos/ssh2dos/ ;
http://sourceforge.net/projects/sshdos/files/ssh2dos-bin/0.2.1/ssh2021b.zip ;
unzip ssh2021b.zip ;

cd ~/cddos/wattcp/ ;
wget http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/net/wattcp/wat2001b.zip ;
unzip wat2001b.zip ;
cd ~/cddos/wattcp/apps/ ;
unzip apps.zip ;

cd ~/cddos/mtcp/ ;
wget http://www.brutman.com/mTCP/mTCP_2020-03-07.zip ;
wget http://www.brutman.com/mTCP/mTCP_2020-03-07.pdf ;

unzip mTCP_2015-07-05.zip ; 

cd ~/cddos/ndis2pd/ ;
wget http://www.shikadi.net/files/network/ndis2pd/dis_pkt9.zip ;
unzip dis_pkt9.zip ;

cd ~/cddos/mouse/ ;
wget http://www.kompx.com/soft/dos/drivers/mouse/mouse.com ;

cd ~/cddos/msclient/ ;
wget http://www.kompx.com/soft/dos/networking/msnc/3.0/msnc3.0.rar ;
rar x msnc3.0.rar ;

cd ~/cddos/zip/ ;
wget http://www.kompx.com/soft/dos/archivers/pkzip/PKZIP.EXE ;
http://www.kompx.com/soft/dos/archivers/pkzip/PKUNZIP.EXE ; 

cd ~/cddos/arachne/ ;
wget https://www.lazybrowndog.net/freedos/virtualbox/downloads/sources/A197GPL.ZIP ;
unzip A197GPL.ZIP ;

cd ~/cddos/minuet/ ;
wget http://www.fdisk.com/doslynx/minuet/minarc18.exe ;

Esto nos habrá creado en nuestra carpeta de usuario una carpeta denominada /cddos, en la cual habrá descargado los programas mas importantes para establecer una conexión por LAN/Ethernet. También nos será imprescindible contar en dicho CD con los controladores de paquetes para nuestro dispositivo de red. A tal fin podremos descargar todos los controladores de paquetes pegando en la Terminal de Ubuntu el siguiente bloque de comandos (que también podremos encontrar en pastebin):

cd ~ ;
mkdir ~/cddos/ ;
mkdir ~/cddos/drvlan/ ~/cddos/drvlan/3com ~/cddos/drvlan/accton/ ~/cddos/drvlan/accton/acc/ ~/cddos/drvlan/accton/pep/  ~/cddos/drvlan/amd/  ;
mkdir ~/cddos/drvlan/brdcm ~/cddos/drvlan/brdcm/b57/ ~/cddos/drvlan/brdcm/b44/ ~/cddos/drvlan/brdcm/bx2/ ~/cddos/drvlan/dlink/ ~/cddos/drvlan/icplus/ ;
mkdir ~/cddos/drvlan/intel/ ~/cddos/drvlan/intel/e100/ ~/cddos/drvlan/intel/e100odi/  ~/cddos/drvlan/linksys/ ~/cddos/drvlan/amd/pcnet/ ~/cddos/drvlan/amd/netodi/ ;
mkdir ~/cddos/drvlan/linksys/eg1031v2/ ~/cddos/drvlan/linksys/eg1031v3/ ~/cddos/drvlan/marvel/ ~/cddos/drvlan/novell/ ;
mkdir ~/cddos/drvlan/nvidia/ ~/cddos/drvlan/sis/ ~/cddos/drvlan/rtl/ ~/cddos/drvlan/rtl/rtspkt/ ~/cddos/drvlan/rtl/pcipkt/ ;
mkdir ~/cddos/drvlan/sysconn/ ~/cddos/drvlan/via/ ;

cd ~/cddos/drvlan/3com/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/3c90xpd.zip ;
unzip 3c90xpd.zip ;
cd ~/cddos/drvlan/accton/acc/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/accpkt.zip ;
unzip accpkt.zip ;
cd ~/cddos/drvlan/accton/pep/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/pepktdrv.zip ;
unzip pepktdrv.zip ;
cd ~/cddos/drvlan/amd/pcnet/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/pcntpk.zip ;
unzip pcntpk.zip ;
cd ~/cddos/drvlan/amd/netodi/ 
wget http://www.georgpotthast.de/sioux/pktdrv/pcnetodi.zip ;
unzip pcnetodi.zip ;
cd ~/cddos/drvlan/brdcm/b57/
wget http://www.georgpotthast.de/sioux/pktdrv/b57.zip ;
unzip b57.zip ;
cd ~/cddos/drvlan/brdcm/b44/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/b44.zip ;
unzip b44.zip ;
cd ~/cddos/drvlan/brdcm/bx2/
wget http://www.georgpotthast.de/sioux/pktdrv/bx2.zip ;
unzip bx2.zip ;
cd ~/cddos/drvlan/dlink/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/dlkfet.zip ;
unzip dlkfet.zip ;
cd ~/cddos/drvlan/icplus/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/ip100pd.zip ;
unzip ip100pd.zip ;
cd ~/cddos/drvlan/intel/e100/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/e100bpkt.zip ;
unzip e100bpkt.zip ;
cd ~/cddos/drvlan/intel/e100odi/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/e1000odi.zip ;
unzip e1000odi.zip ;
cd ~/cddos/drvlan/linksys/eg1031v3/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/eg1032v3.zip ;
unzip eg1032v3.zip ;
cd ~/cddos/drvlan/linksys/eg1031v2/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/1032odi.zip ; 
unzip 1032odi.zip ;
cd ~/cddos/drvlan/marvel/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/yukodi.zip ; 
unzip yukodi.zip ;
cd ~/cddos/drvlan/novell/
wget http://www.georgpotthast.de/sioux/pktdrv/ne2000.zip ;
unzip ne2000.zip ;
cd ~/cddos/drvlan/nvidia/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/nvodi.zip ;
unzip nvodi.zip ;

cd ~/cddos/drvlan/rtl/pcipkt/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/pcipkt.zip ;
unzip pcipkt.zip ;
cd ~/cddos/drvlan/rtl/rtspkt/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/rtspkt.zip ;
unzip rtspkt.zip ;
cd ~/cddos/drvlan/sis/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/sis900.zip ;
unzip sis900.zip ;
cd ~/cddos/drvlan/sysconn/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/sk98odi.zip ;
unzip sk98odi.zip ;
cd ~/cddos/drvlan/via/ ;
wget http://www.georgpotthast.de/sioux/pktdrv/fetpkt.zip ;
unzip fetpkt.zip ;

Asimismo, hemos de descargar las aplicaciones de internet para DOS del programa de conexión WatTCP:

mkdir ~/cddos/utilid/ ;
cd ~/cddos/utilid/ ;
wget https://caja.texto-plano.xyz/peron/progs_pub/dos/appswattcp.rar ;

rar x appswattcp.rar ;

...Ya nos ha quedado creada la estructura de ficheros y carpetas para grabarla el CD auxiliar con el programa Brasero. Podremos ahora aprovechar y agregar a la carpeta /cddos cualquier programa para DOS adicional: juegos, o controladores que quisiéramos tener a mano.

En fin, para grabar el CD-ROM auxiliar colocamos un CD virgen en la grabadora y vamos a Aplicaciones / Sonido y Video / Brasero. Se abrirá el programa, y  haremos clic en el botón Proyecto de datos.

Simplemente hemos de arrastrar las subcarpetas que se encuentran dentro de la carpeta cddos/ al Brasero. Podemos arrastrarlas de a una por vez o hacer todo en un paso si las seleccionamos a todas juntas.
Cuando esté todo listo, podremos presionar el botón Grabar de Brasero y en breves segundos tendremos ya las aplicaciones indeleblemente grabadas en un CD que nos servirá de auxiliar.

Instalación del FreeDOS 1.3

Para comenzar la instalación del sistema operativo en nuestro equipo Mazinger Justicialista, ingresamos a la BIOS del equipo antiguo, y nos aseguramos que detecte los discos rígidos, la lectora de CD-ROM, configuramos las unidades de diskette y establecemos la prioridad de arranque en la unidad CD-ROM. Luego introducimos el CD de instalación de FreeDOS en la lectora de CD-ROM, e iniciamos el sistema desde el CD. Se nos presentarán las opciones del FreeDOS, en las cuales elegiremos Install to Hard Drive ("instalar al disco rígido").
Al iniciar el proceso de instalación, se nos solicitará 1. crear una partición en el disco rígido de instalación (el cual será la unidad "c:\") mediante el programa xFdisk, y luego formatearlo. Para ello elegimos la opción que dice "Prepare the harddisk for FreeDOS by Runnung XFdisk"
XFDisk arrancará con una pantalla de fondo negro que nos solicitará si queremos soporte de discos grande (se refiere a unidades con mas de 2GB). En este caso respondemos y ("si"). Si fuese un equipo AT 286 o anterior, o disponemos un disco rígido con una capacidad inferior a los 2GB, debemos indicar que n ("no").

Elegimos las opciones para crear una partición DOS (opción 1). Identificamos el disco de 10GB y le indicamos el tamaño máximo del disco en MB para la partición (en este caso son aproximadamente 10.000MB por ser un disco de 10GB). En este caso prestamos especial atención a no alterar el otro disco de 2GB que era el disco del extinto 386SX). Luego de creada la partición en el disco de 10GB, elegimos la opción 2 ("set active partition") para activarla en nuestro sistema. Acto seguido presionamos Esc para salir de xFDisk.
Conforme se haya puesta a punto el particionado básico, el instalador nos permitirá elegir 1. Continuar instalación completa del sistema FreeDOS.
Configuramos los datos de teclado e idioma en español, y comenzamos el procedimiento de formateo, que se extenderá por unos cinco minutos (era lo normal en este tipo de discos antiguos de 10GB).
Luego se nos interrogará sobre qué paquetes queremos instalar en el sistema. En caso de tener más de 100MB de disco conviene marcar todos, pues son muy pequeños (menos de 70MB de espacio). Sólo eliminaríamos alguno si tuviésemos que instalar FreeDOS en un equipo tipo XT, AT286 o con un disco rígido limitado o inferior a los 100MB. Presionamos Done.
Para comenzar el copiado de los archivos propiamente dichos, presionamos 1. Start Installation of FreeDOS 1.1 Final.

El copiado de archivos durará unos 20 minutos en este equipo antiguo, aunque es completamente automatizada. Se nos irá informando de los componentes copiados:
A continuación la rutina de instalación nos preguntará si deseamos instalar el gestor de arranque en la partición c: primaria. Es importante indicar que sí para que el sistema operativo pueda arrancar desde el disco rígido.

Luego reiniciamos el sistema, volvemos a entrar a la BIOS e indicamos que arranque desde el disco rígido "ide-0". Si todo marcha sobre ruedas, arrancará el sistema operativo FreeDOS y nos presentará cuatro opciones de acuerdo a cómo queremos gestionar la memoria. Por ahora elegimos la opción 2, que es la más similar a la instalación oficial de M$-DO$ 6.22.
El sistema arrancará presentando el cásico prompt de unidad de disco rígido:

c:\

Los comandos de uso de FreeDOS son similares a los de M$-DO$ y tiene otros más extendidos.

Con el comando a: y b: podemos utilizar las unidades de diskettes, con c: es el disco de FreeDOS, y en este caso con d: pasamos al disco del extinto 386SX que tenemos en el carry IDE. Con el comando e: podemos utilizar la unidad de CD-ROM. En cualquiera de ellos podremos ver su directorio con el comando dir, desplazarnos en el árbol de directorios con cd, cd.. y cd\, copiar archivos con copy, copiar estructuras enteras de directorios y archivos con xcopy, crear directorios con md, etc.

Gracias a ello pudimos ya fácilmente duplicar y respaldar los datos necesarios, cumpliendo parte importante de la misión.

Configuración de FreeDOS para usar Internet:
Para asegurarnos qué tipo de controlador de redes hemos de emplear, podemos dar uso al programa NICSCAN que tenemos en el CD-ROM auxiliar que acabamos de crear. Este miniprograma se encarga de analizar qué interfaz de red instalada en nuestro sistema.

Como la unidad de CD-ROM en este caso es e:\, lo ejecutamos con:

e:\nicscan\nicscan

(si la unidad de CD-ROM fuese d:\ modificamos el comando en consecuencia). El programa nos devolverá algo como:

NICSCAN has determined the following network adapter from reading the PCI Bus:
Bus 0    Device 9    Function 0
PCI Vendor: 10eC = Realtek Semiconductor Co., Ltd.
PCI Device: 8139 = RTL-8139/8139C/8139C+


Esto nos confirma que debemos emplear una controlador de paquetes para placa de red Realtek 8139. Afortunadamente, el controlador de paquetes Realtek lo hemos conseguido en el CD-ROM auxiliar. En este caso, para copiar los controladores de la placa de red desde la unidad e:\ con el CD-ROM auxiliar a nuestro disco rigido c:\ con FreeDOS, usamos los comandos:

md c:\rtspkt
copy e:\drvlan\rtl\rtspkt\*.* \rtspkt\


Y luego copiamos el contenido del CD-ROM entero al disco rígido del equipo con FreeDOS:

xcopy e:\ c:\

Para poder activar la red, nos conviene editar un archivo llamado red.bat que contenta en su interior los comandos para activar el controlador de paquetes de nuestra placa y luego inicialice la conexión de red a travé‚s del sistema DHCP. Esto significa que solicitar  una dirección IP al equipo encargado de suministrarlo (normalmente, nuestro cablemódem o router).

Lo haremos con:

edit red.bat

Arrancará el editor "Edit". Escribimos en el lo siguiente:

@echo off
echo Inicializando controlador de paquetes...
lh c:\rtsp\rtspkt -p 0x60
echo Conectando a la red...
c:\mtcp\dhcp.exe

echo Poniendo en hora el reloj...
c:\mtpc\sntp.exe -set 170.210.222.2


Guardamos y salimos (File/Save, y File/Exit).

Luego configuraremos el archivo de la red. Lo haremos con:

edit c:\mtcp\wattcp.cfg

Se abrirá el archivo de configuración wattcp.cfg. Debemos agregarle el siguiente texto:

my_ip = dhcp
netmask = 255.255.255.0
gateway = x.x.x.x (dirección IP del router, por ejemplo 192.168.100.1, 192.168.0.1. o 192.168.1.1)
domain_list = mi.dominio.com


A continuación editaremos el archivo de arranque autoexec.bat:

edit autoexec.bat

...arrancará el clásico editor de texto "Edit" con el archivo de configuración autoexec.bat.
Luego de la entrada @echo off le agregamos la siguiente línea:

set tz = ar

Y guardamos el archivo desde File / Save.

Reiniciamos el equipo con el comando:

reboot

Y al reiniciar, inicializamos el sistema de redes bajo FreeDOS escribiendo simplemente:

c:\red.bat

...FreeDOS establecerá contacto con nuestro router a través de la red DHCP, y una vez establecido debería detallarnos los datos de la conexión y ya podremos ya conectarnos sin inconvenientes.

Por ejemplo, si quisiéramos navegar por internet con Lynx, podremos ingresar con:

c:\utilid\lynx_386\lynx.exe

Presionando g podremos escribir la dirección URL que querramos y cargarla en el navegador. Con q volvemos al DOS.


En la época de DOS era muy común contar con servicios telemáticos a través de Telnet. Podremos contactar una sesión Telnet de la misma forma que en GNU. Por ejemplo:

telnet towel.blinkenlights.nl

También podremos entrar de la misma forma a BBS por medio de Telnet, sin gastar un centavo de pulso telefónico:

telnet momiabbs.no-ip.info

Para poder conectarme a un servidor remoto SSH como la consola de  GNU/Linux, debo utilizar la suite SSH2DOS, que es un compendio de programas SSH para DOS. En particular, el cliente SSH2DOS viene en dos versiones: el SSH2DOS que funciona en XT y AT 286, y SSH2D386, que es el mismo programa pero compilado para procesadores Intel 386 o superiores. En este caso utilizaremos dicha versión.

Cualquiera de los SSH2DOS es inefectivo para resolver nombres  DNS, pero podemos utilizarlo llamando a la IP del servidor SSH si la conocemos. Por
ejemplo, para conectarnos a un servidor Linux SSH cualquiera, podremos
usar:

c:\ssh2dos\ssh2d386 -tinux -v -h -g usuario ipdelserver

El empleo de SSH y de SCP nos permite transferir archivos entre equipos GNU/Linux o a través de internet por red, con lo cual evitamos el uso de CDs o diskettes. En este caso, hemos podido salvar la información de los viejos discos rígidos, y diskettes, mas de 20 años de trabajo atrasado, en muy escasos 32 minutos. ¡Todo al grito de Viva Perón!

También podremos instalar archivos con el gestor de paquetes de FreeDOS.

Poir ejemplo, para instalar el navegador gráfico para DOS Arachne, podremos indicar:

fdpkg /install arachne??.zip

Y se descargará a través de internet el paquete y se instalará, como si de un moderno GNU se tratara.

También podremos encontrar gran cantidad de aplicaciones útiles compiladas aquí.

En este caso particular, una vez rescatada la información, se arman 2 equipos PC nuevos y de muy bajo costo, pensados para funcionar durante años. En ellos se instala FreeDOS, se configura la red, se instala el programa recuperado, y se traspasan los datos a través de la red Ethernet en cuestión de un par de minutos, con lo cual el comercio puede seguir operando como antaño, en equipos nuevos y con software libre.

En fin, con sus amplias posibilides, FreeDOS nos permite realizar trabajos muy útiles en entornos obsoletos, y constituir un puente de salvación para los datos de la patria.