Instalando software en OpenVMS (y III)

En la entrada anterior había dejado todo listo para la instalación del paquete DECSet. En esta entrada voy a detallar el proceso de instalación del paquete.

De las distintas utilidades que tiene el paquete, voy a instalar dos:

  • El editor LSE
  • El sistema de gestión de código CMS.

Voy a ir copiando y comentando las entradas y salidas del proceso de instalación. Recordar que el paquete con los ficheros se encuentra en la localización DUA1:[DECSET_TMP].


$ @SYS$UPDATE:VMSINSTAL DECSET_A122 dua1:[DECSET_TMP] OPTIONS N


        OpenVMS VAX Software Product Installation Procedure V7.3


It is 21-DEC-2018 at 16:44.

Enter a question mark (?) at any time for help.

* Are you satisfied with the backup of your system disk [YES]?


The following products will be processed:

  DECSET_A V12.2


        Beginning installation of DECSET_A V12.2 at 16:44

%VMSINSTAL-I-RESTORE, Restoring product save set A ...

    Release notes included with this kit are always copied to SYS$HELP.

    Additional Release Notes Options:

        1.  Display release notes
        2.  Print release notes
        3.  Both 1 and 2
        4.  None of the above

* Select option [2]: 4
* Do you want to continue the installation [NO]? yes
%VMSINSTAL-I-RELMOVED, Product's release notes have been moved to SYS$HELP.

********************************************************************************


                - DECset V12.2A Collective Installation Procedure -


    This is a collective installation procedure for the DECset components.
    This procedure first asks which DECset components to install.  Then it
    checks the system resources required to perform the installation of all
    the components selected.  If there are enough system resources, it will
    perform serial installation for each of the component you have selected.
    If the system resources are not enough for all components, it will inform
    the user about insufficient system resources but continues to install as
    many components as possible.  This will allow user to later install only
    those components which were not installed in the previous attempt.


********************************************************************************


 Copyright ¦ Digital Equipment Corporation 1992, 1999.  All rights reserved.
 Copyright ¦ Electronic Data Systems Limited  1994, 1999.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DECset V12.2A for OpenVMS VAX systems is a release in support of customers
wanting a Year2000 compliant version of DECset running on OpenVMS V5.5-2 VAX
systems. See the product SPD or the Compaq Y2K Web page for specific Compaq
Year2000 compliance information. Please be sure that you intend to install
this version of DECset on your system before proceeding with this installation.
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



         These are the options provided by this collective
         installation procedure:


         DECset components:

                      -     all the DECset components
                      -     Language-Sensitive Editor (LSE)
                      -     Source Code Analyzer (SCA)
                      -     Code Management System (CMS)
                      -     DIGITAL Test Manager (DTM)
                      -     Performance and Coverage Analyzer (PCA)
                      -     Module Management System (MMS)

                Please choose your option(s):

*     Do you want     all the DECset components [NO]?
*     Do you want     Language-Sensitive Editor (LSE) [NO]? yes
*     Do you want     Source Code Analyzer (SCA) [NO]?
*     Do you want     Code Management System (CMS) [NO]? yes
*     Do you want     DIGITAL Test Manager (DTM) [NO]?
*     Do you want     Performance and Coverage Analyzer (PCA) [NO]?
*     Do you want     Module Management System (MMS) [NO]?

                These are the selections you have made:

                -     Language-Sensitive Editor (LSE)
                -     Code Management System (CMS)

*     Would you like to reselect your options ?  [NO]?

%DECSET_A-I-AGGREGATE, Checking resources required to install selected products.

%DECSET_A-I-START_AENVMGR, The following questions relate to ENVMGR installation.


   The DECset Environment Manager consists of:

        A run-time component used by DECset layered products,
        a DCL interface, and
        a DECwindows interface.

   The DCL and DECwindows interface components are optional.

* Do you want to install the interface components [Y]? n
* Do you want to run the IVP after the installation [YES]?

%DECSET_A-I-START_ACMS, The following questions relate to CMS installation.

* Do you also wish to install the CMS DECwindows interface [YES]? n
* Do you want to purge files replaced by this installation [YES]?

        Product:      VAXSET
        Producer:     DEC
        Version:      12.2
        Release Date: 01-APR-1996

        Product:      CMS
        Producer:     DEC
        Version:      3.9
        Release Date: 01-APR-1996

* Is one of these authorization keys registered and loaded? y
* Do you want to run the IVP after the installation [YES]?

%DECSET_A-I-DONEASK, You have answered all the questions for CMS installation


%DECSET_A-I-START_ALSE, The following questions relate to LSE installation.

* Do you want to purge files replaced by this installation [YES]?
* Do you want to run the IVP after the installation [YES]?


    Please note that the total system disk space consumed by the unsupported
    LSE source files is approximately 16,000 blocks.  Digital recommends not
    to answer yes to the following prompt if you are constrained by the free
    space available on your system disk.


* Would you like to install the unsupported LSE source files [NO]?


    The version of LSE that is currently being installed has two command
    languages:  the VMSLSE command language, and the PORTABLE command
    language.  The VMSLSE command language is the command language that is
    present in versions of LSE prior to V4.0. The PORTABLE command language
    is a new command language that will be LSE's command language on
    platforms other than VMS.

    If you would like to have the PORTABLE command language as the
    system-wide default command language, you should accept PORTABLE as the
    default command language.

    If you would like to have the VMSLSE command language that was present
    in versions of LSE prior to V4.0 as your system-wide  default command
    language, you should specify VMSLSE as the default command language.

    Individual users may override the system default command language.
    See the release notes for more information.


* Do you want default command language to be PORTABLE or VMSLSE  [PORTABLE]:


        Product:      VAXSET
        Producer:     DEC
        Version:      12.2
        Release Date: 01-APR-1996

        Product:      LSE
        Producer:     DEC
        Version:      4.5
        Release Date: 01-APR-1996

* Is one of these authorization keys registered and loaded? y

    Language templates for Ada, BASIC, BLISS, C, COBOL, CXX, FORTRAN,
    FORTRAN 90, MACRO, Pascal, PL/I , and VAXC as well as templates for the
    LSE command languages are included in this kit.  Templates for other
    languages that support LSE and are not mentioned are provided in the
    installation kits for those languages.

    Please choose the languages for which you would like to install support:

* Do you want to install language support for ADA [YES]?
* Do you want to install language support for BASIC [YES]? n
* Do you want to install language support for BLISS [YES]? n
* Do you want to install language support for C [YES]?
* Do you want to install language support for COBOL [YES]?
* Do you want to install language support for CXX [YES]?
* Do you want to install language support for FORTRAN [YES]?
* Do you want to install language support for F90 [YES]? n
* Do you want to install language support for MACRO [YES]? n
* Do you want to install language support for PASCAL [YES]? n
* Do you want to install language support for PLI [YES]? n
* Do you want to install language support for LSE [YES]?
* Do you want to install language support for PLSE [YES]? n
* Do you want to install language support for VAXC [YES]? n

You have answered all the questions for LSE installation.  During the LSE
installation the system environment file will be created or updated.
Informational and success messages will be displayed indicating these events.


*******************************************************************************

    If you are satisfied with your answers, answer YES to the following
    prompt.  If not, answer NO to start the auto-answer session again.
    The default is YES.

*******************************************************************************

*   Are you satisfied with your answers to selected DECset components ?  [YES]?

********************************************************************************

    This parent installation procedure will now install selected DECset
    components one by one.

********************************************************************************


%DECSET_A-I-START_ENVMGR, ENVMGR installation in progress

%VMSINSTAL-I-RESTORE, Restoring product save set B ...
The installation of the DECset Environment Manager has added or modified:

            SYS$HELP:ENVMGR012_RELEASE_NOTES.PS
            SYS$TEST:ENVMGR$IVP.COM
            SYS$TEST:ENVMGR$SAMPLE.DECSET_CONTEXT_DB
            SYS$TEST:ENVMGR$SAMPLE.DECSET_CONTEXT
           SYS$SHARE:DECSET$ENVMGRCCTSHR.EXE
           SYS$SHARE:DECSET$ENVMGRSHR.EXE
         SYS$STARTUP:DECSET$ENVMGR_STARTUP.COM

You should add the following line to your system startup procedure:

    $ @SYS$STARTUP:DECSET$ENVMGR_STARTUP.COM

%DECSET_A-I-DONEENVMGR, The installation of the DECset Environment Manager completed


%DECSET_A-I-START_CMS, CMS installation in progress

%VMSINSTAL-I-RESTORE, Restoring product save set C ...
%DECSET_A-I-ENDRESTORE, All required savesets have been successfully restored
%DECSET_A-I-CMSSHR, Linking shareable image
%DECSET_A-I-CMS, Linking main image
%DECSET_A-I-EVENTACT, Linking the event action image
%DECSET_A-I-PROHELP, Providing help
%DECSET_A-I-PRODCL, Providing DCL verb
%DECSET_A-I-PROEXE, Providing images

        ***************************************************************
        *                                                             *
        * The CMS IVP has been moved to the SYS$TEST directory.  To   *
        * run it after the installation, enter @SYS$TEST:CMS$IVP.COM. *
        *                                                             *
        ***************************************************************

