Categoría: Uncategorized

  • Grabar un fichero mayor de 2Gb en DVD

    Para grabar un fichero de este tamaño es necesario usar el formato UDF:

    http://es.wikipedia.org/wiki/Universal_Disk_Format

     

     

    En Debian, instalamos el paquete udftools para poder dar este formato al fichero .iso que grabaremos.

    Por ejemplo:

    apt-get install udftools
    
    dd if=/dev/zero of=file.iso bs=1024 count=4589800
    mkudffs file.iso
    mkdir /mnt/loop
    mount -o loop -t udf file.iso /mnt/loop
    cp big_file /mnt/loop
    umount /mnt/loop
    growisofs -speed 4 -Z /dev/dvd=file.iso
  • Lisp1.5 en PDP1

    Introducción

     

    En una de las asignaturas que tuve en la facultad se impartía Lisp. Este lenguaje siempre me pareció muy interesante, por su elegancia y simplicidad. En estos últimos meses, cada vez leo mas de Lisp por dos motivos principales, es uno de los lenguajes que se estan montando encima de la máquina virtual Parrot, y el otro motivo, es que algunos colegas me estan liando con Emacs, y el lenguaje de extensión de emacs es una variante de Lisp. Bueno, tambien hay otro motivo fundamental, y es que en todas las maquinas (OSes) que me parecen interesantes hay versiones de lisp, ejemplos: Multics(maclisp), ITS(maclisp), TOPS-10, TOPS-20(interlisp, maclisp), VAX(franz lisp), Apollo(T), etc..

    .. Y una de las mejores formas de ver Lisp, es quizas probándolo en arquitecturas antiguas, así que aquí lo vamos a probar en un PDP1.  Esta versión de Lisp es del 23 de febrero de 1964, fué escrita por L. Peter Deutsch y es una de las primeras de uso generico y la primera de uso interactivo. Cabe destacar que esta totalmente escrita en ensamblador, y quitando los comentarios y las líneas de separación ocupa unas mil quinientas líneas de código.

     

    Instalación de SIMH

     

    Como es habitual, vamos a usar SIMH para emular el PDP1. Dudo mucho que alguien tenga un PDP1 real, que se sepa, sólo quedan tres sistemas funcionales,  y están en el CHM.

    Instalar SIMH no tiene ningún problema, salvo que se necesita un directorio BIN y que se necesita enlazar con la libreria «librt», que por defecto no viene con SIMH.

    Es por ello que en vez de un paquete, bajaremos la última versión de SIMH, la compilaremos e instalarlemos en algún lugar que esté en nuestro PATH (por ejemplo /usr/local/bin,  cambiar a gusto del consumidor).

     

    Nota: No sólo instalamos el emulador del PDP1, sino la totalidad de emuladores, ya que podríamos hacer uso de ellos más adelante.

     

    mkdir -p ~/emuladores/simh
    cd ~/emuladores/simh
    wget http://simh.trailing-edge.com/sources/simhv37-3.zip
    unzip simhv37-3.zip
    mkdir BIN
    mv makefile makefile.orig
    cat makefile.orig | sed s/c99/"c99 -lrt"/ > makefile
    make
    sudo cp BIN/* /usr/local/bin
    

    Estos comandos bajaran la última version de SIMH, compilan los fuentes e  instalan los binarios resultantes en /usr/local/bin .

    NOTA: Bob Supknik, el autor de SIMH ha anunciado recientemente que va a sacar una nueva versión de SIMH, posiblemente en una semana (hoy es 9 de junio de 2008). La nueva version ya vendrá parcheada…

     
    Con esto ya tendremos el emulador de la máquina PDP1 listo.

    Descarga de los fuentes de Lisp1.5

     

    Esta versión de Lisp está disponible como un paquete de software listo para funcionar en el emulador SIMH, así que lo único que tendremos que hacer es descargarlo en nuestro directorio de trabajo y descomprimirlo:

    mkdir -p ~/emuladores/pdp1-lisp
    cd ~/emuladores/pdp1-lisp
    wget http://simh.trailing-edge.com/kits/lispswre.zip
    unzip lispswre.zip 

     

    En el paquete viene el código fuente del Lisp, el fichero .mac, así como una imagen lista para cargar en el emulador. Me parece más interesante ensamblar el código y crear esa imagen nosotros mismos, ya que viene un ensablador cruzado en el paquete. Tan sólo tenemos que compilar previamente el ensamblador:

     

    rm lisp.rim
    cc macro1.c -o macro1
    ./macro1 lisp.mac
    

     

    Ejecución de Lisp en la máquina PDP1

     

    Antes de poder usar el emulador con la imagen de Lisp, hay que seguir unos pasos previos, lanzamos el emulador…

     

    pdp1
    
    PDP-1 simulator V3.7-2
    sim> 
    

     

    Y tecleamos las secuencias… (tecleamos lo que está en negrita):

     

    set cpu mdv
    load lisp.rim
    deposit extm_init 1
    run
    
           HALT INSTRUCTION, PC: 002353 (CLA LAT CLI)
    
    deposit tw 7777
    cont
    
           HALT INSTRUCTION, PC: 002357 (CLA LAT)
    
    deposit tw 400
    cont
    
            HALT INSTRUCTION, PC: 000005 (STF5)
    
    deposit ss 2
    save lisp.sav
    cont
    

     

    En el momento que tecleemos el ultimo cont, ya estamos el el bucle read-eval, con lo cual ya le podemos pasar expresiones ..

     

    (car (quote (a b c d))) --- detras del ultimo parentesis pulsar espacio
    a 
    
    (cdr (quote (a b c d))) 
    (b c d) 
    
    oblist 
    (d c b a atom car cdr cond cons eq gensym greaterp list minus n
    umberp stop prin1 quotient rplaca rplacd terpri prog return go s
    etq sassoc plus times logand logor xeq loc null quote lambda apv
    al subr expr fsubr fexpr t oblist read eval print nil) 
    
    (rplaca (quote (nil x y))
    (quote (a b)))
     ((a b) x y) 
    

     

    Para salir del emulador solo hay que pulsar ^e y luego teclear exit:

     

    oblist
     
    (atom car cdr cond cons eq gensym greaterp list minus numberp s
    top prin1 quotient rplaca rplacd terpri prog return go setq sass
    oc plus times logand logor xeq loc null quote lambda apval subr 
    expr fsubr fexpr t oblist read eval print nil) ^e
    Simulation stopped, PC: 001133 (SZS5)
    sim> exit
    Goodbye
    paco@linux:~/emuladores/pdp1-lisp$
    

     

    Para que la próxima vez que queramos jugar con Lisp no haya que teclear la parte de la configuración, podemos aprovechar que hicimos una imagen en lisp.sav, así que únicamente tendremos que restaurarla. Además, se puede automatizar la carga de los parámetros, usando el fichero pdp1.ini:

     

    cat > pdp1.ini
    restore lisp.sav
    cont -- tecleamos ^Z
    paco@linux:~/emuladores/pdp1-lisp$ pdp1
    
    PDP-1 simulator V3.7-2
    oblist 
    (atom car cdr cond cons eq gensym greaterp list minus numberp s
    top prin1 quotient rplaca rplacd terpri prog return go setq sass
    oc plus times logand logor xeq loc null quote lambda apval subr 
    expr fsubr fexpr t oblist read eval print nil) 
    

     

    Funciones del PDP1 Lisp

     

    • atom
    • car
    • cdr
    • cond x y
    • CONS x y
    • eq x y
    • eval x
    • gensym
    • greaterp x y
    • go
    • list
    • loc x
    • logand x y
    • logor x y
    • minus x
    • null x
    • numberp x
    • plus x y
    • prin1 x
    • print
    • prog
    • quote
    • quotient x y
    • read
    • return
    • rplaca
    • rplacd
    • sassoc
    • setq
    • stop x
    • terpri
    • times x y
    • xeq c a i

     

    Objetos

        

    • oblist
    • nil
    • t
    • expr
    • subr
    • fexpr
    • fsubr
    • apval

     

    Enlaces de interés

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • Ultrix32 en VAX

     

    NOTA: esta es la secuencia de instalación, no esta acabado, iré poco a poco explicando los pasos para completar el artículo..

     

     

     

     

    El fichero de configuracion del emulador:

    cat > vax.ini 
    ;
    ; Load CPU microcode
    load -r ka655x.bin
    ;
    ; Attach non-volatile RAM to a file
    attach nvr nvram.bin
    ;
    ; This virtual machine has 64M memory
    set cpu 64m
    ;
    ; Define disk drive types. RA92 is largest-supported VAX drive.
    set rq0 ra92
    set rq1 ra92
    set rq2 cdrom
    ;set rq3 cdrom
    ;
    ; Attach defined drives to local files
    attach rq0 ultrix_d0.dsk
    attach rq1 ultrix_d1.dsk
    attach rq2 ultrix_d2.dsk
    ;
    ; Attach the CD-ROM to its file (read-only) 
    attach -r rq2 ultrix_4.5_vax.iso
    ;
    ; Disable unused devices. It's also possible to disable individual devices,
    ; using a construction like "set rq2 disable" if desired. 
    ;
    set rl disable
    set ts disable
    ; 
    ; Attach Ethernet to a network interface
    set xq mac=08-00-2B-AA-BB-CC
    attach xq eth0
    ;
    ; Now start the emulator
    boot cpu
    ^D
    
    

     

     

    La instalacion de Ultrix 4.3 no esta soportada en disco mayores al ra90, pero aqui hay un método que nos permite la instalacion

     

    paco@javier:~/emuladores/vax-ultrix$ vax
    
    VAX simulator V3.7-3
    NVR: buffering file in memory
    RQ: unit is read only
    vax.ini> attach xq eth0
    Command not allowed
    
    
    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 dua2
    (BOOT/R5:0 DUA2
    
    
    
      2..
    -DUA2
      1..0..
    
    
    Ultrixboot - V4.5  Sun Sep 17 13:03:13 EDT 1995
    
    Loading (a)vmunix ...
    
    Sizes:
    text = 945424
    data = 1290240
    bss  = 757940
    Starting at 0x5219
    
    ULTRIX V4.5 (Rev. 47) System #2: Wed Oct 18 12:06:55 EDT 1995
    real mem  = 67043328
    avail mem = 61517824
    Buffer configuration adjusted to run with small system page table
    using 123 buffers containing 1007616 bytes of memory
      KA655 processor with an FPU
            CPU microcode rev = 6, processor firmware rev = 83
    Q22 bus
    uda0 at uba0
    uq0 at uda0 csr 172150 vec 774, ipl 15
    klesiu0 at uba0
    uq16 at klesiu0 csr 174500 vec 770, ipl 15
    ra1 at uq0 slave 1 (RA92)
    ra2 at uq0 slave 2 (RRD40)
    ra3 at uq0 slave 3 (RX50)
    ra0 at uq0 slave 0 (RA92)
    tms1 at uq16 slave 1 (TK50)
    tms2 at uq16 slave 2 (TK50)
    tms3 at uq16 slave 3 (TK50)
    tms0 at uq16 slave 0 (TK50)
    WARNING: clock lost 130 days -- CHECK AND RESET THE DATE!
    
    *** STANDALONE ULTRIX ENVIRONMENT *** 
    
    If you select the BASIC Installation option from the list that follows,
    the installation software creates file systems on default partitions on
    your system disk and loads the mandatory ULTRIX software subsets.
    
    If you require additional installation choices, select the ADVANCED
    Installation option.
    
    Select one of the following options: 
    
            1) BASIC Installation
            2) ADVANCED Installation
            3) System management 
    
    Enter your choice: 3
    
    # ed install.1
    16763
    173s/`btd`/ra2/
    193s/rz/ra/
    w
    16761
    q
    # ^D
    *** STANDALONE ULTRIX ENVIRONMENT *** 
    
    If you select the BASIC Installation option from the list that follows,
    the installation software creates file systems on default partitions on
    your system disk and loads the mandatory ULTRIX software subsets.
    
    If you require additional installation choices, select the ADVANCED
    Installation option.
    
    Select one of the following options: 
    
            1) BASIC Installation
            2) ADVANCED Installation
            3) System management 
    
    Enter your choice: 2
    
    *** SYSTEM DISK SELECTION ***
    
    The 'Guide to Installing ULTRIX' explains the following table 
    of system disk drives.  Select one of the devices below to contain the
    root file system: 
    
    SYSTEM DISK TABLE 
    
    Selection   Device     ULTRIX     Device       Controller   Controller 
                Name       Name       Number       Name         Number     
    ---------------------------------------------------------------------- 
        1       RA92        ra0          0         RQDX3          0
        2       RA92        ra1          1         RQDX3          0
    ---------------------------------------------------------------------- 
    
    Enter your choice: 1
    
    You selected RA92, device number 0. Make sure this disk drive 
    is on line and write-enabled (if applicable to your disk drive), then
    confirm your choice.
    
    Use RA92, ra0, for your system disk? (y/n) []: y
    
    The installation procedure now allocates the root file system on
    partition 'a' of the system disk, ra0 RA92. 
    
    Making the root file system on ra0 RA92.
    
    The installation procedure is now restoring the root file system to
    partition 'a' of the system disk, ra0 RA92.
    
    The installation procedure now checks the root file system on partition 'a'
    of the system disk, ra0  RA92.
    ** /dev/rra0a
    ** Last Mounted on /mnt
    ** Phase 1 - Check Blocks and Sizes
    ** Phase 2 - Check Pathnames
    ** Phase 3 - Check Connectivity
    ** Phase 4 - Check Reference Counts
    ** Phase 5 - Check Cyl groups
    226 files, 4547 used, 11004 free (20 frags, 1373 blocks, 0.1% fragmentation)
    
     *** BOOTSTRAP COMMAND SEQUENCE ***
    
    Enter the following boot sequence at the console mode prompt
    after the installation software halts the processor: 
    
            >>> b dua0
    
    
    syncing disks... done
    
    HALT instruction, PC: 8007F799 (BRB 8007F798)
    
    

     

     

     

     

     

     

     

     

    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.
    >>> b dua0
    (BOOT/R5:0 DUA0
    
    
    
      2..
    -DUA0
      1..0..
    
    
    Ultrixboot - V4.5  Sun Sep 17 13:03:13 EDT 1995
    
    Loading (a)vmunix ...
    
    Sizes:
    text = 1153664
    data = 281088
    bss  = 1043548
    Starting at 0x5219
    
    ULTRIX V4.5 (Rev. 47) System #3: Wed Oct 18 11:49:00 EDT 1995
    real mem  = 67043328
    avail mem = 62008320
    Buffer configuration adjusted to run with small system page table
    using 121 buffers containing 991232 bytes of memory
      KA655 processor with an FPU
            CPU microcode rev = 6, processor firmware rev = 83
    Q22 bus
    uda0 at uba0
    uq0 at uda0 csr 172150 vec 774, ipl 15
    klesiu0 at uba0
    uq16 at klesiu0 csr 174500 vec 770, ipl 15
    qe0 at uba0 csr 174440 vec 764, ipl 15
    qe0: DEC DELQA Ethernet Interface DEQNA-lock Mode, hardware address 08:00:2b:aa:bb:cc
    lp0 at uba0 csr 177514 vec 200, ipl 14
    ra1 at uq0 slave 1 (RA92)
    ra2 at uq0 slave 2 (RRD40)
    ra3 at uq0 slave 3 (RX50)
    ra0 at uq0 slave 0 (RA92)
    tms1 at uq16 slave 1 (TK50)
    tms2 at uq16 slave 2 (TK50)
    tms3 at uq16 slave 3 (TK50)
    tms0 at uq16 slave 0 (TK50)
    
     *** SYSTEM NAME SPECIFICATION *** 
    
    Select the name of your system using alphanumeric characters. 
    The first character must be a letter.   For example, tinker.
     
    Enter your system name:  tinker
    
    You selected tinker as the name of your system.
    Is this correct? (y/n) [y]: y
    
    *** DATE AND TIME SPECIFICATION *** 
    
    The current date and time should be specified using the following
    format:
    
            yymmddhhmm
    
    Use two digits for year (yy), month (mm), day (dd), hour (hh), and
    minute (mm).  Enter the time in 24-hour format.  For example, 02:54
    p.m. on Feb 2, 1993 would be entered as:
    
            9302021454
    
    Enter the date and time: 0806101625
    
    *** TIME ZONE SELECTION ***
            
    Select the time zone for your area, using the options listed in the
    table below.  You can also enter the number of hours (-12 to 12) in
    time east of Greenwich.
    
      Selection     Time Zone 
    ---------------------------------
          e         Eastern
          c         Central
          m         Mountain
          p         Pacific
          g         Greenwich
    ---------------------------------
    
    Enter your choice: g
    
    Does your area alternate between Daylight Savings and Standard
    time? (y/n) [y]: 
    
    
    Select your geographic area for Daylight Savings Time, using the
    options in the table below.
    
      Selection     Geographic Area 
    --------------------------------
          u         USA
          a         Australia
          e         Eastern Europe
          c         Central Europe
          w         Western Europe
    --------------------------------
    
    Enter your choice [u]: e
    
    The current date and time is Thu Jun 11 16:25:19 WET DST 1970
    
    
    *** SPECIFY THE SUPERUSER PASSWORD *** 
    The Guide to Installing ULTRIX instructs you on how to enter
    the superuser password.  
    Changing password for root
    Enter new password:****** 
    Verify:****** 
    
    
    *** FILE SYSTEM DEFAULT OPTION ***
    
    The following table shows the default file system layout on RA92, ra0:
    
    partition     bottom        top       size    overlap       default
        a              0      32767      32768    c             root
        b          32768     159839     127072    c             swap, dump
        g         159840    1840626    1680787    c,d,e,f       /usr 
    
    If you choose the defaults, the var area will be allocated to /usr/var.  
    
    Do you want to choose the default file system layout? (y/n): y
    
    Making the new file system for /usr on /dev/rra0g RA92
    
    This distribution media includes subsets for ULTRIX Worksystem
    Software (UWS).  A UWS license (on a workstation) or a UWS Server
    License (on a timesharing machine or server) is required to install
    these subsets.
    
    Do you want to install ULTRIX Worksystem Software? y/n []: n
    
    
    *** SUPPORTED SOFTWARE INSTALLATION ***
    
    *** Enter Subset Selections ***
    
    The following subsets are mandatory and will be installed automatically:
     * Base System                           * Kernel Config Files                  
     * TCP/IP Networking Utilities           * Network File System Utilities        
     * Extended (Berkeley) Mailer           
    
    The subsets listed below are optional:
     1) Printer Support Environment          2) RAND Mail Handler                   
     3) Sys. Config. Mgmt. Program (SCAMP)   4) Communications Utilities            
     5) Unix-to-Unix Copy Facility           6) Maintenance Operations Protocol     
     7) Accounting Software                  8) Kerberos Network Authentication     
     9) Enhanced Security Features          10) Prestoserve Utilities               
    11) System Exerciser Package            12) Bisynchronous Communications        
    13) Doc. Preparation for Ref. Pages     14) Doc. Preparation Extensions         
    15) Adobe Font Metric Files             16) Software Development Utilities      
    17) Source Code Control System          18) Internationalization Runtime Env.   
    19) Internationalization Dev. Env.      20) CDA Base System                     
    21) CDA Software Dev Libraries          22) RPC Runtime Environment             
    23) RPC Development Environment         24) Pascal Development Package          
    25) VAX C/ULTRIX                        26) Ref. Pages for Sys. Admin. & Users  
    27) Reference Pages for Programers      28) Programming Examples                
    29) Ultrix SPDS                         
    
    30) All mandatory and all optional subsets
    31) Mandatory subsets only
    32) Exit without installing subsets
    
    Enter your choice(s): 30
            Working....Thu Jun 11 16:27:41 WET DST 1970
    
    You are installing the following subsets:
       Base System                             Kernel Config Files                  
       TCP/IP Networking Utilities             Network File System Utilities        
       Extended (Berkeley) Mailer              Printer Support Environment          
       RAND Mail Handler                       Sys. Config. Mgmt. Program (SCAMP)   
       Communications Utilities                Unix-to-Unix Copy Facility           
       Maintenance Operations Protocol         Accounting Software                  
       Kerberos Network Authentication         Enhanced Security Features           
       Prestoserve Utilities                   System Exerciser Package             
       Bisynchronous Communications            Doc. Preparation for Ref. Pages      
       Doc. Preparation Extensions             Adobe Font Metric Files              
       Software Development Utilities          Source Code Control System           
       Internationalization Runtime Env.       Internationalization Dev. Env.       
       CDA Base System                         CDA Software Dev Libraries           
       RPC Runtime Environment                 RPC Development Environment          
       Pascal Development Package              VAX C/ULTRIX                         
       Ref. Pages for Sys. Admin. & Users      Reference Pages for Programers       
       Programming Examples                    Ultrix SPDS                          
    
    Is this correct? (y/n): y 
    
    

     

     

     

     

     

    Base System  (ULTBASE450)
       Copying from /mnt/VAX/BASE (disk)
            Working....Thu Jun 11 16:28:41 WET DST 1970
       Verifying
            Working....Thu Jun 11 16:29:56 WET DST 1970
    
    Kernel Config Files  (ULTBIN450)
       Copying from /mnt/VAX/BASE (disk)
            Working....Thu Jun 11 16:30:31 WET DST 1970
       Verifying
    
    TCP/IP Networking Utilities  (ULTINET450)
       Copying from /mnt/VAX/BASE (disk)
            Working....Thu Jun 11 16:31:33 WET DST 1970
       Verifying
    
    Network File System Utilities  (ULTNFS450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Extended (Berkeley) Mailer  (ULTUMAIL450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Printer Support Environment  (ULTPRINT450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    RAND Mail Handler  (ULTMH450)
       Copying from /mnt/VAX/BASE (disk)
            Working....Thu Jun 11 16:33:43 WET DST 1970
       Verifying
    
    Sys. Config. Mgmt. Program (SCAMP)  (ULTSMSCAMP450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Communications Utilities  (ULTCOMM450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Unix-to-Unix Copy Facility  (ULTUUCP450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Maintenance Operations Protocol  (ULTMOP450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Accounting Software  (ULTACCT450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Kerberos Network Authentication  (ULTKERB450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Enhanced Security Features  (ULTSEC450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Prestoserve Utilities  (ULTPRESTO450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    System Exerciser Package  (ULTEXER450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Bisynchronous Communications  (ULTBSC450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Doc. Preparation for Ref. Pages  (ULTDCMT450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Doc. Preparation Extensions  (ULTDCMTEXT450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Adobe Font Metric Files  (ULTAFM450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Software Development Utilities  (ULTPGMR450)
       Copying from /mnt/VAX/BASE (disk)
            Working....Thu Jun 11 16:41:11 WET DST 1970
       Verifying
    
    Source Code Control System  (ULTSCCS450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Internationalization Runtime Env.  (ULTINTLRT450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Internationalization Dev. Env.  (ULTINTLPGMR450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    CDA Base System (ULTCDABASE450)
       Copying from /mnt/VAX/BASE (disk)
            Working....Thu Jun 11 16:43:21 WET DST 1970
       Verifying
    
    CDA Software Dev Libraries (ULTCDAPGMR450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    RPC Runtime Environment  (ULTRPCRT450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    RPC Development Environment  (ULTRPCDEV450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Pascal Development Package  (ULTPASCAL450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    VAX C/ULTRIX  (ULTVAXC450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Ref. Pages for Sys. Admin. & Users  (ULTMAN450)
       Copying from /mnt/VAX/BASE (disk)
            Working....Thu Jun 11 16:46:44 WET DST 1970
       Verifying
    
    Reference Pages for Programers  (ULTMANPGMR450)
       Copying from /mnt/VAX/BASE (disk)
            Working....Thu Jun 11 16:47:35 WET DST 1970
       Verifying
    
    Programming Examples  (ULTEXAMPLES450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    Ultrix SPDS  (ULTSPD450)
       Copying from /mnt/VAX/BASE (disk)
       Verifying
    
    The installation software has successfully installed the software 
    subsets.
    Installing Upgrade subsets
    The following subsets will be installed:
     * Generic Kernel                       
    Do you wish to continue? (y/n): y
    
    Generic Kernel  (ULTGENVMUNIX451)
       Copying from /mnt/VAX/BASE_UPGRADE (disk)
       Verifying
    
    The installation procedure has successfully installed the Upgrade
    subsets
     
    

     

     

    *** CONFIGURATION FILE KERNEL OPTION SELECTION *** 
    
        Selection   Kernel Option 
    ---------------------------------------------------------------
            1       Local Area Transport (LAT)
            2       Bisynchronous Communication protocol (VAX only)
            3       Computer Interconnect (CI) network
            4       Diagnostic/Utilities Protocol (DUP)
            5       ISO9660 File System Support (CDFS)
            6       Ethernet Packet Filter
            7       Enhanced Security Features
            8       All of the above
            9       None of the above
    ----------------------------------------------------------------
    
    Enter the selection number for each kernel option you want.
    For example, 1 3 :  8
    
    You specified the following kernel options: 
    
            Local Area Transport (LAT)
            Bisynchronous Communication protocol
            Computer Interconnect (CI) network
            Diagnostic/Utilities Protocol (DUP)
            ISO9660 File System Support (CDFS)
            Ethernet Packet Filter
            Enhanced Security Features
    
    Is this correct? (y/n) [n]: y
    
    *** SYSTEM CONFIGURATION PROCEDURE ***
    The installation software found these devices in the floating
    address space:
    
            dz0             on uba0         at 0160100
            dz1             on uba0         at 0160110
            dz2             on uba0         at 0160120
            dz3             on uba0         at 0160130
    
    Configuration file complete.
    
    Do you want to edit the configuration file? (y/n) [n]: n
    
    
    *** PERFORMING SYSTEM CONFIGURATION *** 
    
    
        working ..... Thu Jun 11 16:56:03 WET DST 1970
        working ..... Thu Jun 11 16:58:03 WET DST 1970
    
    *** DEVICE SPECIAL FILE CREATION *** 
        working ..... Thu Jun 11 16:58:27 WET DST 1970
    
    *** SOFTWARE INSTALLATION PROCEDURE COMPLETE ***
    
    The following files were created during the installation procedure:
    
    /vmunix                         - customized kernel
    /genvmunix                      - generic kernel
    /usr/adm/install.log            - installation log file
    /usr/adm/install.FS.log         - file systems log file
    /usr/adm/install.DEV.log        - special device log file
    
    
    Enter the following boot sequence at the console mode prompt
    after the installation software halts the processor: 
    
            >>> b dua0
    
    
    syncing disks... done
    
    HALT instruction, PC: 800985B5 (BRB 800985B4)
    sim> 
    
    
    
    

     

    paco@javier:~/emuladores/vax-ultrix# vax
    
    VAX simulator V3.7-3
    NVR: buffering file in memory
    RQ: unit is read only
    Eth: opened eth0
    
    
    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 dua0
    (BOOT/R5:0 DUA0
    
    
    
      2..
    -DUA0
      1..0..
    
    
    Ultrixboot - V4.5  Sun Sep 17 13:03:13 EDT 1995
    
    Loading (a)vmunix ...
    
    Sizes:
    text = 757472
    data = 126976
    bss  = 663016
    Starting at 0x2c19
    
    ULTRIX V4.5 (Rev. 47) System #1: Thu Jun 11 16:58:18 WET DST 1970
    real mem  = 67043328
    avail mem = 56702976
    using 1636 buffers containing 6704128 bytes of memory
      KA655 processor with an FPU
            CPU microcode rev = 6, processor firmware rev = 83
    Q22 bus
    uda0 at uba0
    uq0 at uda0 csr 172150 vec 774, ipl 15
    klesiu0 at uba0
    uq16 at klesiu0 csr 174500 vec 770, ipl 15
    qe0 at uba0 csr 174440 vec 764, ipl 15
    qe0: DEC DELQA Ethernet Interface DEQNA-lock Mode, hardware address 08:00:2b:aa:bb:cc
    lp0 at uba0 csr 177514 vec 200, ipl 14
    dz0 at uba0 csr 160100 vec 300, ipl 15
    dz1 at uba0 csr 160110 vec 310, ipl 15
    dz2 at uba0 csr 160120 vec 320, ipl 15
    dz3 at uba0 csr 160130 vec 330, ipl 15
    ra1 at uq0 slave 1 (RA92)
    ra2 at uq0 slave 2 (RRD40)
    ra3 at uq0 slave 3 (RX50)
    ra0 at uq0 slave 0 (RA92)
    tms1 at uq16 slave 1 (TK50)
    tms2 at uq16 slave 2 (TK50)
    tms3 at uq16 slave 3 (TK50)
    tms0 at uq16 slave 0 (TK50)
    WARNING: preposterous time in file system -- CHECK AND RESET THE DATE!
    Sun Jul  4 13:00:00 WET DST 1976
    Automatic reboot in progress...
    /dev/ra0a: 731 files, 6168 used, 9383 free (159 frags, 1153 blocks, 1.0% fragmentation)
    /dev/rra0g: 5175 files, 63847 used, 744431 free (1695 frags, 92842 blocks, 0.2% fragmentation)
    Warning Creating new license database
    Warning creating new history file
    check quotas: done.
    savecore: checking for dump...dump does not exist
    local daemons: syslog sendmail.
    Removing remnant Opser files
    preserving editor files
    clearing /tmp
    standard daemons: update         Sun Jul 4 13:00:18 WET DST 1976
    
     cron accounting network snmpd printer.
    start errlog daemon - elcsd
    Sun Jul  4 13:00:19 WET DST 1976
    
    
    ULTRIX V4.5 (Rev. 47) (tinker)
    
    login: root
    Password:******
    
    ULTRIX V4.5 (Rev. 47) System #1: Thu Jun 11 16:58:18 WET DST 1970
    
                    Digital Equipment Corporation
                    Nashua, New Hampshire
    
    
    *** SOFTWARE INSTALLATION PROCEDURE COMPLETE ***
    
    The following files were created during the installation procedure:
    
    /vmunix                         - customized kernel
    /genvmunix                      - generic kernel
    /usr/adm/install.log            - installation log file
    /usr/adm/install.FS.log         - file systems log file
    /usr/adm/install.DEV.log        - special device log file
    
    # 
    
    

     

     

    # adduser paco
    
    Enter login name for new user (initials, first or last name):  paco
    Enter uid for new user [268]:  
    Enter full name for new user: Paco Linux
    What login group should this user go into [users]:  
    
    Enter another group that 'paco' should be a member of
    (<RETURN> only if none):  
    Enter parent directory for paco [/usr/users]:  /usr/users/paco
    /usr/users/paco not found, do you want to create it [yes]?  yes
    mkdir: /usr/users/paco: No such file or directory
    Unable to create /usr/users/paco.
    Enter parent directory for paco [/usr/users]:  
    /usr/users not found, do you want to create it [yes]?  
    The shells are:
    
    /bin/sh           /bin/csh          /usr/bin/ksh      /usr/bin/sh5
    
    Enter the users login shell name [/bin/csh]:  /usr/bin/sh5
    
    Adding new user ...
    Creating home directory...
    Until the password is set for paco they will not be able to login.
    Changing password for paco
    Enter new password:****** 
    Verify:****** 
    # ifconfig qe0 172.24.96.50 netmask 255.255.255.0
    # ifconfig qe0
    qe0: 172.24.96.50 netmask ffffff00 flags=0x443<DYNPROTO,RUNNING,BROADCAST,UP>
    broadcast: 172.24.96.255
    # ping 172.24.96.129
    172.24.96.129 is alive
    # 
    
    
    

     

     

    paco@javier:~$ telnet 172.24.96.129
    Trying 172.24.96.129...
    Connected to 172.24.96.129.
    Escape character is '^]'.
    
    
    User Access Verification
    
    Password: 
    sevilla>ena
    Password: 
    sevilla#telnet 172.24.96.50
    Trying 172.24.96.50 ... Open
    
    
    ULTRIX V4.5 (Rev. 47) (tinker)
    
    login: paco
    Password:******
    
    ULTRIX V4.5 (Rev. 47) System #1: Thu Jun 11 16:58:18 WET DST 1970
    
                    Digital Equipment Corporation
                    Nashua, New Hampshire
    
    
    *** SOFTWARE INSTALLATION PROCEDURE COMPLETE ***
    
    The following files were created during the installation procedure:
    
    /vmunix                         - customized kernel
    /genvmunix                      - generic kernel
    /usr/adm/install.log            - installation log file
    /usr/adm/install.FS.log         - file systems log file
    /usr/adm/install.DEV.log        - special device log file
    
    Erase is Delete
    Kill is Ctrl-U
    $ ls
    bin
    $ pwd               
    /usr/users/paco
    $ 
    
    
    

     

     

    paco@javier:~$ telnet 172.24.96.84
    Trying 172.24.96.84...
    telnet: Unable to connect to remote host: Connection refused
    paco@javier:~$ ssh 172.24.96.84
    paco@172.24.96.84's password: 
    Linux pruebas2 2.6.20-16-generic #2 SMP Fri Feb 1 02:59:08 UTC 2008 i686
    
    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.
    You have mail.
    Last login: Tue Jun 10 15:45:31 2008 from 172.24.96.3
    paco@pruebas2:~$ mkdir T
    paco@pruebas2:~$ cd T
    paco@pruebas2:~/T$ wget ftp://ftp.cs.indiana.edu/pub/scheme-repository/imp/t/sources.tar.gz
    --17:48:21--  ftp://ftp.cs.indiana.edu/pub/scheme-repository/imp/t/sources.tar.gz
               => `sources.tar.gz'
    Resolving ftp.cs.indiana.edu... 129.79.247.195
    Connecting to ftp.cs.indiana.edu|129.79.247.195|:21... connected.
    Logging in as anonymous ... Logged in!
    ==> SYST ... done.    ==> PWD ... done.
    ==> TYPE I ... done.  ==> CWD /pub/scheme-repository/imp/t ... done.
    ==> PASV ... done.    ==> RETR sources.tar.gz ... done.
    
        [                       <=>           ] 444,002      103.88K/s             
    
    17:48:33 (79.36 KB/s) - `sources.tar.gz' saved [444002]
    
    paco@pruebas2:~/T$ wget ftp://ftp.cs.indiana.edu/pub/scheme-repository/imp/t/vaxt.tar.gz
    --17:48:58--  ftp://ftp.cs.indiana.edu/pub/scheme-repository/imp/t/vaxt.tar.gz
               => `vaxt.tar.gz'
    Resolving ftp.cs.indiana.edu... 129.79.247.195
    Connecting to ftp.cs.indiana.edu|129.79.247.195|:21... connected.
    Logging in as anonymous ... Logged in!
    ==> SYST ... done.    ==> PWD ... done.
    ==> TYPE I ... done.  ==> CWD /pub/scheme-repository/imp/t ... done.
    ==> PASV ... done.    ==> RETR vaxt.tar.gz ... done.
    
        [                           <=>       ] 850,737      103.78K/s             
    
    17:49:14 (88.89 KB/s) - `vaxt.tar.gz' saved [850737]
    
    paco@pruebas2:~/T$ gzip -d vaxt.tar.gz 
    paco@pruebas2:~/T$ gzip -d sources.tar.gz 
    paco@pruebas2:~/T$ ftp 172.24.96.50
    Connected to 172.24.96.50.
    220 tinker FTP server (ULTRIX Version 4.1 Sun Sep 17 06:28:20 EDT 1995) ready.
    Name (172.24.96.50:paco): paco
    331 Password required for paco.
    Password:******
    230 User paco logged in.
    ftp> bin
    200 Type set to I.
    ftp> hash
    Hash mark printing on (1024 bytes/hash mark).
    ftp> prompt
    Interactive mode off.
    ftp> mput *
    local: sources.tar remote: sources.tar
    200 PORT command successful.
    150 Opening data connection for sources.tar (172.24.96.84,57506).
    ########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
    226 Transfer complete.
    2367488 bytes sent in 2.72 secs (850.8 kB/s)
    local: vaxt.tar remote: vaxt.tar
    200 PORT command successful.
    150 Opening data connection for vaxt.tar (172.24.96.84,51560).
    ########################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################
    226 Transfer complete.
    2236416 bytes sent in 2.50 secs (875.0 kB/s)
    ftp> bye
    221 Goodbye.
    paco@pruebas2:~/T$ 
    

     

    $ ls
    bin             sources.tar     vaxt.tar
    $ tar xf sources.tar
    $ tar xf vaxt.tar
    $ ls
    bin             sources         sources.tar     tsystem         vaxt.tar
    $ tsystem/xt
    T 3.1 (5) VAX11/UNIX  Copyright (C) 1988 Yale University
    T Top level
    > 
    

     

    Para recompilar lisp desde los fuentes (de tsystem/unvaxbuild.t) :

    To build a new system from sources:
    
    1. You should be in a directory with sources and tsystem as subdirectories
       Execute the shell script in tsystem/envset
    2. Start up tsystem/xt and load this file into orbit-env
    3. (compile-support) and (exit)
    4. Start up tsystem/xt again and load this file into orbit-env
    5. (compile-sources) and (link-t '(tsystem new)) and (exit)
    6. cd tsystem; linkt new.o new; cd ..
    7. tsystem/new is a T without compiler. Start up new with a large heap.
    8. ((*value t-implementation-env 'load-and-suspend-system) '(tsystem new) t)
       (exit)
    9. cd tsystem; linkt new.o new    That's it.
    
    

     

    el envset no sirve con las shells disponibls, creo uno alternativo ..

    set T3=sources
    set LINK=$T3/link
    set ASSEMBLER=$T3/comp/assembler
    set BACK_END=$T3/comp/back_end
    set TOP=$T3/comp/top
    set ORBIT_TOP=$TOP
    set FRONT_END=$T3/comp/front_end
    set T3_PRIMOPS=$T3/comp/primops
    set BUILD=$T3/comp/build
    set TSYSTEM=tsystem
    set OSYS=$T3/sys
    set TSCHEME=$T3/scheme
    

     

    Al ir al punto 3 me da error ..

    uvax> tsystem/xt
    T 3.1 (5) VAX11/UNIX  Copyright (C) 1988 Yale University
    T Top level
    > (load "tsystem/unvaxbuild.t" orbit-env)
    
    ;Loading  tsystem/unvaxbuild.t into ORBIT-ENV
    #{Procedure 1} #{Procedure 2} LOAD-LINKER #{Procedure 3} #{Procedure
    3}
    > (compile-support)
    
    ** Error: (OPEN '#[Filename () T3_PRIMOPS VCONSTANTS VN] '(OUT)) failed 
    **        Type (RET) or (RET filespec) to retry.
    >> (exit)
    uvax> 
    
    

     

     uvax> xt
    T 3.1 (5) VAX11/UNIX  Copyright (C) 1988 Yale University
    T Top level
    > (compile-file "unvaxbuild.t")
    
    ;Beginning compilation on unvaxbuild.t
    
    COMSYS
    LOAD-LINKER
    (VARIABLES
      FREE (*VALUE GC MAKE-LOCALE REPL-RESULTS STANDARD-ENV APPEND MEM
    *DEFINE TC-SYNTAX-TABLE ORBIT-VAX-SETUP ENV-SYNTAX-TABLE ORBIT-SYNTAX-TABLE
    *ZVM-SYSTEM* *T-SYSTEM* LOSING-XCASE ORBIT-ENV LOAD-QUIETLY TABLE-ENTRY
    COMFILE *TOP-FILES* T-IMPLEMENTATION-ENV BIND-HANDLER LOAD FALSE WALK
    *MODULES* ERROR NO-OP *FRONT-FILES* PRIMOP-SYNTAX-TABLE *BACK-END-FILES*
    ALIKEV? USER-ENV *TAS-VAX-FILES* *ORBIT-FILES* ORBIT-INIT *ORBIT-VAX-FILES*
    COMPILE-PRIMOP-SOURCE CREATE-SUPPORT LINK ORBIT-VAX-INIT)
      EARLY-BOUND (SETTER)
      DEFINED (LOAD-LINKER COMSYS)
      LSET ()
      SET (*COMPILE-PRIMOPS?* WRITE-SUPPORT-FILE)
      ERROR ()
      INTEGRATED (NULL? CAR EQ? NIL)
      LOCAL ()
      UNREFERENCED ())
    (AS (IB 210) (SDF 194) (ALIGN 89) (MARK 194) (CLEAN 54) (DIRTY 60) (BYTES 3996))
    #T
    > (exit)
    uvax> ls
    dynload.c       expand.o        unassist.c      unvaxbuild.t    xt
    dynload.o       float.c         unassist.o      unvaxbuild.vi
    envset          float.o         unvax_start_t.o unvaxbuild.vn
    expand.c        linkt           unvax_start_t.s unvaxbuild.vo
    uvax> 
    
    

     

     

    csh> tsystem/xt
    T 3.1 (5) VAX11/UNIX  Copyright (C) 1988 Yale University
    T Top level
    > (load "tsystem/unvaxbuild.t" orbit-env)
    
    ;Loading  tsystem/unvaxbuild.t into ORBIT-ENV
    #{Procedure 1} #{Procedure 2} LOAD-LINKER #{Procedure 3} #{Procedure
    3}
    > (compile-support)
    
    ;Beginning compilation on sources/comp/primops/vconstants.t
    
    VAX-JUMP-ABSOLUTE
    *POINTER-REGISTERS*
    %%SLICE-SIZE
    %%VCELL-SIZE
    %%FOREIGN-SIZE
    %%OPERATION-SIZE
    CELL
    TAG/FIXNUM
    TAG/IMMEDIATE
    TAG/EXTEND
    TAG/PAIR
    HEADER/CHAR
    HEADER/NONVALUE
    HEADER/UNIT
    HEADER/TEXT
    HEADER/GENERAL-VECTOR
    HEADER/SLICE
    HEADER/SYMBOL
    HEADER/BYTEV
    HEADER/FOREIGN
    HEADER/TEMPLATE
    HEADER/CELL

     

    ;Beginning GC
    ;*PRE-GC-AGENDA* done
    ;GC-FLIP done
    ;Starting to root
    ; 10000 objects copied 
    ; 20000 objects copied 
    ;IIM traced
    ;Stack traced
    ;*POST-GC-AGENDA* done
    ; 27396 objects copied
    ;Space Remaining: 884548 left out of 1023998 (86% free)
    ;GC done
    
    

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

  • Licencias OpenVMS

    Introducción

     

    En este texto voy a describir los pasos necesarios para obtener las licencias que HP nos da a los que tienen como hobby el uso de este sistema operativo. La licencia es gratuita y tiene un periodo de validez de un año. Una véz pasado el año, solo hay que ir la la web correspondiente y solicitar las licencias, en ese momento se nos otorgará una nueva licencia por otro año.

    Los pasos para obtener las licencias son:

    • Hacerse asociado de DECUS/ENCOMPASS.
    • Solicitar las licencias con el número de asociado al DECUS.
    • Solicitar el CD del Sistema Operativo elegido.

     

    Asociarse a ENCOMPASS

    Este paso es requerido, ya que nos dan un número de asociado que es el que luego usamos para registrar las licencias. Hay dos tipos de asociaciones (encompas member y encompass associate), una que cuesta dinero y otra que es gratuita. Lo mas probable es que nos interese la gratuita,  así que nos registramos en esta URL:

     

    https://www.encompassus.org/secure/membApp/index.cfm?form_type=ASSOC

     

     Una vez que nos registremos, nos enviaran el número de asociado a nuestra cuenta de correo. Esto puede tardar hasta dos semanas, así que hay que tener algo de paciencia. Evidentemente, no podemos perder el número, ya que es el que usaremos para renovar las licencias mas adelante.

     

    Solicitud de licencias

     

    Cuando ya  tengamos nuestro número de asociado, nos vamos a la web de Montagar (OpenVMS hobbyist) y registramos nuesto licencia de hobbyist:

    http://www.montagar.com/hobbyist/register_license.html

     

     Un vez que tengamos registrado nuentro número de asociado, ya podemos solicitar las licencias de hobbyist. Para ello acudimos a esta URL y ya solicitamos lo que nos interese:

     

    http://www.openvmshobbyist.com/licenses.php

     

    En principio, vamos a necesitar:

    • Una licencia Base del sistema que vayamos a usar, que puede ser VAX, Alpha o Itanium.
    • Una licencia de los PAKs (productos asociados). Si usamos VAX o Alpha,
      tenemos una opción, u otra distinta si es para Itanium. Cuando las
      estemos registrando, necesitamos el número de serie de la maquina en
      donde lo vamos a ejecutar. Este número de serie normalmente esta en una
      pegatina en la parte de atrás de la máquina, pero si lo que vamos a
      usar es un emulador, ponemos  ‘NONE‘ como número de serie.

     

    Nota: No hay que perder estas licencias, si las pierdes y las vuelves a solicitar en menos de un año, NO te las envían, sólo te las envían cuando estás rondando el año de la anterior emisión.

     

    Solicitar el CD

     

    Bueno, una vez que ya tenemos las licencias, podemos solicitar el CD con el Sistema Operativo que deseemos. Esto es opcional, pues ya lo podemos tener o incluso nos lo ha podido pasar algún amigo. Dado que la instalación se realiza mediante licencia, no se considera piratería el intercambio de los CDs con el sistema operativo, ni tan siquiera los de los productos asociados. De todos modos, yo considero que es interesante tener los CDs originales. La URL para solicitarlos es :

     

    http://www.montagar.com/hobbyist/mount.html

     

    Y en estos momentos esta disponible el OpenVMS Alpha Hobbyist Kit v4.0 como el OpenVMS VAX Hobbyist Kit v3.0. El coste de estos kits son 30 dólares cada uno, con lo cual (teniendo en cuenta el cambio) no nos vamos a arruinar demasiado.

     

     

     

     

     

  • Conociendo PRIMOS

    PRIMOS fué escrito en Fortran IV y assembler. Era un sistema operativo descendiente de Multics.

    El código fuente esta disponible aquí: http://www.andrewpetermarlow.co.uk/goodies/Rev_19p2p3.tar.bz2

     

    Existe un emulador que fue anunciado hace ya algun tiempo: http://groups.google.es/group/comp.sys.prime/browse_thread/thread/e4ca58eb664f9299/05c8b40bc198db8c?lnk=gst&q=prime+emulator#05c8b40bc198db8c

     

    Nota: Espero que Pacolinux complete este artículo 😀

  • Emular ITS (Incompatible Timesharing System)

    Nuestro editor Pacolinux ha creado un nuevo articulo. Puede que tras instalarte una Ubuntu creas que ya eres un hacker, pero para conocer como trabajaban los hackers del MIT, ITS debería estar en tu recorrido.

    ITS estuvo funcionando en máquinas PDP10, de ahí el logo de la noticia.

    Leer más

  • ITS en klh10

    Presentación

     

    El siguiente artículo está escrito en forma de receta. Si tienes un sistema con el compilador gcc, como por ejemplo GNU/Linux,  sólo tendrás que copiar y pegar lo que pongo en los recuadros y en menos de 10-15 minutos tendras un sistema ITS funcional.

    Una recomendación es que cuando lo tengas, hagas una copia de seguridad, ya que trabajaremos sobre una imagen de disco, y si se ésta se estropea podremos restaurar con la copia. Otro motivo es porque la imagen (de la cual doy una URL) está ‘retirada’ de internet, así que si en algún momento desaparece de donde está, podría costar trabajo volverla a localizar.

    En otro artículo describiré con mas detenimiento las características de este OS y como realizar distintas tareas, este artículo tratará unicamente la instalación. Utilizaremos klh10 que es un emulador de PDP-10.

     

    Instalación

     

    – Creación de directorios para la instalación:

    #export KLH10_HOME=$HOME/ITS 
    
    mkdir -p $HOME/ITS
    
    cd $HOME/ITS

     

    – Cogemos la última version del emulador klh10 de Ken Harrenstien:

     

    wget http://klh10.trailing-edge.com/klh10-2.0a.tgz
    
    wget http://klh10.trailing-edge.com/klh10-2.0a-aux.tgz

    – Y cogemos la imagen de disco de un sistema ITS totalmente funcional:

    wget http://free.babolo.ru/src/PI-ITS-RP06.0-dbd9.bz2

    – Descomprimimos los ficheros:

     

    tar xfz klh10-2.0a.tgz 
    
    tar xfz klh10-2.0a-aux.tgz
    
    bunzip2 PI-ITS-RP06.0-dbd9.bz2
    

    – Ahora vamos a compilar el emulador. NOTA IMPORTANTE: hay que usar el gcc-3.4, con las versiones de gcc 4 no funciona. Lo más normal es que si tienes una distribución GNU/Linux reciente, tengas instalado un gcc versión cuatro, por lo que tendrás que instalar la versión tres. Para verificar la versión de gcc:

     

    gcc --version
    
    gcc (GCC) 4.1.3 20070929 (prerelease) (Ubuntu 4.1.2-16ubuntu2)

    – Si no tenemos el 3.4, podremos instalarlo sin problemas ya que las dos versiones pueden coexistir y cuando acabemos lo podremos desinstalar, ésto lo hacemos como root si estas en una distribución Debian GNU/Linux o similar:

    sudo apt-get install gcc-3.4

    – Ahora vamos a modificar el Makefile para que use nuestro compilador gcc-3.4:

     

    mv klh10-2.0a/src/Makefile.mk klh10-2.0a/src/Makefile.mk.orig
    
    cat klh10-2.0a/src/Makefile.mk.orig | sed s/cc/gcc-3.4/g > klh10-2.0a/src/Makefile.mk

    – Una vez que lo tenemos modificado, lo compilamos, en nuestro caso es un linux x86, así que nos vamos al directorio apropiado, y ejecutamos el make.

     

    cd klh10-2.0a/bld/lnx86
    
    make base-ks-its
    

    Cuando terminemos de compilar, copiaremos todos los ficheros ejecutables a nuestro directorio de trabajo (sin hacer ‘make install’).

     

    cp dpimp dptm03 dprpxx kn10-ks tapedd udlconv vdkfmt wfconv wxtest $HOME/ITS
    
    ##make install
    
    cd $HOME/ITS
    
    cp -p klh10-2.0a/run/ksits/* .

    – Si queremos usar la red, hay que ejecutar el emulador como root, o darle setuid al driver de red:

     

    sudo chown root dpimp;  chmod 4750 dpimp

     

    Ejecución

     

    – Listo, ya estamos preparados para la primera ejecución. Voy a intercalar explicaciones precedidas de tres guiones ()

    ./kn10-ks  klh10-pi.ini
    KLH10 V2.0A release (MyITS) built May 10 2008 10:40:00
    ...
    ...
    ...
    Data: 65470, Symwds: 0, Low: 01, High: 0777266, Startaddress: 0144430
    KLH10> 
    KLH10> ; go 774000 ; to start DDT, else "go" to start ITS
    KLH10> 
    KLH10> [EOF on klh10-pi.ini]
    
    --- saltamos al DDT
    
    KLH10> go 774000
    
    --- la primera ejecucion es algo complicada
    
    Starting KN10 at loc 0774000...
    
    --- cuando se pare (NO aparece el prompt) escribimos 'its' y le damos al 'enter'
    --- responderá poniendo una U despues de ITS
    --- a continuación le damos al 'esc' y pulsamos la G, el DDT responde con $G
    
    ITSU   $G
    
    Salvager 260
    
    .TEMP. has no files, User File Directory DELETED
    
    [dpimp: Using default interface "eth0"]
    [dpimp: ifc "eth0" => ether 0:1d:92:62:cf:6f]
    [dpimp:   inet 172.24.96.3]
    [dpimp:   netmask 255.255.255.0]
    [dpimp:   net 172.24.96.0]
    [dpimp:   HOST: 199.34.53.51]
    [dpimp:   gwdef 199.34.53.50]
    [dpimp: no native ARP entry, assuming shared ifc]
    THE KS-10 CLOCK HAS BEEN RESET, IF THE TIME CANNOT
    BE DETERMINED FROM THE NETWORK, YOU MAY HAVE TO :PDSET
    
    PI ITS 1647 IN OPERATION
    PI ITS 1647 SYSTEM JOB USING THIS CONSOLE.
     LOGIN  TARAKA 0 
    
    
                                  Attention!
    
                                  Attention!
    
    The time could not be set because:
    No host responded.
    It will be necessary for someone to set the time
    manually by logging in and running :PDSET.
    
    TARAKA NETIME IOTLSR  
    
    PI ITS 1647 SYSTEM JOB USING THIS CONSOLE.
    
    --- listo, ya podemos abrir sesion, para ello pulsar ^Z (control z)
    
    PI ITS.1647. DDT.1545.
    TTY 0
    You're all alone, Fair share = 0%
    
    (ITS does not know the date, so messages cannot be reviewed right now.)
    
    --- y ya estamos en la 'shell' de ITS.
    --- podemos ver el contenido del directorio con :listf sys
    
    :listf sys
    
    PI   SYS
    FREE BLOCKS #0=17615
      L   .FASL  DEFS   LISP .FASL DEFS
      L   2OPS2  OPS    SAIL 2OPS2 OPS
      0   :MSGS  TIMES  4 ! 3/21/102 22:18:38
      0   ATSIGN CHAOS  1 ! 1/16/81 16:34:48
      0   ATSIGN DDT    40 ! 3/18/90 12:02:11
      0   ATSIGN DEVICE 1 ! 12/18/89 19:51:44
      L   ATSIGN DRAGON CHANNA ATSIGN TARAKA
      0   ATSIGN HACTRN 40 ! 8/14/90 02:07:30
      L   ATSIGN LISP   SYS PURQIO >
      0   ATSIGN ODDT   40 ! 11/26/88 16:23:57
      0   ATSIGN ODEVIC 1 ! 9/19/88 21:13:37
      0   ATSIGN OPWORD 28 ! 4/1/87 04:24:35
      L   ATSIGN PEEK   SYS TS PEEK
      0   ATSIGN PWORD  28 ! 8/2/89 21:54:13
    ...
      0   TS     TTYSWP 1 ! 11/11/76 17:18:17
      0   TS     TYPE8  1 ! 11/14/83 05:05:13
      0   TWXBTS 29     35 ! 3/25/81 13:01:09
      0   TWXDFS 8      2 ! 3/24/81 21:52:07
    --- Podremos ejecutar :version
    *:version
    PI ITS.1647. DDT.1545.
    TTY 0
    --- Tambien podremos ejecutar :emacs
    *:emacs
    (Please Log In)
    
    
    EMACS Editor, version 162 - type Help(^_H) for help.

    – Para salir del emulador :

    ---pulsamos ^\ (esto es Control-AltGr-\) y escribimos shutdown
    
    KLH10> shutdown
    Continuing KN10 at loc 05600...
    
    SWITCH 0 IS UP  
    PI LEVEL 7 BUGDDT.  TYPE <ALTMODE>P TO CONTINUE.
    YOU ARE NOW IN DDT.
    BUGPC/   CAIA CLQBRT+3   $Q-2/   SKIPE 8SWIT0   
    [HALTED: FE interrupt]
    KLH10>
    
    ---volvemos a pulsar ^\ (esto es Control-AltGr-\) y escribimos quit
    
    KLH10> quit
    Are you sure you want to quit? [Confirm]y
    Shutting down...Bye!
    

    – Para las siguienes ejecuciones, se puede directamente teclear go el el prompt de KLH10>

    KLH10> go
    Starting KN10 at loc 0144430...
    
    Salvager 260
    
    .TEMP. has no files, User File Directory DELETED
    
    --- esperar que se normalize y ya podemos abrir sesión, para ello pulsar ^Z (control z)
    
    

     

     

    Configuración básica:

     

    – Para que el sistema funcione correctamente, tenemos que por lo menos configurar la fecha/hora. El modo es mediante :pdset

    , a continuación se muestra como configurar la fecha 10 de mayo de 2008, y las 16:40. Viendo como encajan los numeros es fácil deducir el formato.

     

    :pdset
    (Please Log In)
    ___002 PDSET  IOTLSR  
    
    PDSET.114
    Please don't use this program unless you know how.
    You are certain to break something if you happen to hit the wrong key.
    Type Control-Z to exit, or ? for a reminder of the commands.
    20C
    080510D
    164000T
    !.
    141427/ 777651,,662253  772754,,224545  ___002 
    
    141426/ 3722    3730    ___002 16:40:00
    IT IS NOW  4:40:00 PM EDT, SATURDAY, MAY 10,2008
    q
    
    

     

    NOTAS:

     

    Este emulador es muy complejo, hay que leerse los docs 🙂

    Más adelante escribiré más sobre como hacer determinadas cosas,  por ejemplo, como configurar la red, o recompilar el kernel.

    Los comandos en ITS van precedidos de dos puntos (:) y puedes pedir ayuda mediante 😕 o :info

     

     

    Enlaces de interés:

     

     

    Documentación:

    http://zane.brouhaha.com/~healyzh/sysdoc/sysdoc.htm

    El manual de referencia :

    ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-161A.pdf

    Manual de DDT:

    http://victor.se/bjorn/its/ddt.html

     Manual de Maclisp;

    http://www.maclisp.info/pitmanual/

     Conferencia de Stallman donde habla sobre ITS, PDP10, emacs, etc ..

    http://www.gnu.org/philosophy/stallman-kth.html

     

     

  • Perdemos la conexión

    Volvemos a estar en línea, gracias a un router provisional, proporcionado por nuestro colaborador PacoLinux. Hasta que nos llegue el router definitivo, quizás un Cisco 837, puede que tengamos un próximo corte la semana que viene cuando hagamos la migración

  • X portado a plan9

    Aunque los incondicionales de plan9 seguiremos usando rio, el Anuncio de Equis servirá para aquellos para los que su dependencia de programas unix sentian que necesitaban un servidor de X. fgb planea incluir los cambios en el trunk de xorg.

     

    Desde plan9, podemos ver la descripción del tarball con la herramienta contrib:

    % contrib/list -v fgb/X11
    fgb/X11:
            Description:
                    Equis - Xserver for Plan 9 + Xlibs.
            Contents: 115.40Mb in 6023 files
            Modified: Tue May 6 14:42:48 GMT 2008
            Depends:  freetype z

     

    Y para instalar:

    % contrib/install fgb/X11
    

     

     

     

Creative Commons License
Except where otherwise noted, the content on this site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.