¿Cómo emulo una AT&T 3B2/400 en Ubuntu?

La carta de Perón a Mao fue llevada a la China Popular en 1965, por una delegación de la Juventud Peronista, integrada entre otros por Jorge Rulli, Gustavo Rearte, Cacho El Kadri y Carlos Caride. En ella Juan Perón expone al oriental cómo emular un mainframe AT&T 3B2/400 en Ubuntu.



Madrid, 15 de julio de 1965
Al Sr. Presidente Mao Tsetung


Mi querido Presidente y amigo:

Desde este difícil exilio, aprovecho la magnífica oportunidad que brinda el viaje de los jóvenes dirigentes peronistas del MRP, gentilmente invitados por Uds., para hacerle llegar junto con mi saludo más fraternal y amistoso, las expresiones de nuestra admiración hacia Ud., su Gobierno y su Partido; que han sabido llevar a la Nación China el logro de tantas e importantes victorias, que ya el mundo capitalista ha comenzado por reconocer y aceptar.

Su pensamiento y su palabra de Maestro Revolucionario, han calado hondo en el alma de los pueblos que luchan por liberarse –nosotros entre ellos– que nos debatimos, en estos últimos diez años, en marchas y contramarchas propias del proceso de un pueblo, que va preparando las condiciones más favorables para la lucha final. El Imperialismo Norteamericano y sus aliados permanentes –entre ellos ahora, los actuales dirigentes soviéticos– se equivocan cuando piensan que con el engaño de una falsa coexistencia pacífica podrán detener la marcha de estos pueblos sedientos de justicia en pos de su liberación. 

El ejemplo de China Popular, hoy base inconmovible de la Revolución Mundial, permite a los hombres de las nuevas generaciones prepararse para la larga lucha con más claridad y firme determinación.

La acción nefasta del Imperialismo, con la complicidad de las clases traidoras, han impedido en 1955 que nosotros cumpliéramos la etapa de la Revolución Democrática a fin de preparar a la clase trabajadora para la plena y posterior realización de la Revolución Socialista. Pero, de la derrota de esa fecha, hemos recogido grandes ejemplos que nos permiten prepararnos con mucha más firmeza, para que nuestro pueblo pueda tomar el poder y así instaurar la era de gobierno de los oprimidos –la clase trabajadora– única capaz de realizar una política de paz y felicidad para nuestro pueblo. Nuestros objetivos son comunes, por eso me felicito de este contacto de nuestros luchadores con esa gran realidad que son ustedes.


Nuestros Pueblos anhelan la felicidad en la paz, y ello nos lo ha permitido el estudio del otro "Librito Rojo". Se trata de la frondosa documentación del sistema UNIX System V, incorporado por la capitalista AT&T para sus equipos 3B2/400. El estudio de los mismos se nos hace imprescindible, sobre todo los volúmentes Manual de Referencia del Usuario y del Administrador de Sistema, y también el consiguiente manual de propietario.

Estos excelentes mainframes permiten conocer al dedillo cómo opera desde su base mas fundamental, un sistema UNIX. Se trataban de sistemas de cómputo con microprocesador Western Electric WE-32000 de 32 bits, el cual venía provisto con capacidades de de paginado de memoria a demanda.

Conocer uno de estos sistemas mediante el estudio doctrinal del "Libro Rojo" nos permite contar no sólo con una visión del pasado, sino también con una útil proyección al futuro. Sólo ello nos permitirá enfrentar una era donde un consumo sin control y una doctrina de uso regida por el capital, plantean dejar excluidos del Arte del Byte a enormes Masas en los cinco continentes.

Nuestro Movimiento se ha dado en solucionar esto mediante la emulación de este veterano y probado sistema. Gracias a los logros del Justicialismo - que son también del mundo - podremos emularlos en un sistema de perenne actualidad como es el GNU con Linux.

En concreto nos proponemos emular un sistema AT&T 3B2/400 con 4MB de memoria RAM (máxima cantidad direccionable). También darle a nuestros pueblos la ventaja del coprocesador matemático MAU WE32106 para nociones de coma flotante, que el capitalismo sólo hizo opcional a través de una plaqueta. La interfaz controladora de discos duros podrá encadenar unidades virtualizadas Maxtor  XT-2190 de tipo MFM con 161MB de capacidad, que más que duplican los raquíticos disoc discos de 72 MB que AT&T osaba incluír como opción de máxima categoría en sus 3B2/400. El controlador fd0 equivale en tanto a la unidad de discos flexibles de AT&T, famosa por ser la primera en emplear los luego enormemente extendidos diskettes de 5 y un cuarto de pulgada, con 9 pistas por sector y 512 bytes por pista, que erogaban un total de 720 kb por diskette.

Todo ello podrá hacerse realidad efectiva abriendo una terminal mediante Ctrl+Alt+t e ingresando los siguientes Comandos de Organización:

sudo apt update
sudo apt install libpcap-dev libvdeplug-dev 