%DECSET_A-I-PROSTART, Providing startup procedure

        ***************************************************************
        *                                                             *
        * If this installation is performed on a cluster, you must    *
        * execute                                                     *
        *                                                             *
        *    $ @SYS$STARTUP:CMS$STARTUP.COM                           *
        *                                                             *
        * on all other nodes in the cluster.  In addition, you must   *
        * add the above line to your system startup procedure.        *
        *                                                             *
        ***************************************************************


%DECSET_A-I-DONECMS, The installation of CMS completed


%DECSET_A-I-START_LSE, LSE installation in progress

%VMSINSTAL-I-RESTORE, Restoring product save set E ...
%TPU-S-SAVEENV, environment written to TCVAX$DUA0:[SYS0.SYSUPD.DECSET_A122]LSE$SYSTEM_ENVIRONMENT.ENV;1
%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[SYSTEST.LSE].
%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[SYSHLP.EXAMPLES.LSE].
This installation added or modified the following files:

        SYS$LIBRARY:DCLTABLES.EXE
        SYS$SYSTEM:LSEDIT.EXE
        SYS$LIBRARY:LSESHR.EXE
        SYS$LIBRARY:LSESHR.IIF
        SYS$MESSAGE:LSEMSG.EXE
        SYS$LIBRARY:LSE$CCTSHR.EXE
        SYS$LIBRARY:LSE$DECWSHR.EXE
        SYS$LIBRARY:LSE$SECTION.TPU$SECTION
        SYS$LIBRARY:LSE$DEFAULTS.DAT
        SYS$LIBRARY:LSE$SYSTEM_ENVIRONMENT.ENV
        SYS$LIBRARY:LSE$DEBUG.TPU
        SYS$LIBRARY:LSE$WIDGETS.UID
        SYS$LIBRARY:PSE$COMMENTS.EXE
        SYS$HELP:LSE$KEYPAD.HLB
        SYS$HELP:LSE$MENU.HLB
        SYS$HELP:LSE$HELP.HLB
        SYS$HELP:LSE$CLIHELP.HLB;
        SYS$STARTUP:LSE$STARTUP.COM
        SYS$SYSROOT:[SYSHLP.EXAMPLES.LSE]LSE$USER.EXAMPLE
        SYS$SYSROOT:[SYSHLP.EXAMPLES.LSE]LSE$USER2.EXAMPLE
        SYS$SYSROOT:[SYSHLP.EXAMPLES.LSE]LSE$USER3.EXAMPLE
        SYS$SYSROOT:[SYSHLP.EXAMPLES.LSE]LSE$USER.DIA
        SYS$SYSROOT:[SYSTEST.LSE]LSE$IVP.TPU
        SYS$TEST:LSE$IVP.COM

        SYS$SYSROOT:[VUE$LIBRARY.USER]LSE$EDIT_QUALIFIERS.EXE
        SYS$SYSROOT:[VUE$LIBRARY.USER]LSE$EDIT_OPTIONS.UID
        SYS$SYSROOT:[VUE$LIBRARY.USER]LSE$EDIT.COM
        SYS$SYSROOT:[VUE$LIBRARY.USER]LSE$PROFILE.VUE$DAT

        ***************************************************************
        *                                                             *
        * If this installation is performed on a cluster, you must    *
        * execute                                                     *
        *                                                             *
        *    $ @SYS$STARTUP:LSE$STARTUP.COM                           *
        *                                                             *
        * on all other nodes in the cluster.  In addition, you must   *
        * add the above line to your system startup procedure.        *
        *                                                             *
        ***************************************************************


%DECSET_A-I-DONELSE, The installation of LSE completed

%VMSINSTAL-I-MOVEFILES, Files will now be moved to their target directories...

********************************************************************************

    The DECset collective installation will now run the Installation
    Verification Procedure for the each of the component you selected to
    run the IVP.

********************************************************************************




         +-----------------------------------------------------------+
         |      Installation verification command procedure for      |
         |               DECset Environment Manager                  |
         +-----------------------------------------------------------+


   Starting IVP for DECset Environment Manager


   IVP for DECset Environment Manager completed successfully



%CMS-I-IVPBEGIN, Begin CMS V3.9-2 Installation Verification Procedure
CMS Version V3.9-2
%CMS-S-CREATED, CMS Library TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST] created
%CMS-I-LIBIS, library is TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]
%CMS-S-LIBSET, library set
%CMS-I-LIBIS, library is TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]
%CMS-S-LIBSET, library set
-CMS-I-SUPERSEDE, library list superseded
%CMS-S-CREATED, element TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CMS$IVP_TEST.FILE created
%CMS-S-RESERVED, generation 1 of element TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CMS$IVP_TEST.FILE reserved

Reservations in CMS Library TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]

CMS$IVP_TEST.FILE
    (1)   SYSTEM     1      21-DEC-2018 16:51:05 ""
%CMS-S-GENCREATED, generation 2 of element TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CMS$IVP_TEST.FILE created
-CMS-I-NOCHANGES, no changes
%CMS-I-VERCLS, class list verified
%CMS-I-VERCMD, command list verified
%CMS-I-VERELE, element list verified
%CMS-I-VERGRP, group list verified
%CMS-I-VERRES, reservation list verified
%CMS-I-VERFRE, internal free space list verified
%CMS-I-VERFRE, internal free space list verified
%CMS-I-VERFRE, internal free space list verified
%CMS-I-VERFRE, internal free space list verified
%CMS-I-VERFRE, internal free space list verified
%CMS-I-VERFRE, internal free space list verified
%CMS-I-VERFRE, internal free space list verified
%CMS-I-VERARC, archive control block verified
%CMS-I-VER2, internal contiguous space verified
%CMS-I-VERCON, control file verified
%CMS-I-VEREDF, element TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CMS$IVP_TEST.FILE verified
%CMS-I-VEREDFS, element data files verified
%CMS-S-VERIFIED, library TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST] verified
%CMS-S-FETCHED, generation 1 of element TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CMS$IVP_TEST.FILE fetched
%CMS-I-FILEXISTS, file already exists, TCVAX$DUA0:[SYS0.SYSUPD.DECSET_A122]CMS$IVP_TEST.FILE;2 created
%CMS-S-FETCHED, generation 2 of element TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CMS$IVP_TEST.FILE fetched
%CMS-S-IDENTICAL, files are identical
%CMS-S-CREATED, class TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CL1 created
%CMS-S-GENINSERTED, generation 1 of element TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CMS$IVP_TEST.FILE inserted into class TC
VAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CL1
%CMS-S-CREATED, class TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CL2 created
%CMS-S-GENINSERTED, generation 2 of element TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CMS$IVP_TEST.FILE inserted into class TC
VAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CL2
%CMS-S-FETCHED, generation 2 of element TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CMS$IVP_TEST.FILE fetched

Elements in CMS Library TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]

CMS$IVP_TEST.FILE ""

Element generations in CMS Library TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]

CMS$IVP_TEST.FILE
  2     21-DEC-2018 16:51:06 SYSTEM ""
  1     21-DEC-2018 16:51:04 SYSTEM ""


Classes in CMS Library TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]

CL1             "Test1"
CL2             "Test2"

Element generations in CMS Library TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]

CMS$IVP_TEST.FILE/2
%CMS-S-GENREMOVED, generation 2 of element TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CMS$IVP_TEST.FILE removed from class TCVA
X$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CL2
%CMS-S-DELETED, class TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CL2 deleted
%CMS-S-GENREMOVED, generation 1 of element TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CMS$IVP_TEST.FILE removed from class TCVA
X$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CL1
%CMS-S-DELETED, class TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]CL1 deleted
%CMS-S-CREATED, group TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]GR1 created
%CMS-S-CREATED, group TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]GR2 created
%CMS-S-INSERTED, group TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]GR1 inserted into group TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CM
S$IVP_TEST]GR2
%CMS-S-REMOVED, group TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]GR1 removed from group TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$
IVP_TEST]GR2
%CMS-S-MODIFIED, group TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]GR1 modified

Groups in CMS Library TCVAX$DUA0:[SYS0.SYSCOMMON.SYSTEST.CMS$IVP_TEST]

GR2                 GR3

%CMS-S-IVPSUCCESS, CMS V3.9-2 IVP completed successfully
%CMS-I-IVPEND, End Installation Verification Procedure




         +-----------------------------------------------------------+
         |      Installation verification command procedure for      |
         |             DIGITAL Language-Sensitive Editor             |
         +-----------------------------------------------------------+

