¿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.