Una vez que ingrese su contraseña de Conductor, el sistema se hará con dicha paquetería, que es la mínima necesaria para poder contar con acceso telemático en la máquina virtual. Naturalmente, que si no desea esta característica, podrá obviar dicho paso. Acto seguido, bien podrá descargar el código fuente del emulador y compilar una máquina virtual de tipo AT&T 3B2. Para ello pegará en la terminal el siguiente bloque de comandos de organización (seguidos de la presión de la tecla Enter para darles entrada).

mkdir ~/.simh ;
mkdir ~/.simh/v5/ ;
cd /tmp ;
git clone https://github.com/simh/simh ;
cd /tmp/simh/ ;
make 3b2

La compilación requerirá algunos momentos, dependiendo de la velocidad del microprocesador que tenga en su equipo chino.

Conforme el programa se haya compilado, bien podrá copiar el ejecutable al directorio del Unix V.

cp /tmp/simh/BIN/3b2 ~/.simh/v5/

Luego descargaré diferentes imágenes de disco rígido con el sistema Unix V  imágenes del sistema mediante los siguientes comandos:
cd ~/.simh/v5/ ;
wget https://archives.loomcom.com/3b2/emulator/base.img.gz ;
wget https://archives.loomcom.com/3b2/emulator/full.img.gz ;
wget https://archives.loomcom.com/3b2/emulator/devel.img.gz ;
wget https://archives.loomcom.com/3b2/emulator/extras_gnu_src.img.gz ;
wget https://archives.loomcom.com/3b2/emulator/ctc_xfer.tap.gz ;
wget https://archives.loomcom.com/3b2/software/Miscellaneous/CKermit_189.img ;
gzip -d base.img.gz ;
gzip -d full.img.gz ;
gzip -d devel.img.gz ;
gzip -d extras_gnu_src.img.gz ;
gzip -d ctc_xfer.tap.gz

Un viejo adagio oriental dicta que "El gorrión gorjea lo mismo cien veces por instinto, el monje ora cien veces por fé. Pero el Revolucionario debe trabajar una única vez por la Liberación". Esta acción, que no deja de ser creadora, ha de replicarse en el cómputo con UNIX, pues podremos crear distintas versiones modificadas del ficheros de arranque del emulador a fin de representar distintas y adaptadas configuraciones de discos. Esto simplificará enormemente el despliegue del UNIX V, pues ya vendrá hecho y no tendremos que hacerlo.

Para ello ingresamos el siguiente bloque de Comandos de Organización:

cd ~/.simh/v5/ ;
wget https://archives.loomcom.com/3b2/emulator/boot.ini ;
cp boot.ini boot_base.ini ;
cp boot.ini boot_full.ini ;
cp boot.ini boot_devel.ini ;
cp boot.ini boot_extras.ini ;
echo 'attach idisk0 base.img' >> boot_base.ini ;
echo 'set ctc enable' >> boot_base.ini ;
echo 'attach ctc ctc_xfer.tap' >> boot_base.ini ;
echo 'attach idisk0 full.img' >> boot_full.ini ;
echo 'set ctc enable' >> boot_full.ini ;
echo 'attach ctc ctc_xfer.tap' >> boot_full.ini ;
echo 'attach idisk0 devel.img' >> boot_devel.ini ;
echo 'set ctc enable' >> boot_devel.ini ;
echo 'attach ctc ctc_xfer.tap' >> boot_devel.ini ;
echo 'attach idisk0 extras_gnu_src.img' >> boot_extras.ini ;
echo 'set ctc enable' >> boot_extras.ini ;
echo 'attach ctc ctc_xfer.tap' >> boot_extras.ini ;
Imágenes AT&T 3b2 provistas

Como verá, la imagen de disco duro base contiene la instalación mñinima del Sistema V, consistente en los los seis diskettes de Utilidades Escenciales, junto con las Cartucho de cinta Utilidades y el Controlador CTC, pero nada mas.

La imagen de disco duro "full" incluye en tanto la instalación completa formada por la base de UNIX, pero también inclye los 21 diskettes de los paquetes de utilitarios. Son estos los Utilitarios de administrción de sistema, de Directorio y Mantenimiento de archivos, de Ambiente de Usuario, de Comunicación interprocesos, de Filtro de Terminal, de Información de Terminal, así como los ficheros terminfo instalados. Contamos con los utilitarios más interesante sque son los de gráficos, de red de datos básicos (UUCP), de edición, de Ayuda, de Cola de Impresora de Línea,  Análisis de Performance, y de Corrección. En fin, toda la costosa paquetería oficial.

La imagen de disco duro "devel" de Herramientas de Desarrollo comienza con la instalación completa indicada arriba, pero también agrega los utilitarios de Generación de Software, Generación de Software extendido, Lenguaje de Programación C, Ficheros de Encabezado de Systema, C Avanzado, y Control de Código Fuente.