36 lines written to file SYS$SYSROOT:[SYSMGR]LSE$IVP.LIS;1

 DEC Language-Sensitive Editor IVP was successful.



        Installation of DECSET_A V12.2 completed at 16:51

    Adding history entry in VMI$ROOT:[SYSUPD]VMSINSTAL.HISTORY


        VMSINSTAL procedure done at 16:51


$

En principio, todo indica que la instalación concluyó correctamente. Voy a probar a ver si funciona:

inst-020

¡Conseguido! Ahora a por otras cosas.

 

Anuncios

Instalando software en OpenVMS (II)

En la anterior entrada conseguí configurar la simulación para tener un paquete de software accesible para la simulación. En concreto, el paquete DECSet que tiene una serie de herramientas para desarrollo. El objeto de este post es ver los pasos a seguir para instalar el software. Afortunadamente hay un manual detallado de instalación de ese paquete que voy a intentar seguir al pie de la letra.

En la anterior entrada dejábamos el CDROM creado con el instalable montado en la máquina virtual:

inst-012

En primer lugar compruebo que el sistema tenga suficientes recursos para la instalación:

inst-013

Parece que la cosa no pinta bien, en el manual dice como asignar recursos con la utilidad autogen así que me pongo a ello. Para empezar, edito el fichero SYS$SYSTEM:MODPARAMS.DAT y añado las líneas correspondientes a los parámetros MIN_GBLPAGES y MIN_GBLSECTIONS.

inst-015

A continuación utilizo AUTOGEN para generar los parámetros del sistema y rearrancar:


$ @SYS$UPDATE:AUTOGEN GETDATA REBOOT

Una vez rearranca, compruebo que ahora hay más recursos:

inst-014

Ahora empieza la parte divertida. Tengo que instalar el paquete que es un fichero ZIP y tengo que llevarme el paquete al OpenVMS. Ahora mismo no tengo ninguna manera de hacerlo a través de la red así que, el único medio que tengo disponible es la unidad de CDROM virtual.

La estrategia que voy a seguir comprende:

  1. Transfiero el paquete a instalar (fichero DECSET_122a.zip a la Raspi usando WinSCP.
  2. En la Raspi descomprimo el paquete en un directorio.
  3. Empleando el programa genisoimage creo una imagen ISO con los contenidos del paquete.
  4. Monto la imagen ISO así creada en la unidad de CD virtual del OpenVMS.
  5. Arranco el OpenVMS y monto la unidad de CD. Copio los contenidos a un directorio de uno de los discos duros y desde ese directorio realizo la instalación.

Bien, pues todo este procedimiento no funciona. Al hacer el unzip en Raspbian al parecer se estropea la estructura de los ficheros del paquete de instalación y al crear la imagen ISO se truncan los nombres de los ficheros a formato 8.3. Tras varias consultas en foros, intentos de reparación de los ficheros y pruebas varias no llego a ninguna parte de esta forma. Así que, con la ayuda de varios foreros, cambio mi estrategia a lo siguiente:

  1. Obtengo el programa UNZIP para OpenVMS.
  2. Transfiero a la Raspi, usando WinSCP el programa UNZIP y el fichero con el paquete a instalar.
  3. En la Raspi creo una imagen con el programa UNZIP y el zip con el paquete.
  4. Monto la imagen en OpenVMS
  5. Arranco OpenVMS y copio los contenidos de la imagen creada a un directorio temporal
  6. Hago el unzip del paquete
  7. Instalo

Voy a ir detallando paso a paso lo que he ido haciendo para no olvidarlo.

1. Obtener UNZIP (y ZIP) para OpenVMS

Afortunadamente, desde el foro de VMS me dirigen a este repositorio donde hay una version binaria de Unzip que descargo. Aprovechando que ya estamos, vuelvo a descargar la imagen de DECSet a instalar, esta vez comprobando los MD5 para garantizar que el fichero se descarga correctamente:

inst-016

inst-017

Por ahora, todo bien.

2. Transfiero los ficheros a la Raspberry:

inst-018

3. Creo la imagen ISO:


pi@rpiopenvms:~ $ ls -l
total 13720
-rw-r--r--  1 pi pi 13858278 Dec 18 21:49 DECSET_122a.zip
drwxr-xr-x  2 pi pi     4096 Dec 18 17:50 iso
drwxr-xr-x 46 pi pi     4096 Dec 15 14:34 simh-master
-rw-r--r--  1 pi pi   178688 Dec 20 20:28 unzip-vax-73-v0600.exe
pi@rpiopenvms:~ $ mkdir decset
pi@rpiopenvms:~ $ mv DECSET_122a.zip decset
pi@rpiopenvms:~ $ mv unzip-vax-73-v0600.exe decset
pi@rpiopenvms:~ $ genisoimage -V decset -o decset.iso decset
I: -input-charset not specified, using utf-8 (detected in locale settings)
71.13% done, estimate finish Fri Dec 21 15:15:31 2018
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 0
Path table size(bytes): 10
Max brk space used 0
7029 extents written (13 MB)

pi@rpiopenvms:~ $ sudo mount -o loop decset.iso iso
mount: /dev/loop0 is write-protected, mounting read-only
pi@rpiopenvms:~ $ ls -l iso
total 13708
-r-xr-xr-x 1 root root 13858278 Dec 18 21:49 decset_1.zip
-r-xr-xr-x 1 root root   178688 Dec 20 20:28 unzip_va.exe
pi@rpiopenvms:~ $ 

 

Bien, he conseguido crear la imagen pero veo que se han truncado los nombres de ficheros en la imagen a 8.3. Esto tengo que tenerlo en cuenta en el siguiente paso.

4. Montar la imagen en el OpenVMS

El primer paso es copiar la imagen al directorio donde almaceno las imágenes:


pi@rpiopenvms:~ $ sudo mv decset.iso /usr/local/vax/images
pi@rpiopenvms:~ $ cd /usr/local/vax/data
pi@rpiopenvms:/usr/local/vax/data $ vi openvms.ini

Edito el fichero openvms.ini para configurar que la máquina monte la imagen recién creada en la unidad de CDROM:

inst-019

5. Arrancar OpenVMS y montar el disco


pi@rpiopenvms:/usr/local/vax/data $ cd ../bin
pi@rpiopenvms:/usr/local/vax/bin $ sudo ./vax /usr/local/vax/data/openvms.ini

MicroVAX 3900 simulator V4.0-0 Current        git commit id: c2b45a26
/usr/local/vax/data/openvms.ini-5> attach nvr /usr/local/vax/data/nvram.bin
NVR: buffering file in memory
/usr/local/vax/data/openvms.ini-20> attach rq0 /usr/local/vax/data/d0.dsk
RQ0: '/usr/local/vax/data/d0.dsk' Contains ODS2 File system
RQ0: Volume Name: OVMSVAXSYS   Format: DECFILE11B   Sectors In Volume: 2940951
/usr/local/vax/data/openvms.ini-21> attach rq1 /usr/local/vax/data/d1.dsk
RQ1: '/usr/local/vax/data/d1.dsk' Contains ODS2 File system
RQ1: Volume Name: DATA1        Format: DECFILE11B   Sectors In Volume: 2940951
/usr/local/vax/data/openvms.ini-22> attach rq2 /usr/local/vax/data/d2.dsk
RQ2: '/usr/local/vax/data/d2.dsk' Contains ODS2 File system
RQ2: Volume Name: DATA2        Format: DECFILE11B   Sectors In Volume: 2940951
/usr/local/vax/data/openvms.ini-25> attach -r rq3 /usr/local/vax/images/decset.iso
RQ3: unit is read only


KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.
>>>boot

Una vez arranca, hago login en OpenVMS y monto la unidad de CDROM:


$ MOUNT/OVERRIDE=IDENT DUA3
%MOUNT-I-WRITELOCK, volume is write locked
%MOUNT-I-CDROM_ISO, decset: (1 of 1) , mounted on  _TCVAX$DUA3:
$ dir DUA3:[000000]

Directory DUA3:[000000]

DECSET_1.ZIP;1      UNZIP_VA.EXE;1

Total of 2 files.
$

Creo dos directorios en DUA1:

  • UTILS que va a contener el programa UNZIP
  • DECSET_TMP donde voy a copiar el fichero .zip

Copio a estos directorios los correspondientes ficheros:


$ create/dir dua1:[UTILS]
$ create/dir dua1:[DECSET_TMP]
$ set def dua1:[UTILS]
$ copy dua3:[000000]UN*.* []
$ dir

Directory DUA1:[UTILS]

UNZIP_VA.EXE;1

Total of 1 file.

$ set def dua1:[decset_tmp]
$ show def
  DUA1:[DECSET_TMP]
$ copy dua3:[000000]*.zip []
$ dir

Directory DUA1:[DECSET_TMP]

DECSET_1.ZIP;1

Total of 1 file.
$

A continuación creo un símbolo para poder ejecutar UNZIP:

 
$ UNZIP :== $dua1:[UTILS]UNZIP_VA.EXE
$ show symbol UNZIP
  UNZIP == "$DUA1:[UTILS]UNZIP_VA.EXE"
$ unzip
UnZip 6.00 of 20 April 2009, by Info-ZIP.  For more details see: unzip -v.

Usage: unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
  Default action is to extract files in list, except those in xlist, to exdir;
  file[.zip] may be a wildcard.  -Z => ZipInfo mode ("unzip -Z" for usage).
=> define foreign command symbol in LOGIN.COM:  $ unzip :== $dev:[dir]unzip.exe

  -p  extract files to pipe, no messages     -l  list files (short format)
  -f  freshen existing files, create none    -t  test compressed archive data
  -u  update files, create if necessary      -z  display archive comment only
  -v  list verbosely/show version info       -T  timestamp archive to latest
  -x  exclude files that follow (in xlist)   -d  extract files into exdir
modifiers:
  -n  never overwrite or make a new version of an existing file
  -o  always make a new version (-oo: overwrite original) of an existing file
  -q  quiet mode (-qq => quieter)            -a  auto-convert any text files
  -j  junk paths (do not make directories)   -aa treat ALL files as text
  -C  match filenames case-insensitively     -L  make (some) names lowercase
  -X  restore owner/ACL protection info      -V  retain VMS version numbers
  -Y  treat ".nnn" as ";nnn" version         -2  force ODS2 names
  --D restore dir (-D: no) timestamps        -M  pipe through "more" pager
  (Must quote upper-case options, like "-V", unless SET PROC/PARSE=EXTEND.)

See "unzip -hh" or unzip.txt for more help.  Examples:
  unzip data1 -x joe   => extract all files except joe from zipfile data1.zip
  unzip "-V" foo "Bar" (Quote names to preserve case, unless SET PROC/PARS=EXT)
  unzip -fo foo vms.c  => quietly replace existing vms.c if archive file newer
$ 

6. Desomprimir el paquete

Bien, ahora voy a descomprimir el paquete de instalación. Primero lo renombro a su nombre no truncado:

 
$ set def [DECSET_TMP]
$ dir

Directory DUA1:[DECSET_TMP]

DECSET_1.ZIP;1

Total of 1 file.
$ rename DECSET_1.ZIP DECSET_122A.ZIP
$ dir

Directory DUA1:[DECSET_TMP]

DECSET_122A.ZIP;1

Total of 1 file.
$ unzip DECSET_122A.ZIP
Archive:  DUA1:[DECSET_TMP]DECSET_122A.ZIP;1
  inflating: DECSET_A122.A
  inflating: DECSET_A122.B
  inflating: DECSET_A122.C
  inflating: DECSET_A122.D
  inflating: DECSET_A122.E
  inflating: DECSET_A122.F
  inflating: DECSET_A122.G
  inflating: DECSET_A122.H
  inflating: DECSET_A122.I
  inflating: DECSET_A122.J
  inflating: DECSET_A122_IGUIDE.TXT
$ delete decset_122a.zip
%DELETE-E-DELVER, explicit version number or wild card required
$ delete decset_122a.zip;*
$

Parece que todo ha ido OK. Ahora sólo una pequeña comprobación de que los ficheros del paquete de instalación son correctos:

 
$ BACKUP /LIST DECSET_A122.A /SAVE
Listing of save set(s)

Save set:          DECSET_A122.A
Written by:        RAMSHAW
UIC:               [001000,001017]
Date:              29-JUN-1999 15:28:06.64
Command:           BAC [.FILES]*.* DECSET_A122.A/SAV
Operating system:  OpenVMS VAX version V6.2
BACKUP version:    V6.2
CPU ID register:   12000003
Node name:         _EDSDS8::
Written on:        _$15$DKA400:
Block size:        32256
Group size:        10
Buffer count:      247

[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]CHECK_COMM_LANG.TPU;1
                                                            3   4-JUN-1997 18:12
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]CMS$DW_IMAGES.DAT;1
                                                            1   1-MAR-1989 12:36
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]CMS$DW_NOTIMAGES.DAT;1
                                                            1  29-SEP-1995 14:13
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]CMS$IMAGES.DAT;1
                                                            1  31-OCT-1996 15:24
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]CMS$IVP.COM;1
                                                           16  26-JUN-1997 16:02
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]CMS$KITINSTAL.COM;1
                                                           50  30-JUN-1997 17:06
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]CMS039.RELEASE_NOTES;1
                                                          139  27-JUN-1997 16:04
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]DECSET122A.RELEASE_NOTES;1
                                                          637  28-JUN-1999 08:05
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]DTM$KITINSTAL.COM;1
                                                           64  30-JUN-1997 17:07
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]DTM038.RELEASE_NOTES;1
                                                           80  27-JUN-1997 16:34
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]ENVMGR$KITINSTAL.COM;1
                                                           47  20-JUN-1997 10:16
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]ENVMGR$KITVERSION.COM;1
                                                            3  20-JUN-1997 12:13
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]ENVMGR012.RELEASE_NOTES;1
                                                           62  27-JUN-1997 16:04
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]KITINSTAL.COM;1
                                                           55  29-JUN-1999 15:18
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]KITVERSION.COM;1
                                                            3  28-JUN-1999 08:11
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]LSE$KITINSTAL.COM;1
                                                           91  30-JUN-1997 17:06
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]LSE045.RELEASE_NOTES;1
                                                          102  27-JUN-1997 16:33
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]MMS$DW_HELP.HLB;1
                                                          207  20-JUN-1997 12:33
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]MMS$KITINSTAL.COM;1
                                                           62  30-JUN-1997 17:15
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]MMS$PROFILE.VUE$DAT;1
                                                            1  13-DEC-1994 18:00
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]MMS$VUE.COM;1
                                                            4  13-DEC-1994 18:08
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]MMS.HLP;1
                                                           80  20-JUN-1997 12:34
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]MMS032.RELEASE_NOTES;1
                                                          122  27-JUN-1997 16:05
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]PCA$KITINSTAL.COM;1
                                                           39  30-JUN-1997 13:53
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]PCA$KITVERSION.COM;1
                                                            5  27-JUN-1997 11:05
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]PCA$SYSTEM_BUILDDEFS.COM;1
                                                            3  27-JUN-1997 14:22
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]PCA045.RELEASE_NOTES;1
                                                           99  27-JUN-1997 16:05
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]SCA$KITINSTAL.COM;1
                                                          114  20-JUN-1997 09:08
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]SCA$KITPARAMS.COM;1
                                                            4  20-JUN-1997 15:19
