Reunido en el 2º Congreso Confederal de la CGT, Juan Perón pronuncia un claro discurso en el cual enseña a emular una AT&T 3B1 UNIX PC 7300 en Ubuntu.
(...)
¡Trabajadores!
A lo largo de los tiempos históricos, el hombre - limitado a su propia naturaleza - ha abarcado todo tipo de demandas. La mayoría de ellas son inusitadas, pero le proveen el ímpetu vital que lo distingue como especie. Otras son Justas, pero sabemos que sólo podrá resolverlas actuando en comunidad.
Nuestra Doctrina Justicialista posee un carácter fundamentalmente humanista. La estrella polar que la orienta es saciar las ansias Justas del Pueblo Argentino. Para ello nos hemos disciplinado y hemos puesto nuestro empeño de la hora.
Hemos tomado parte en acciones de cohorte que nos han hermanado, y nos ha permitido proveer a nuestro Pueblo de la soluciones a sus inquietudes sociales, en forma de los Derechos del Trabajador, de la Niñez, o de la Ancianidad. Estas son cosas grandes, que se pueden lograr a través de la acción decidida de organismos bien concebidos. Sin embargo, si queremos realizar cosas que verdaderamente superen las ansias de los tiempos, necesariamente hemos de conformar supra-organizaciones, un estadío mayor que las anteriores. Esta mancomunidad es lo que forma un verdadero Movimiento.
En el cómputo suele suceder más o menos lo mismo. Uno puede hacer tareas sencillas, pero las más complejas necesidades de cómputo de potencia sólo pueden ser abarcadas si se organizan múltiples tareas de forma concurrente, en pos de un logro final.
No podemos dudar en que los sistemas UNIX y similares a UNIX siguen este precepto frontispicial a manera cabal, y lo tornan en un aspecto especialmente válido en el caso del equipamiento clásico. Este guarda valía no tanto por su potencia de cálculo real (que en función del tiempo, podría considerarse humilde), sino que lo hace en gran medida como recurso de estudio y aprendizaje de los más básicos rudimentos en las ciencias del cómputo.
Pongamos por caso el de la AT&T 3B1. Se trataba de un sistema informático desarrollado en 1984 por Convergent Technologies para AT&T Technologies. Era una microcomputadora de moderna concepción, que destacaba exteriormente por su moderno gabinete. AT&T decidió integrarle una versión de UNIX System V y varias aplicaciones ofimáticas que la distinguieran sobre la sosa y desprovista PC XT de IBM.
Su hardware giraba alrededor de un muy poderoso microprocesador de 32 bits Motorola MC68010 de 10 megahertz, provisto de entre 512KB y los 4MB de memoria RAM. El hardware de video constaba estaba dado por un adaptador capaz de presentar texto a 80x29 caracteres, y gráficas de 720x348 píxels, en un monitor monocromático de 12 pulgadas de fósforo verde.
Sus medios de almacenamiento de masa estaban dados por una unidad de
diskettes de 5 1/4 pulgadas y baja densidad (360 kilobytes, a 9 pistas
por sector), en tanto que la novedad la proveían hasta dos discos
rígidos MFM, que variaban entre los 10 megabytes hasta los 67 megabytes
al final de su ciclo productivo. Siendo diseñada para la AT&T, el
equipo estaba dotado de fábrica para aprovechar las redes a través de su
comunicador telefónico integrado, que le permitía establecer llamadas
convencionales por medio de un software de gestión con agenda
telefónica, y a través de redes de datos a 1200 baudios por segundo. Los periféricos se distinguían por su teclado avanzado acomodable sobre el gabinete, y un ratón de tres botones, algo aún inusual para las computadoras hogareñas.
El software de la 3B1 de AT&T se basaba
fundamentalmente en una distribución licenciada de UNIX System V formado por la Release
2 a la que se le agregaron controladores de dispositivos desarrollados por Convergent Technologies, junto con extensiones de System V Release 3 y una serie de aplicaciones provenientes de las Versiones 4.1 y 4.2 de la distribución de Berkeley.
La 3B1 pasó así a formar el equipo ofimática inicial dirigido a todo tipo de pequeñas y medianas empresas, bajo el apelativo de AT&T UNIX PC 7300. ndudablemente que todo esto no costaba chirolas sino entre 5 y 7 mil dólares, lo que la dejaba sólo al alcance del más acaudalado oligarca.
Nuestro Movimmiento es uno de gran raigambre popular, y reconoce que existe una sóla clase de hombres: los que trabajan. Por ello no podemos dudar en dar al Pueblo acceso inclusivo a a todo tipo de hardware y de software que desee. Para ello nuestro sistema GNU con Linux es capaz de emular sistemas de antaño con software libre, muestras de lo cual he dado instruyendo a la Masa a emular la AT 3B2/400 en Ubuntu.
En este caso, os enseñaré a emular la arquitectura y entorno de la AT&T 3B1 UNIX PC 7300 gracias a FreeBee, un emulador de 3B1 liberado bajo licencia GNU GPLv3.
Se trata de un emulador experimental, pero que ofrece casi todas las funcionalidades, a excepción del módem telefónico.Instalar el System V en la 3B1 original era una tarea titánica que requería obrados conocimientos, o bien hojear la excelente documentación de puesta a punto del sistema. Aún así, como Conductor del Justicialismo me he impuesto la tarea de obrar día y noche por mis queridos descamisados.
En primer lugar, con fime voluntad abrirán una Terminal con Crtl+Alt+T. Acto seguido, instalarán la única dependencia requerida por el sistema de emulación, mediante el siguiente comando de organización:
sudo apt install libsdl2-dev minicom agetty
Nuestro sistema nos solicitará nuestra contraseña de conductor. Conforme la proveamos, descargará e instalará la librería.
Inmediatamente capearemos la tarea de descargar el código fuente del emulador FreeBee y compilarlo. Para que opere habrán de descargar las imágenes ROM de las rutinas de E/S y BIOS de la AT&T 3B1 (necesarias para el funcionamiento del emulador). Complementariamente habrán generar imágenes vacías de disco rígido e instalar el sistema operativo en él, junto con una miríada de aplicaciones.
Indudablemente que toda esta tarea podrá disfrutarse como unas vacaciones pagas en Chapadmalal, ya que sólo hemos de copiar y pegar en nuestra terminal el siguiente bloque de Comandos de Organización:
cd ~ ;
git clone --recurse-submodules https://github.com/philpem/freebee ;
cd ~/freebee/ ;
make ;
git clone https://github.com/dgesswein/s4-3b1-pc7300 ;
cd ~/.freebee/s4-3b1-pc7300 ;
make ;
mkdir ~/freebee/img/ ~/freebee/roms/ ;
cd ~/freebee/img/ ;
wget https://www.skeeve.com/3b1/os-install/08_Foundation_Set_Ver_3.51_no_phinit.IMD.gz ;
wget https://www.skeeve.com/3b1/enhanced-diag/bootable-extended-diag.img.gz ;
wget https://www.skeeve.com/3b1/enhanced-diag/diag.img.gz ;
wget https://www.skeeve.com/3b1/enhanced-diag/Install ;
wget https://www.skeeve.com/3b1/enhanced-diag/Install.bak ;
wget https://www.skeeve.com/3b1/enhanced-diag/README ;
wget https://www.skeeve.com/3b1/enhanced-diag/README.adr ;
wget https://www.skeeve.com/3b1/enhanced-diag/s4diag ;
wget https://www.skeeve.com/3b1/all-sw+fixdisk-hd.img.gz
wget https://www.skeeve.com/3b1/full+lots-sw.img.gz
wget https://www.skeeve.com/3b1/big-empty.img.gz
wget http://bitsavers.org/pdf/att/3b1/999-801-025IS_ATT_UNIX_PC_System_Software_Installation_Guide_1987.pdf ;
gzip -d full+lots-sw.img.gz ;
cp ~/freebee/img/full+lots-sw.img ~/freebee/hd.img ;
gzip -d 08_Foundation_Set_Ver_3.51_no_phinit.IMD.gz ;
gzip -d bootable-extended-diag.img.gz ;
gzip -d diag.img.gz ;
cd ~/freebee/roms/ ;
wget http://bitsavers.org/pdf/att/3b1/firmware/3b1_roms.zip ;
unzip 3b1_roms.zip ;
mv '14C 72-00616.bin' 14c.bin ;
mv '15C 72-00617.bin' 15c.bin ;
cd ~
mv ~/freebee/ ~/.freebee/ ;
echo '#Arrancador del emulador 3b1' >> ~/.freebee.sh ;
echo 'cd ~/.freebee/' >> ~/.freebee.sh ;
echo './freebee -s 2:3' >> ~/.freebee.sh ;
chmod +x ~/.freebee.sh ;
echo 'Todo listo!'
Naturalmente presionarán Enter para que se ejecuten.
Opcionalmente podríamos editar el archivo de configuración para darle un buen tamaño de pantalla y el color adecuado del monitor de la UNIX PC. Esto lo haremos con:
nano ~/.freebee/.freebee.toml
Se abrirá el editor GNU Nano. Le pegamos el siguiente contenido (naturalmente reemplazando usuario no nuestro propio nombre de usuario):
# Sample TOML configuration file for freebee
#
# freebee searches first for ./.freebee.toml and then
# for $HOME/.freebee.toml. It reads the first one it
# finds and then stops.
[floppy]
disk = "/path/to/floppy.img" # Floppy disk is optional
[hard_disk]
disk1 = "/home/usuario/.freebee/hd.img"
disk2 = "/path/to/hd2.img" # Second disk is optional
# Default disk parameters. Overridden by disk label in
# the hard disk image.
heads = 8
sectors_per_track = 17
[display]
x_scale = 2.0 # Scale in X dimension, 0 < n <= 45
y_scale = 3.0 # Scale in Y dimension, 0 < n <= 45
scale_quality = "linear" # "nearest" (fastest), "linear" (default), or "best" (anisotropic)
red = 0x00 # foreground colors
green = 0xFF
blue = 0xA9
[roms]
rom_14c = "/home/usuario/.freebee/roms/14c.bin" # Odd locations
rom_15c = "/home/usuario/.freebee/roms/15c.bin" # Even locations
[serial]
symlink = "serial-pty"
[vidpal]
installed = true
[memory]
base_memory = 2048 # Units of 1K bytes, 2048 is the max.
extended_memory = 2048 # Units of 1K bytes, 2048 is the max.
...y guardamos con Ctrl+o y salimos con Ctrl+x.
Ya podrán arrancar el emulador con el System V instalado mediante el comando:
./.freebee.sh
Esto encenderá el equipo virtual y dará iuicio al UNIX System V 3.51m contenido en la imagen de disco rígido. El procedimiento original taradaba unos dos minutos aproximadamente y está detallado en la página 58 del manual de propietario.
Se presentará la pantalla que indica el chuqueo e inicio de la BIOS detallando el contenido de memoria ROM y RAM emulada...
...y conforme se inicialice el stack de framebuffer, System V será capaz de presentar gráficas, una de las características rompedoras de este equipo.
Y el sistema comenzará a la serie de autocomprobación de los temperamentales discos rígidos y sus sistemas de archivo de época. Esta lenta condición sin embargo lo tornaba en uno de los equipos de escritorios más seguros de los ochentas.
El sistema multiusuario solicitará acceso a través de su programa de login.
Podremos acceder a un útil tutorial ingresando como el usuario tutor. Cuando solicite contraseña, presionamos Enter sin ingresar ninguna.
Podremos administrar hasta 4 usuarios activos con sus respectivas ventanas, haciendo clic en el símbolo "W" de la esquina superior derecha. Si elegimos la opción rlogin podremos abrir otra terminal.
Podremos cerrar las ventanas haciendo clic en la "x" del costado inferior izquierdo.
Para ingresar como Superusuario de Administración, debemos acceder como root y sin contraseña.
Usuario: root
Contraseña: ninguna (presionar Enter)
Podremos ahora hacer uso del intérprete de comandos Korn Shell 88, cuyo prompt es un #.
El emulador Freebee cuenta con unas teclas especiales que operan funciones propias:
F9: Tecla SUSPEND
F10: Toma/Suelta cursor del ratón de Ubuntu en el Freebee.
F11: Inserta/retira imagen de diskette floppy (`floppy.img`)
Alt+F12: Sale del emulador
Naturalmente, como lleva un UNIX System V, le podremos cambiar una contraseña con el comando passwd de UNIX.
Podremos usar el conocido editor vi, pero también podrán usar se, el Editor de Pantalla de la Universidad Georgia Tech.
se
El editor arrancará en modalidad comando, y es bastante similar a ed. Podremos obtener ayuda de un comando con el comando h seguido por la letra del comando.
Entre las letras de comando tenemos guardar (w). Podremos salir del editor con el comando q.
Indudablemente, además de la paquetería típica de UNIX System V,, podrán encontrar numeroso software adicional a en UNX PC Taronga.
En cualquiera de las opciones, es útil recordar que el teclado original contaba con algunas teclas no disponibles en el teclado normal, pero que son emuladas mediante combinaciones o teclas del teclado actual.
- F1-F8 -- "soft keys" en la parte inferior de la pantalla
- F9 -- Tecla SUSPD (hace aparecer una lista de ventanas)
- Alt+Esc -- Tecla EXIT
- Alt+Retroceder -- CANCL key
- Av.Pág -- Tecla HELP
- Re.Pág -- Tecla PAGE
- Ins -- Tecla CMD
- Intro -- Tecla RETURN
- Alt+Enter -- Tecla ENTER
- Pausa Inter -- Tecla RESET BREAK
Configurar comunicaciones en la Unix PC
La Unix PC puede recibir y tranmitir a otras computadoras con un enlace serial, en este caso virtualizado. Para
ello hay que configurar su Unix System V. A tal fin nos logueamos a la Unix PC como root y agregamos la linea
al dispositivo linux, ingresando los siguientes comandos (todos ellos
seguidos de Enter):
cd usr
cd lib
cd uucp
cp L-devices L-devices.orig
rm L-devices
Ahora editaremos el fichero L-devices con:
ed
Se ejecutará el parco editor de líneas ed. Le ingresamos los siguientes comandos, presionando Enter con cada uno de ellos.
a
DIR tty000 0 9600
.
w L-devices
q
Una vez agregada esta línea, reiniciamos la Unix PC con reboot o shutdown.
a) Loguarse la Unix PC desde Ubuntu:
En la Unix PC nos loguemos como root y la ponemos en escucha:
setgetty 000 1
En tanto en Ubuntu ponemos:
cd ~/.freebee/ ;
minicom -D -/.freebee/serial-pty
Para salir del cliente Minicom, debemos usar Ctrl+a,q
b) Conectarse a Ubuntu desde la Unix PC
En la Unix PC nos logueamos como root y nos aseguramos colgar la terminal tty000 con el comando:
setgetty 000 0
En tanto, en Ubuntu vamos al directorio del emulador Freebee y revisamos en qué pseudo-terminal de Ubuntu pretende usar la terminal serial de la 3B1 Unix PC 7300, mediante:
cd ~/.freebee/ ;
ls -l serial-pty
Por ejemplo, si sale:
serial-pty -> /dev/pts/1
...significa que en Ubuntu debemos dejar en escucha a la pseudoterminal pts/1. Ello se haría con el siguiente comando:
sudo agetty pts/1 vt100
Luego, ya de vuelta en la UNIX PC, ingresamos:
cu -l tty000
Una vez que nos informe "Connected" debemos presionar Enter una vez para recibir el prompt de usuario y contraseña.
Gracias a ello, podremos establecer enlaces desde la terminal serial con la internet moderna.
Apagar el emulador
El procedimiento de apagado correcto de System V se hace desde la consola de administración. Podremos apagar el sistema con el comando shutdown. También es útil recordar que podremos abrir un usuario nuevo presionando F9 y loguearlo como root y escribir shutdown.
Una vez que System V se apaga, podremos desconectar el emulador mediante Alt+F12.
Para crear una imagen de diskette tipo MS-DOS de 360kb (9 pistas por sector) en nuestro sistema de hospedaje GNU con Linux podríamos usar:
dd if=/dev/zero of=attdsk.img bs=1k count=360
/sbin/mkfs.fat dos.img
sudo mount -o loop -t msdos attdsk.img /mnt
Acto seguido copiamos los archivo que queremos en /mnt (recordando de no sobrepasar los 360 kilobytes). Podremos desmontar el diskette con:
sudo umount /mnt
AT&T producía excelente documentación técnica en inglés, los famosos "libritos rojos. Podrán encontrar los manuales de la AT&T 3B1 aquí.
Hi there. I wrote the RS232 serial support for FreeBee. I'm glad you were able to follow the directions and "dial out" from FreeBee to your Ubuntu. Very cool!
ResponderEliminarDear Jbooth:
EliminarCongratulations for your nice work on the RS232 serial for FreeBee, as I was able to dial from it.
Juan Perón