Finalmente, la Imagen de disco duro "extras" representa además las utilidades GNU y el código fuente. A todos los extras anteriores agrega la provisión del código fuente de AT&T UNIX System V Release 3.2 en la carpeta emulada /usr/src (podría compilar todo el sistema si lo desea). En la carpeta emulada /usr/bin/kermit contará con el programa de comunicaciones C-Kermit 5A(189), en tanto que en la carpeta emulada /usr/local contará con los compiladores GNU gcc y g++ 2.3.3, GNU make 3.75, GNU tar 1.13, GNU gzip 1.2.4 y GNU bison 1.25.

Ejecutar emulador simh 3b2

Ahora podrá ejecutar el emulador y cargar la imagen de disco duro que anhele. Por ejemplo, si quisiéramos iniciar la imagen de disco duro de AT&T 3b2 llamada "extras", debería ingresar en vuestra terminal:

cd ~/.simh/v5/ ;
./3b2 boot_extras.ini

Al iniciar el emulador simh nos encontraremos con el prompt sim>. Introducimos el comando boot seguido de Enter para darle arranque:

sim> boot
Uso básico de UNIX System V Release 3


Una vez arrancado, UNIX System V nos solicitará el login de arranque. En este caso podremos ingresar "root", y nos encontraremos como usuario administrador. El prompt de root en UNIX es "#".

Si solo tenemos experiencias con sistemas similares a UNIX como el moderno GNU con Linux, habremos de saber que SRV3 no está cargado con utilidades llamativas como Linux. La instalación de base ni siquiera incluye páginas de manual (man). Tampoco tendremos por defecto el caracter de Retroceder para borrar. Esto no es un problema con la emulación, sino que SBR3.2 funcionaba así realmente. Para burrar se ingresa el caracter numeral # o se usa Ctrl+Retroceder, y para borrar toda una lónea se usa la arroba @. 

Por tal motivo es muy conveniente configurar algunas opciones de uso para asemejarlo a las terminales actuales. Para ello podríamos ingresar los siguientes comandos:
TERM=vt100
export TERM
 
...y opcionalmente también algunas definiciones de acción de teclado:

stty intr \^C erase \^? kill \^U
stty erase \^H

Tengamos presente que las instalaciones son prístinas y no tienen aún configurada contraseña alguna. A tal fin, querríamos utilziar el comando setup para configurar nuestros usuarios y contraseñas del sistema.

Inicio de un sistema Base

En el caso de querer hacer una instalación completa del sistema operativo, habríamos de contar con un disco rígido e instalar un sistema de base. La operación es posible, aunque engorrosa y larga de explicar en detalle. Ha de recurrirse al manual. Sin embargo, durante la instalación habremos de resolver un clásico problema. Solían presentar varios mensajes de error. He aquí un secreto de la AT&T 32B/400: el mensaje de error "SYSTEM FAILURE: CONSULT YOUR SYSTEM ADMINISTRATION UTILITIES GUIDE" ¡era en realidad un "prompt invisible" para ingresar nuestra contraseña! La contraseña de mantenimiento del sistema será mcp. Una vez que la ingresemos...

veremos el mensaje:

Enter name of program to execute [ ]:

Simplemente ingresamos:

unix

Y se nos preguntará desde qué dispositivo virtual queremos arrancar.
Insertar una cinta

La AT&T usaba archivos de cinta magnética, de un máximo de 22MB, que podríamos utilizar como medio de almacenamiento virtual. Para ello ingresamos:
mkdir ~/.simh/v5/cinta/
cd ~/.simh/v5/cinta/

Aqui ponemos todos los archivos (cuidando de no superar los 22MB de la cinta aceptada por la 3B2. Luego ingreamos:

find . -depth -print | cpio -ov --format odc > ../cinta.cpio
dd if=cinta.cpio of=ctc_xfer.tap bs=512 seek=31 conv=notrunc

Y ahora en la máquina emulada, insertamos la cinta con:
# ctccpio -idumvT /dev/rSA/ctape1

 

Salir del Emulador

Para salir del UNIX System V SRV3, ingresamos:

shutdown -i0 -g0 -y

El procedimiento de apagado correcto duraba un minuto aproximadamente.

Una vez que nos encontramos de vuelta en el emulador simh, ingresamos:

sim> exit

Como verá, compañero Mao, en lo fundamental somos coincidentes, y así lo he expresado muchas veces ante la clase trabajadora y peronista de Argentina. Quedan los aspectos naturales y propios de nuestros países, que hacen a sus condiciones socio-económicas, y que modifican en cierta forma la táctica de lucha. 

Los compañeros portadores sabrán explicar de viva voz nuestros puntos de vista, y el gran deseo de que la más profunda y sincera de las amistades se consolide entre nosotros. 

Reciba, querido Presidente, las seguridades de nuestros mejores sentimientos. Somos confiantes en el triunfo de la justicia y la verdad. Nada ni nadie podrá detener la hora de los pueblos.

Por el triunfo de nuestras comunes luchas, por el triunfo y la felicidad el Pueblo Chino; por la liberación de los pueblos oprimidos, con toda amistad.

Un gran abrazo,

Juan Perón.