[DECSET_STAGING.DECSET.V12_2A.SSB.VAX.KIT.FILES]SCA045.RELEASE_NOTES;1
                                                           57  27-JUN-1997 16:55

Total of 30 files, 2152 blocks
End of save set
$

Parece que todo ha ido bien. La instalación en el siguiente post.

Instalando software en OpenVMS (I)

Ya tengo mi OpenVMS ejecutándose en el simulador simh de la Raspberry Pi. Ahora, lo que voy a hacer, es ver cómo se instala un paquete de software en OpenVMS. Mi experiencia con VAX era de desarrollador, no de administrador de sistemas y no recuerdo nada de como se instalan paquetes de software.

Para empezar, voy a intentar instalar el paquete DECSet que comprende una serie de herramientas para desarrollo, entre otras, el editor LSE. Uno de los módulos software que me descargué era precisamente DECSet.

En primer lugar, el paquete que me descargué es un archivo zip, miro los contenidos y veo que son una serie de ficheros con extensiones de la a a la j y un fichero con extensión .txt

inst-002

Al parecer, es un fichero para SO VAX/VMS. Hasta aquí todo bien, pero tengo la duda de cómo hacer llegar este fichero a mi instancia de OpenVMS ejecutándose en el simulador en una Raspberry Pi. En el OpenVMS no tengo servidor FTP así que creo que la mejor forma es creando una imagen .iso y montándola en la unidad de CD que tiene la instancia simulada. La segunda duda es si creo el ISO con el .zip o si lo descomprimo y creo el ISO con los ficheros que contiene.

Me inclino, en principio, por la segunda opción pero antes, voy a comprobar que mi sistema tiene un unzip porque si no la cagada es monumental. Arranco la máquina virtual y veo que no hay UNZIP así que, a por la segunda opción.

Mediante WinSCP copio el fichero zip de mi PC al directorio home de la raspi y hago un unzip del fichero en un directorio creado ad-hoc:

inst-003

Hasta ahora, todo bien. A continuación creo la imagen ISO con la utilidad genisoimage que previamente había instalado en la raspi:

inst-004

Compruebo si el ISO está bien creado:

inst-005

He conseguido montar la imagen en raspbian y accedo a su contenido. Esto tiene buena pinta.

El siguiente paso consiste en copiar la imagen al directorio /usr/local/vax/images y editar el fichero /usr/local/vax/data/openvms.ini modificándolo para que la unidad de CDROM virtual monte esta ISO.

inst-006

inst-007

Ahora, arranco el OpenVMS, me logo en el sistema y miro si los ficheros copiados son accesibles:

inst-008

inst-009

Si miro los dispositivos veo que la unidad de CDROM (DUA3:) no está montada:

inst-010

Procedo a montarla y tras varias y repetidas cagadas encuentro el comando que lo hace:

inst-011

Tengo que recordar que el directorio raíz de la unidad es el [000000]. El primer paso de la instalación que era tener acceso a los instalables está conseguido, ahora a por el segundo la instalación del software. A ver si se da igual.

 

Configurando simh e instalando OpenVMS

El siguiente paso en la tarea de montar mi OpenVMS es configurar el simulador simh para poder ejecutarlo. Aquí empiezo a entrar en un terreno desconocido (al menos para mí) así que espero ir poniendo toda la atención. Por el camino, he ido encontrando algunos sitios en internet que dan una cierta orientación a mi tarea.

En primer lugar, voy a crear un directorio vax bajo /usr/local y bajo este directorio, dos subdirectorios uno llamado bin donde colocaré el binario del simulador y las ROMs de VAX y otro data donde irán los datos del simulador:

Imagen25

Ahora copio los ficheros a la localización recién creada:

Imagen26

Creo, bajo /usr/local/bin/vax un directorio images y copio la imagen iso del SO (usando WinSCP). Aprovecho y copio, al mismo directorio el fichero con la licencia:

Imagen28

Creo el fichero de inicialización (openvms.ini) del simulador y lo coloco en el directorio data.

Imagen30

Ya tenemos todo preparado para el primer arranque. Hay que ejecutar el simulador bajo un usuario privilegiado:

Imagen32

Se ha tomado su tiempo, sobre todo creando los discos virtuales pero parece que ya está arrancado. Hago un comando show device para ver que dispositivos hay y procedo al primer arranque de VAX que debe ser desde el CDROM virtual:

Imagen33

El CDROM virtual es la unidad DUA3. A por el boot:

Imagen34

VAX ha arrancado en modo monousuario y vamos a instalar el sistema operativo desde el backup existente en el CDROM:

Imagen36

Una vez completado esto salimos de la simulación (Ctrl-E). A continuación vamos a proceder a arrancar desde el disco duro y a realizar la instalación de OpenVMS. He capturado en un fichero las entradas y salidas durante el proceso:

1. Arranque de la boot ROM:

sim> boot cpu

KA655-B V5.3, VMB 2.7
Performing normal system tests.
40..39..38..37..36..35..34..33..32..31..30..29..28..27..26..25..
24..23..22..21..20..19..18..17..16..15..14..13..12..11..10..09..
08..07..06..05..04..03..
Tests completed.

2. Configurar el dispositivo desde el que se va a arrancar (DUA0) y arrancar en sistema (BOOT):

>>>set boot dua0
>>>boot
(BOOT/R5:0 DUA0



  2..
-DUA0
  1..0..


%SYSBOOT-I-SYSBOOT Mapping the SYSDUMP.DMP on the System Disk
%SYSBOOT-W-SYSBOOT Can not map SYSDUMP.DMP on the System Disk
%SYSBOOT-I-SYSBOOT Mapping PAGEFILE.SYS on the System Disk
%SYSBOOT-I-SYSBOOT SAVEDUMP parameter not set to protect the PAGEFILE.SYS
   OpenVMS (TM) VAX Version BI73-7G7 Major version id = 1 Minor version id = 0
%WBM-I-WBMINFO Write Bitmap has successfully completed initialization.

           OpenVMS VAX V7.3 Installation Procedure

                         Model: VAXserver 3900 Series
                 System device: RA92 - _DUA0:
                   Free Blocks: 2854566
                      CPU type: 10-01

3. Configurar la fecha y hora. Se va a quejar que no está licenciado.

* Please enter the date and time (DD-MMM-YYYY HH:MM) 15-DEC-2018 20:04
*********************************************************
%SYSTEM-W-TZGMT, your local timezone has defaulted to GMT
%SYSTEM-I-SETTZ, to set your local timezone use:

     $ @SYS$MANAGER:UTC$TIME_SETUP.COM

*********************************************************
On MIN or UPGRADE system startup - CLUE is not run.
%%%%%%%%%%%  OPCOM  15-DEC-2018 20:04:07.27  %%%%%%%%%%%
Operator _OPA0: has been enabled, username SYSTEM

%%%%%%%%%%%  OPCOM  15-DEC-2018 20:04:07.28  %%%%%%%%%%%
Operator status for operator _OPA0:
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER, SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9, OPER10,
OPER11, OPER12

%%%%%%%%%%%  OPCOM  15-DEC-2018 20:04:07.37  %%%%%%%%%%%
Logfile has been initialized by operator _OPA0:
Logfile is SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;1

%%%%%%%%%%%  OPCOM  15-DEC-2018 20:04:07.38  %%%%%%%%%%%
Operator status for operator SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;1
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER, SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9, OPER10,
OPER11, OPER12

%SYSTEM-I-BOOTUPGRADE, security auditing disabled
%%%%%%%%%%%  OPCOM  15-DEC-2018 20:04:09.36  %%%%%%%%%%%
Message from user JOB_CONTROL
%JBC-E-OPENERR, error opening SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT;

%%%%%%%%%%%  OPCOM  15-DEC-2018 20:04:09.37  %%%%%%%%%%%
Message from user JOB_CONTROL
-RMS-E-FNF, file not found

%LICENSE-F-EMTLDB, license database contains no license records
%SYSTEM-I-BOOTUPGRADE, security server not started
%%%%%%%%%%%  OPCOM  15-DEC-2018 20:04:11.70  %%%%%%%%%%%
Message from user SYSTEM
%LICENSE-E-NOAUTH, DEC VAX-VMS use is not authorized on this node
-LICENSE-F-NOLICENSE, no license is active for this software product
-LICENSE-I-SYSMGR, please see your system manager


%LICENSE-E-NOAUTH, DEC VAX-VMS use is not authorized on this node
-LICENSE-F-NOLICENSE, no license is active for this software product
-LICENSE-I-SYSMGR, please see your system manager

4. Como vemos, se queja de que el sistema no está licenciado, eso lo dejaremos para más adelante. A continuación nos va a pedir una serie de parámetros y el volumen desde el que se va a instalar OpenVMS:

Startup processing continuing...

%SET-I-INTSET, login interactive limit = 1, current interactive value = 0
%SET-I-INTSET, login interactive limit = 0, current interactive value = 0

    If this system disk is to be used in an OpenVMS Cluster with multiple
    system disks, then each system disk must have a unique volume label.
    Any nodes having system disks with duplicate volume labels will fail
    to boot into the cluster.

    You can indicate a volume label of 1 to 12 characters in length.  If you
    want to use the default name of OVMSVAXSYS, press RETURN in response
    to the next question.

* Enter the volume label for this system disk [OVMSVAXSYS]:

* Enter name of drive holding the OpenVMS distribution media: DUA3
* Is the OpenVMS media ready to be mounted? [N] y
%MOUNT-I-MOUNTED, VAXVMS073 mounted on _DUA3:

5. Nos va a pedir, a continuación, el software que deseamos instalar. Decido no instalar el software de DECNet, ni el soporte de clustering, ni la parte gráfica:

    Select optional software you want to install.  You can install one
    or more of the following OpenVMS or DECwindows components:

    o OpenVMS library                              -  52200 blocks
    o OpenVMS optional                             -  19000 blocks
    o OpenVMS Help Message                         -  10400 blocks
    o OpenVMS Management Station                   -  20000 blocks
    o DECwindows base support                      -   4400 blocks
    o DECwindows workstation support               -  23800 blocks
          -  75 dots per inch video fonts          -    (included)
          - 100 dots per inch video fonts          -   6200 blocks
    o DECnet-Plus networking                       -  80000 blocks
    o DECnet Phase IV networking                   -    800 blocks

    Space remaining on system disk:  2854377 blocks

* Do you want to install the OpenVMS library files? (Y/N) y

    Space remaining on system disk:  2802177 blocks

* Do you want to install the OpenVMS optional files? (Y/N) y

    Space remaining on system disk:  2783177 blocks


    The Help Message utility (MSGHLP) provides online explanations
    and user actions for OpenVMS messages in place of the hardcopy
    OpenVMS System Messages and Recovery Procedures Reference Manual,
    which is now separately orderable.

    The MSGHLP database file, MSGHLP$LIBRARY.MSGHLP$DATA,
    consumes approximately 10400 blocks and will be
    placed by default on your system disk in SYS$COMMON:[SYSHLP]
    unless you specify an alternate device when prompted.

* Do you want to install the MSGHLP database? (Y/N) y

    You can install this database on your system disk in SYS$COMMON:[SYSHLP]
    or on an alternate device.  If you specify an alternate device, but no
    directory, MSGHLP$LIBRARY.MSGHLP$DATA is placed in [HELP_MESSAGE].  When
    prompted, take the default of the system disk or specify an alternate
    device using this format:

                           device:[directory]

* Where do you want to install the MSGHLP database?
    [SYS$COMMON:[SYSHLP]]

    Space remaining on system disk:  2772777 blocks


    The OpenVMS Management Station is a client-server application that
    provides OpenVMS system management capabilities through a client
    application on a personal computer (PC) running Microsoft Windows.

    The server application runs on OpenVMS systems and is automatically
    installed as part of the OpenVMS operating system.

    This option provides the files used to install the PC client software.
    If you want to use the OpenVMS Management Station, you must install
    these optional files on at least one OpenVMS system and then use one or
    both of them to install the PC client on one or more PCs.  There are two
    files:  TNT030_I.EXE for Intel systems (Windows 95 and Windows NT), and
    TNT030_A.EXE for Alpha Windows NT systems.

    The OpenVMS Management Station optional files consume approximately 20000
    blocks and will be placed on your system disk in SYS$COMMON:[TNT.CLIENT].

* Do you want to install the optional OpenVMS Management Station files? (Y/N) y

    Space remaining on system disk:  2752777 blocks


    You can select DECwindows now, or you can use the DECW$TAILOR utility
    to provide or remove DECwindows support after the installation.

    Some media, TK50s in particular, can be very slow when tailoring on files.
    You might want to select DECwindows now and tailor off unwanted files later.

    NOTE: This kit does NOT contain full DECwindows.
          To obtain full DECwindows, you must also install the separate
          layered product, DECwindows Motif for OpenVMS VAX.
          V1.2-3 is the minimum version of DECwindows Motif for OpenVMS VAX
          that can be used with OpenVMS VAX V7.3.

    The DECwindows components provided in this kit requires approximately
    34400 blocks, broken down as follows:

        o DECwindows base support                    -   4400 blocks
        o DECwindows workstation support             -  23800 blocks
          -  75 dots per inch video fonts            -    (included)
          - 100 dots per inch video fonts (optional) -   6200 blocks

    You must select the DECwindows base support option if
        - you plan to run DECwindows software, or
        - you are installing this kit on
            * a workstation or
            * an OpenVMS Cluster that contains workstations, or
        - you want to provide font files for Xterminals.

    If you are installing this kit on a system that includes Xterminals
    and you do NOT select DECwindows base support, then you will have to use
    the DECW$TAILOR utility to provide font files.

* Do you want the DECwindows base support? (Y/N) n

    Beginning with OpenVMS V7.1, the DECnet-Plus kit is provided with
    the OpenVMS operating system kit.  Compaq strongly recommends that
    DECnet users install DECnet-Plus.  DECnet Phase IV applications are
    supported by DECnet-Plus.

    DECnet Phase IV is also provided as an option.  Support for DECnet
    Phase IV is available through a Prior Version Support Contract.

    If you install DECnet-Plus and TCP/IP you can run DECnet
    applications over a TCP/IP network.  Please see the OpenVMS
    Management Guide for information on running DECnet over TCI/IP.

    If you plan to install DECnet Phase IV do NOT select DECnet-Plus.

* Do you want to install DECnet-Plus? (Y/N) n

* Do you want to install DECnet Phase IV? (Y/N) n

    The following options will be provided:

        OpenVMS library
        OpenVMS optional
        OpenVMS Help Message
        OpenVMS Management Station Software -- PC files

    Space remaining on system disk:  2752777 blocks

* Is this correct? (Y/N) y

    Restoring OpenVMS library save set ...
%BACKUP-I-STARTVERIFY, starting verification pass

    Restoring OpenVMS optional save set ...
%BACKUP-I-STARTVERIFY, starting verification pass

    Restoring OpenVMS Help Message save set ...
%BACKUP-I-STARTVERIFY, starting verification pass

    Restoring OpenVMS Management Station Software -- PC files
%BACKUP-I-STARTVERIFY, starting verification pass

    Now registering the OpenVMS operating system in the
    POLYCENTER Software Installation product database


The following product will be registered:
    DEC VAXVMS VMS V7.3                    DISK$VAXVMSV73:[VMS$COMMON.]

The following product has been registered:
    DEC VAXVMS VMS V7.3                    Transition (registration)

    You can now remove the distribution kit from DUA3:.



    In an OpenVMS Cluster, you can run multiple systems sharing all files
    except PAGEFILE.SYS, SWAPFILE.SYS, SYSDUMP.DMP, and VAXVMSSYS.PAR.

    Cluster configuration cannot be done at this time because no network
    is present.  In order to configure a cluster you must FIRST do one
    or both of the following:

        o Install DECnet-Plus (or DECnet Phase IV), or
        o Execute SYS$STARTUP:LAN$STARTUP.COM by removing the
          comment delimiter ("!") from the line

                $! @SYS$STARTUP:LAN$STARTUP

          in SYS$MANAGER:SYSTARTUP_VMS.COM.

    Then configure the cluster by executing the following command:

                @ @SYS$MANAGER:CLUSTER_CONFIG

    See the OpenVMS System Manager's Manual: Essentials for more information.

6. A continuación, establecemos las contraseñas de cuentas importantes, nos proporciona una serie de consejos y acciones a realizar:

    Now we will ask you for new passwords for the following accounts:

        SYSTEM, SYSTEST, FIELD

    Passwords must be a minimum of 8 characters in length.  All passwords
    will be checked and verified.  Any passwords that can be guessed easily
    will not be accepted.


* Enter password for SYSTEM:
* Re-enter for verification:
%UAF-I-MDFYMSG, user record(s) updated
%VMS-I-PWD_OKAY, account password for SYSTEM verified

* Enter password for SYSTEST:
* Re-enter for verification:
%UAF-I-MDFYMSG, user record(s) updated
%VMS-I-PWD_OKAY, account password for SYSTEST verified


    The SYSTEST_CLIG account will be disabled.  You must re-enable
    it before running UETP but do not assign a password.

%UAF-I-PWDLESSMIN, new password is shorter than minimum password length
%UAF-I-MDFYMSG, user record(s) updated

* Enter password for FIELD:
* Re-enter for verification:
%UAF-I-MDFYMSG, user record(s) updated
%VMS-I-PWD_OKAY, account password for FIELD verified

    Creating RIGHTS database file, SYS$SYSTEM:RIGHTSLIST.DAT
    Ignore any "-SYSTEM-F-DUPIDENT, duplicate identifier" errors.

%UAF-I-RDBCREMSG, rights database created
%UAF-I-RDBADDMSGU, identifier DEFAULT value [000200,000200] added to rights database
%UAF-I-RDBADDMSGU, identifier FIELD value [000001,000010] added to rights database
%UAF-I-RDBADDMSGU, identifier SYSTEM value [000001,000004] added to rights database
%UAF-I-RDBADDMSGU, identifier SYSTEST value [000001,000007] added to rights database
%UAF-E-RDBADDERRU, unable to add SYSTEST_CLIG value [000001,000007] to rights database
-SYSTEM-F-DUPIDENT, duplicate identifier
%UAF-I-NOMODS, no modifications made to system authorization file
%UAF-I-RDBDONEMSG, rights database modified

    Creating MODPARAMS.DAT database file, SYS$SYSTEM:MODPARAMS.DAT

* Please enter the SCSNODE name: TCVAX

* Please enter the SCSSYSTEMID:  1025

    After the installation finishes, you might want to do one or more of the
    following tasks:

    o DECOMPRESS THE SYSTEM LIBRARIES - To save space, many of the system
      libraries are shipped in a data-compressed format.  If you have
      enough disk space, you can decompress the libraries for faster access.
      To data expand the libraries, type:

        $ @SYS$UPDATE:LIBDECOMP.COM

      If you do not decompress these libraries, you will experience
      slower response to the HELP and LINK commands.

    o BUILD A STANDALONE BACKUP KIT - You can build a standalone backup kit
      using the procedure described in the "Backup Procedures" chapter of
      tye upgrade and installation supplement provided for your VAX computer.

    o TAILOR THE SYSTEM DISK - You might want to review the files provided or
      not provided during this installation.  If you find there are files
      you want to remove from the system disk (TAILOR OFF) or files you want
      to add (TAILOR ON), use the following utilities to perform the
      desired tailoring.

          OpenVMS tailoring:          $ RUN SYS$UPDATE:VMSTAILOR

          DECwindows tailoring:       $ RUN SYS$UPDATE:DECW$TAILOR

      NOTE:  The tailor procedure cannot be used to TAILOR ON or TAILOR OFF
             files located on an alternate disk.

7. A continuación, nos pregunta si queremos registrar el producto y le contestamos que no, en el siguiente boot cargaremos el PAK con las licencias:

=================================================================
    Continuing with OpenVMS VAX V7.3 Installation Procedure.



    Configuring all devices on the system ...

    If you have Product Authorization Keys (PAKs) to register, you can
    register them now.

* Do you want to register any Product Authorization Keys? (Y/N): n

********************************************************************************

    After the system has rebooted you must register any Product
    Authorization Keys (PAKs) that you have received with this kit.
    You can register these PAKs by executing the following procedure:

        $ @SYS$UPDATE:VMSLICENSE

    See the OpenVMS License Management Utility Manual for any additional
    information you need.

********************************************************************************

8. En el siguiente paso, vamos a configurar la zona horaria y, finaliza la instalación prometiendo que va a arrancar de nuevo (cosa que no hace):

%UTC-I-UPDTIME, updating Time Zone information in SYS$COMMON:[SYSEXE]


    Configuring the Local Time Zone


    TIME ZONE SPECIFICATION -- Main Time Zone Menu

      1) Australia       11) GMT             21) Mexico          31) Turkey
      2) Brazil          12) Greenwich       22) NZ              32) UCT
      3) CET             13) Hong Kong       23) NZ-CHAT         33) US
      4) Canada          14) Iceland         24) Navajo          34) UTC
      5) Chile           15) Iran            25) PRC             35) Universal
      6) Cuba            16) Israel          26) Poland          36) W-SU
      7) EET             17) Jamaica         27) ROC             37) WET
      8) Egypt           18) Japan           28) ROK             38) Zulu
      9) Factory         19) Libya           29) Singapore
     10) GB-Eire         20) MET             30) SystemV

      0) None of the above

Select the number above that best describes your location: 20

You selected MET as your time zone.
Is this correct? (Yes/No) [YES]:

    Default Time Differential Factor for standard time is 1:00.
    Default Time Differential Factor for daylight saving time is 2:00.

Is Daylight Savings time in effect? (Yes/No): n

Enter the Time Differential Factor [1:00]:

    NEW SYSTEM TIME DIFFERENTIAL FACTOR = 1:00.

Is this correct? [Y]:

********************************************************************************


    Running AUTOGEN to compute the new SYSTEM parameters ...

%AUTOGEN-I-BEGIN, GETDATA phase is beginning.
%AUTOGEN-I-NEWFILE, A new version of SYS$SYSTEM:PARAMS.DAT has been created.
        You may wish to purge this file.
%AUTOGEN-I-END, GETDATA phase has successfully completed.
%AUTOGEN-I-BEGIN, GENPARAMS phase is beginning.
%AUTOGEN-I-NEWFILE, A new version of SYS$MANAGER:VMSIMAGES.DAT has been created.
        You may wish to purge this file.
%AUTOGEN-I-NEWFILE, A new version of SYS$SYSTEM:SETPARAMS.DAT has been created.
        You may wish to purge this file.
%AUTOGEN-I-END, GENPARAMS phase has successfully completed.
%AUTOGEN-I-BEGIN, GENFILES phase is beginning.
%SYSGEN-I-EXTENDED, SYS$SYSROOT:[SYSEXE]PAGEFILE.SYS;1 extended
%SYSGEN-I-EXTENDED, SYS$SYSROOT:[SYSEXE]SWAPFILE.SYS;1 extended
%SYSGEN-I-CREATED, SYS$SPECIFIC:[SYSEXE]SYSDUMP.DMP;1 created
%SYSGEN-I-CREATED, DUA0:[SYS0.SYSEXE]ERRORLOG.DMP;1 created

%AUTOGEN-I-REPORT, AUTOGEN has produced some informational messages which
        have been stored in the file SYS$SYSTEM:AGEN$PARAMS.REPORT.  You may
        wish to review the information in that file.

%AUTOGEN-I-END, GENFILES phase has successfully completed.
%AUTOGEN-I-BEGIN, SETPARAMS phase is beginning.
%AUTOGEN-I-END, SETPARAMS phase has successfully completed.
%AUTOGEN-I-BEGIN, REBOOT phase is beginning.

    The system is shutting down to allow the system to boot with the
    generated site-specific parameters and installed images.

    The system will automatically reboot after the shutdown and the
    installation will be complete.



        SHUTDOWN -- Perform an Orderly System Shutdown


%SHUTDOWN-I-BOOTCHECK, performing reboot consistency check...
%SHUTDOWN-I-CHECKOK, basic reboot consistency check completed

%SHUTDOWN-I-OPERATOR, this terminal is now an operator's console
%OPCOM-W-NOOPCOM, the request was not sent, the OPCOM process is not running
%SHUTDOWN-I-DISLOGINS, interactive logins will now be disabled
%SET-I-INTSET, login interactive limit = 0, current interactive value = 0
%SHUTDOWN-I-STOPQUEUES, the queues on this node will now be stopped
%JBC-E-OPENERR, error opening SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT;
-RMS-E-FNF, file not found

SHUTDOWN message from user SYSTEM at  Batch   20:24:36
The system will shut down in 0 minutes; back up SOON.  Please log off.
Reboot system with AUTOGENerated parameters


%SHUTDOWN-I-STOPUSER, all user processes will now be stopped
%SHUTDOWN-I-REMOVE, all installed images will now be removed
%SHUTDOWN-I-DISMOUNT, all volumes will now be dismounted
%OPCOM-W-NOOPCOM, the request was not sent, the OPCOM process is not running
%OPCOM-W-NOOPCOM, the request was not sent, the OPCOM process is not running
HALT instruction, PC: 8443B709 (MOVB 400(R1),R0)
sim> Simulation stopped, PC: 839ABD36 (ASHL #1,R3,R0)

Hasta aquí la instalación de OpenVMS. Ahora voy a intentar instalar la licencia. La licencia es un fichero de comandos ejecutable por lo que lo que tengo es que intentar hacerlo llegar al sistema de archivos de OpenVMS.

Antes de nada, voy a intentar rearrancar el sistema. Para ver si funciona:

Imagen41

La secuencia de mensajes, durante el arranque de OpenVMS es:

(BOOT/R5:0 DUA0



  2..
-DUA0
  1..0..


%SYSBOOT-I-SYSBOOT Mapping the SYSDUMP.DMP on the System Disk
%SYSBOOT-I-SYSBOOT SYSDUMP.DMP on System Disk successfully mapped
%SYSBOOT-I-SYSBOOT Mapping PAGEFILE.SYS on the System Disk
%SYSBOOT-I-SYSBOOT SAVEDUMP parameter not set to protect the PAGEFILE.SYS
   OpenVMS (TM) VAX Version V7.3     Major version id = 1 Minor version id = 0
%WBM-I-WBMINFO Write Bitmap has successfully completed initialization.
$!  Copyright 2001 Compaq Computer Corporation.

%STDRV-I-STARTUP, OpenVMS startup begun at 16-DEC-2018 10:02:25.02
%RUN-S-PROC_ID, identification of created process is 00000206
%DCL-S-SPAWNED, process SYSTEM_1 spawned
%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:46.13  %%%%%%%%%%%
Operator _TCVAX$OPA0: has been enabled, username SYSTEM

%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:46.14  %%%%%%%%%%%
Operator status for operator _TCVAX$OPA0:
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER, SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9, OPER10,
OPER11, OPER12

%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:46.44  %%%%%%%%%%%
Logfile has been initialized by operator _TCVAX$OPA0:
Logfile is TCVAX::SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;2

%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:46.44  %%%%%%%%%%%
Operator status for operator TCVAX::SYS$SYSROOT:[SYSMGR]OPERATOR.LOG;2
CENTRAL, PRINTER, TAPES, DISKS, DEVICES, CARDS, NETWORK, CLUSTER, SECURITY,
LICENSE, OPER1, OPER2, OPER3, OPER4, OPER5, OPER6, OPER7, OPER8, OPER9, OPER10,
OPER11, OPER12

%SET-I-NEWAUDSRV, identification of new audit server process is 0000020C
%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:47.54  %%%%%%%%%%%
Message from user JOB_CONTROL on TCVAX
%JBC-E-OPENERR, error opening SYS$COMMON:[SYSEXE]QMAN$MASTER.DAT;

%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:47.54  %%%%%%%%%%%
Message from user JOB_CONTROL on TCVAX
-RMS-E-FNF, file not found

%LICENSE-F-EMTLDB, license database contains no license records
%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:49.19  %%%%%%%%%%%
Message from user SYSTEM on TCVAX
%SECSRV-E-NOPROXYDB, cannot find proxy database file NET$PROXY.DAT
%RMS-E-FNF, file not found

%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:49.22  %%%%%%%%%%%
Message from user SYSTEM on TCVAX
%SECSRV-E-NOPROXYDB, cannot find proxy database file NET$PROXY.DAT
%RMS-E-FNF, file not found

%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:49.28  %%%%%%%%%%%
Message from user SYSTEM on TCVAX
%SECSRV-I-CIACRECLUDB, security server created cluster intrusion database

%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:49.29  %%%%%%%%%%%
Message from user SYSTEM on TCVAX
%SECSRV-I-SERVERSTARTINGU, security server starting up

%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:49.37  %%%%%%%%%%%
Message from user SYSTEM on TCVAX
%SECSRV-I-CIASTARTINGUP, breakin detection and evasion processing now starting up

%SMG-W-GBLNOTCRE, global section not created
-SYSTEM-F-GPTFULL, global page table is full
%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:51.06  %%%%%%%%%%%
Message from user SYSTEM on TCVAX
%LICENSE-E-NOAUTH, DEC VAX-VMS use is not authorized on this node
-LICENSE-F-NOLICENSE, no license is active for this software product
-LICENSE-I-SYSMGR, please see your system manager


%LICENSE-E-NOAUTH, DEC VAX-VMS use is not authorized on this node
-LICENSE-F-NOLICENSE, no license is active for this software product
-LICENSE-I-SYSMGR, please see your system manager
Startup processing continuing...

%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:51.81  %%%%%%%%%%%
Message from user SYSTEM on TCVAX
Warning: DECdtm log file not found (SYS$JOURNAL:SYSTEM$TCVAX.LM$JOURNAL)
        %RMS-E-FNF, file not found
        TP server process waiting


%%%%%%%%%%%  OPCOM  16-DEC-2018 10:02:53.71  %%%%%%%%%%%
Message from user AUDIT$SERVER on TCVAX
Security alarm (SECURITY) and security audit (SECURITY) on TCVAX, system id: 1025
Auditable event:          Audit server starting up
Event time:               16-DEC-2018 10:02:53.55
PID:                      00000203
Username:                 SYSTEM

%STARTUP-I-AUDITCONTINUE, audit server initialization complete

The OpenVMS VAX system is now executing the site-specific startup commands.

%SET-I-INTSET, login interactive limit = 64, current interactive value = 0
  SYSTEM       job terminated at 16-DEC-2018 10:02:55.32

  Accounting information:
  Buffered I/O count:            1134         Peak working set size:    1791
  Direct I/O count:               499         Peak page file size:      4924
  Page faults:                   3385         Mounted volumes:             0
  Charged CPU time:           0 00:00:22.56   Elapsed time:     0 00:00:30.76

 Welcome to OpenVMS (TM) VAX Operating System, Version V7.3

Username:

De entrada, observo que la hora está mal configurada, el sistema tiene una hora menos que la que debería. Procedo a hacer logon en el sistema y aparece una pantalla ancha con el prompt de VAX (‘$’):

Imagen42

El fichero de licencias es un fichero de texto de más de 2000 líneas que tiene una serie de comandos VAX. Voy a intentar hacer un copia y pega desde un editor del PC al editor de VAX dentro de la simulación. Para ello, lanzo el comando:

$ EDIT PACKS.COM

Se abre el editor, copio las líneas del fichero de licencias desde el Notepad++ del PC y, en la ventana del terminal, al pulsar el botón de la derecha del ratón, se pegan las líneas. Tarda un ratito y, una vez pegadas pulso Ctrl-Z para salvar el fichero y, ahí está:

Imagen43

Lo último que me queda es activar la licencia ejecutando el fichero de comandos:

$ @PACKS.COM

La ejecución del fichero de comandos se toma su tiempo y cuando finaliza voy a reiniciar la máquina para terminar la configuración:

$ @SYS$SYSTEM:SHUTDOWN

Las últimas tareas que voy a realizar (por ahora) son configurar los otros dos discos que tengo en el sistema. Voy a ejecutar los comandos siguientes (tendré que configurar esto para que el montaje se haga en cada uno de los arranques):

Imagen44

Por ahora nada más. Bajarme la documentación y recordar DCL.

Descarga y compilación de simh

Tal y como comenté en la primera entrada de esta serie, el objetivo que me propongo es conseguir instalar OpenVMS en una Raspberry Pi de forma que se ejecute sobre el simulador simh.

Una vez obtenidas las imágenes del sistema operativo, el siguiente paso es crear una imagen de Raspbian para, sobre ella, instalar simh y, posteriormente, configurar OpenVMS. El crear una imagen de Raspbian y hacer su configuración inicial es un camino que tengo trillado y voy a seguir mi propia experiencia, intentando no cometer los errores que ya he cometido. Una vez creada la imagen, me conecto al router de banda ancha e investigo los dispositivos conectados para conocer la dirección IP de la Raspberry:

Imagen13

Una vez conocida la dirección IP voy a proceder a su configuración conectándome por ssh:

Imagen14

El siguiente paso es configurar el nombre de la máquina, colocarle una IP estática y actualizar el software. Ahora viene la parte difícil que es instalar simh. Por lo que he visto, lo recomendable es descargarse el código fuente desde GitHub y compilarlo en la raspi. He comprobado también que está en el repositorio en la versión 3.8.1-5.

Imagen15

La versión que hay en GitHub es la 4.0:

Imagen17

Vamos por el camino difícil. Descargar los fuentes y compilar. En el README.md del sitio de simh en GitHub proporciona las instrucciones para descargar los fuentes y construir los binarios. En primer lugar me descargo el master.zip que contiene los fuentes:

Imagen18

Imagen19

A continuación voy a compilar simh. Me cambio al directorio que contiene el paquete y hago, en primer lugar un make clean y, a continuación un make vax para crear los simuladores de VAX. A ver cuánto se alarga la espera.

Imagen21

Realmente ha tardado muy poco, unos 5 minutos. En este momento, ya tenemos compilado el simulador para VAX.

Imagen24

En el siguiente post abordaré la configuración inicial de simh.

Recordando viejos tiempos

vax

De vez en cuando, uno mira hacia atrás y se da cuenta de la cantidad de tiempo que ha pasado desde que comencé en este negocio. Para hacer frente a la nostalgia no hay nada mejor que intentar resituarse en el pasado. Mis comienzos profesionales en este mundo de la TI (a finales de los 80) fueron como programador Ada en un entorno VAX/VMS, en concreto, la máquina que teníamos, por aquel entonces, era un MicroVAX 3xxx. Vamos algo del tamaño de una lavadora y que costaba unos 100.000$ de los de entonces.

microvax36

Guardo un cariñoso recuerdo de aquel sistema operativo que, entre otras cosas, conservaba las distintas versiones de los ficheros editados, sus comandos no distinguían entre mayúsculas y minúsculas, tenía un maravilloso editor de texto (frente a vi o emacs) y una ayuda aún mejor. En medio de este ataque de nostalgia decidí investigar si era posible emular la arquitectura hardware y montar una máquina, en principio virtual, VAX/VMS en mi entorno casero.

Descubrí, para mi sorpresa, que el sistema operativo sigue vivo y, al parecer en uso, en muchos sitios y que ha sobrevivido a la desaparición de Digital Equipment Corporation (DEC) empresa que, en los avatares de la crisis económica de principios de los 90, empezó a perder mercado y fue, posteriormente, incorporada a Compaq y, finalmente, a HP. HP ha seguido manteniendo y comercializando el sistema operativo (OpenVMS) y, proporciona, de forma gratuita, licencias de OpenVMS para aquellos que (como yo) tienen un interés meramente lúdico en la plataforma (OpenVMS Hobbyist Program). La página web de este programa está enterrada en la web de HP y, la verdad es que se hace difícil llegar a ella.

Descubrí, además, que es factible hacer que el OpenVMS se ejecute sobre un simulador que, a su vez, puede ejecutarse en una Raspberry Pi. Parece increíble, un entorno de centenares de miles de dólares de hace 30 años se puede ejecutar en una máquina de 30€.

Ni corto ni perezoso voy a recapitular lo que necesito para montarlo y me pongo a ello:

  • Una Raspberry Pi (tengo una 3 nuevecita)
  • Una tarjeta micro SD (voy a usar una de 16GB)
  • Una imagen de Raspbian (me la bajo de aquí)
  • Descargarme SimH e instalarlo en Raspbian
  • Obtener una imagen de OpenVMS y hacerla correr en Simh

Voy a hacer una serie de posts describiendo estos pasos y vamos a ver a dónde llego. Repasando los puntos anteriores, veo que los tres primeros son sencillos. El cuarto, a priori, implica bajarse el código fuente y compilarlo en la Raspi, complicado pero factible. El quinto me preocupa porque, por más que busco necesito dos cosas que no encuentro en Internet:

  • Una imagen del sistema operativo
  • Una licencia que, a priori es necesaria para que se ejecute.

Empezaré por el último paso porque es el que supone un reto más importante.

Por último, esta entrada, como todas las del blog las escribo para mí, para acordarme de lo que hago y poder reproducirlo así que no tengo ninguna pretensión de precisión. La información, amigos, es “as is”.