Autor: admin

  • 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
    

     

     

     

  • Configurar plan9 con el hipervisor lguest

    Introducción

    • Plan9 de Bell Labs es el sistema operativo creado por los mismos laboratorios que inventaron Unix. Puede ejecutarse de manera nativa sobre diferentes arquitecturas, o tambien como máquina virtual con Qemu, Xen o Lguest.
    • Lguest está integrado en el kernel linux desde la versión 2.6.23-git13 en adelante. Para realizar el artículo se ha probado con el último kernel 2.6.25.

     

    Configurando Lguest

    Hay que preparar el kernel para tener el soporte de lguest  y activar varias opciones.

    No es el objetivo de este artículo explicar como se configura o compila el kernel, pero puedes utilizar «make menuconfig» para seleccionar las siguientes opciones:

      "General setup":
         "Prompt for development and/or incomplete code/drivers" = Y
            (CONFIG_EXPERIMENTAL=y)
    
      "Processor type and features":
         "Paravirtualized guest support" = Y
            "Lguest guest support" = Y
         "High Memory Support" = off/4GB
         "Alignment value to which kernel should be aligned" = 0x100000
            (CONFIG_PARAVIRT=y, CONFIG_LGUEST_GUEST=y, CONFIG_HIGHMEM64G=n and
             CONFIG_PHYSICAL_ALIGN=0x100000)
    
      "Device Drivers":
         "Block devices"
            "Virtio block driver (EXPERIMENTAL)" = M/Y
         "Network device support"
            "Universal TUN/TAP device driver support" = M/Y
            "Virtio network driver (EXPERIMENTAL)" = M/Y
               (CONFIG_VIRTIO_BLK=m, CONFIG_VIRTIO_NET=m and CONFIG_TUN=m)
    
      "Virtualization"
         "Linux hypervisor example code" = M/Y
            (CONFIG_LGUEST=m)

     

    Configurando el soporte de red (Bridging o NAT)

    La máquina virtual usará un interfaz de red virtual, mediante bridging o NAT.

    En este caso, utilizaremos NAT, para lo cual tambien necesitaremos soporte de NAT en el kernel si no lo tuvieramos:

     

    Networking  ---->
     Networking options  ---->
      Network packet filtering framework (Netfilter)--->
       Core Netfilter Configuration ---->
        <*> Netfilter connection tracking support
        <*> Netfilter Xtables support (required for ip_tables)
        <*>   "NFLOG" target support
        <*>   "conntrack" connection tracking match support
        <*>   "state" match support
       IP: Netfilter Configuration --->
        <*> IPv4 connection tracking support (required for NAT)
        <*> IP tables support (required for filtering/masq/NAT)
        <*>   Packet Filtering
        <*>     REJECT target support
        <*>   Full NAT
        <*>     MASQUERADE target support
    

    Compilamos el kernel: make
    Instalamos el kernel: make install
    Instalamos los modulos: make modules_install

    Compilando el binario de lguest

    Bajo el arbol de directorios donde tengamos las fuentes de linux (en mi caso es /usr/src/fuentes/linux), vamos al siguiente subdirectorio:

    cd Documentation/lguest/

    y ejecutamos «make» para generar el binario ejecutable de lguest.

    vejeta:/usr/src/fuentes/linux/Documentation/lguest# make
    cc -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include    lguest.c  -lz -o lguest

     

    Obtener el kernel modificado y la imagen de Plan9 para lguest (THNX)

     

    • 9lguestcpu.2.6.25.elf.   Es el kernel modificado para arrancar Plan9 bajo lguest.
    wget http://sirviente.9grid.es/sources/contrib/rminnich/lguest/9lguestcpu.2.6.25.elf
    • THNX – «Tiny Horrible NOT Xen» es la imagen preinstalada de Plan9 que fue creada por Ron Minnich para funcionar bajo lguest. (300Mb comprimidos, 1.6Gb al descomprimir)
    wget http://usuarios.lycos.es/vejeta/plan9/thx9.img.bz2

     

    Descomprimir:

    bzip2 -d thx9.img.bz2

     

    Haciendo NAT para el interfaz de red tap0

     

    Crear el script: NATME con las siguientes líneas y ejecutarlo.

    iptables --append FORWARD --in-interface tap0 -j ACCEPT
    iptables --table nat --append POSTROUTING --out-interface  eth0  -j MASQUERADE
    iptables -t nat --list
    echo 1 > /proc/sys/net/ipv4/ip_forward

     

    Arrancando Plan 9 con lguest

    Hay que reiniciar el ordenador para arrancar con el nuevo kernel y ya podemos arrancar lguest.

    Primero cargamos el modulo de lguest con los parámetros que se indican.

    modprobe lg syscall_vector=64

    Arrancando lguest con Plan9 virtualizado.

    /usr/src/fuentes/linux/Documentation/lguest/lguest 256 /usr/local/tmp/plan9/lguest/9lguestcpu.2.6.25.elf \
    --tunnet=192.168.19.1 \
    --block=/usr/local/tmp/plan9/lguest/thx9.img \
    'venti=#S/sd00/arenas;bootdisk=local!#S/sd00/fossil;bootargs=local!#S/sd00/fossil;lguestnetwork=NAT;'
    • 256 indica la RAM que tendra la máquina virtual.
    • 9lguestcpu.2.6.25.elf.  Es el kernel que ejecutará la máquina virtual.
    • –tunnet=192.168.19.1. Configura un dispositivo de red «tap» con la dirección IP indicada.
    • –block=/usr/local/tmp/plan9/lguest/thx9.img.  Es  el dispositivo de bloques (block device) que en este caso contiene la imagen de plan9 preinstalada.

     

    La imagen de Plan9 está preparada para funcionar como «cpu», es un servidor de Plan9 el cual sirve a terminales Plan9.

     

    Conectando a la máquina virtual Plan9 con drawterm

     

    Si aún no tienes un terminal Plan9, puedes usar drawterm compilando los fuentes, o usando un binario ejecutable para tu sistema operativo.

     

    drawterm -u bootes -a 192.168.19.2 -c 192.168.19.2

    La clave o password es: lguestgood

    La siguiente imagen muestra la ventana de drawterm, con el navegador abaco y acme. De fondo se ve el terminal donde arrancamos lguest.

     

    lguest_thnx

     

     

    Enlaces de interes

    Espero que os guste

    Zoperman – Vejeta

  • Proyecto Unix-Jun72

    Se ha creado un proyecto para la recuperación del Unix primera edición datado de Junio de 1972 tal y como está especificado en el Unix Programmer’s Manual del 3 Noviembre de 1971.

    Actualmente se esta intentando ejecutar en una version ligeramente modificada de SIMH el listado del kernel que está en bitsaversPreliminaryUnixImplementationDocument_Jun72 (pdf 12Mb).

    En su página web podemos leer:

     

    Este proyecto creará codigo legible y compilable a partir del las copias impresas del la primera edición de Unix del año 1972. Muchos programas ejecutables todavía existen en forma binaria y este proyecto intentará restaurar un incompleto pero funcional sistema de la primera edición de Unix. El software mantendrá el copyright de los autores originales, el cual está actualmente licenciado libremente bajo la licencia de Caldera ancient UNIX license.

     

    Para mas información se puede ver la página del proyecto unix-jun72, o subscribirse a la lista de correo https://minnie.tuhs.org/mailman/listinfo/unix-jun72.

     

    Actualización (07 – Junio – 2008):

    El kernel de la 1ª edición de Unix ha podido ser ejecutado de nuevo bajo SIMH. La única versión conocida del kernel era un listado impreso que tuvo que ser escaneado, despues editado a mano, y por ultimo, depurado.

    El kernel consiste en 4200loc, escrito en ASM del PDP11, corre en una máquina de 24Kbyte y soporte 8 usuarios concurrentes.

    Todo esto es muy interesante para aquellos interesados en kernels, Unix, o la historia de los sistemas operativos y la computación, y al alcance de tu mano en la página del proyecto enlazada anteriormente.

  • Los orígenes de Ctrl-Alt-Del

    Una vez más, Pacolinux nos rescata parte de la historia de la computación. Esta vez, en un esfuerzo de traducción, nos detalla en un documento gráfico la historia que envuelve a esta curiosidad en la historia de los PC: Orígenes del Alt-Ctrl-Del

     

  • Orígenes del Alt-Ctrl-Del

    David Bradley se graduó en 1971 por la Universidad de Dayton (Ohio), el mismo año que Intel lanzó el procesador 4004, y recibió su Ph.D. por la universidad de Purdue el mismo año que salió el kit de construcción del Altair. «El primer ordenador que habría utilizado habría sido un [IBM] 360», dijo. Se incorporó a IBM en junio de 1975 y trabajó y trabajó con un System/23 Datamaster en 1978, el primer ordenador de IBM con un procesador no-IBM. Para el PC, él escribió la totalidad de la BIOS. «Escribí todo el código con la excepción del control de cassete y los test de power-on» comentó.

    Recientemente nos ha contado como ideó la combinación Alt-Ctrl-Del:

    En algún momento durante el desarrollo de la BIOS del IBM PC, probablemente de enero de 1981, tuvimos un problema de desarrollo. Un montón de nuevo software estaba saliendo y siendo puesto a prueba y, como frecuentemente sucede con el nuevo software, éste deja de correr, y deja colgada a la máquina. Cuando los programas que realizas son en ensamblador, hay muchas posibilidades de que algo como esto suceda. A menos que estés trabajando con una placa base que no esté dentro de una caja, la única manera de reiniciar la máquina era desconectar la corriente, esperar unos segundos para que los condensadores se descarguen, entonces encender de nuevo la máquina. A continuación, esperar a que el «Power On Self Test» se ejecute, lo que puede llegar a tardar hasta un minuto si hay una gran cantidad de memoria instalada en la máquina, esperar que arranque el DOS (desde el disquete, por supuesto), y entonces relanzar el programa bajo prueba y tratar de averiguar lo que salió mal.

    La solución mas simple habría sido un botón de reinicio. Sin embargo, la construcción mecánica del interior del PC habria hecho difícil localizar un lugar y, además, siempre estaba el problema de pulsarlo inadvertidamente. Así que decidimos usar el teclado. Había que escoger un juego de teclas que fuera difícil pulsar accidentalmente. Dado que la BIOS tenía que caber en 8KB y ya estabamos casi por 9KB, debía de ser muy breve la secuencia de instrucciones que lo detectara. Por ello dos de las teclas debian de ser de cambio de estado (shift) ya que la BIOS de teclado las monitoriza y mantiene el estado en RAM. Por eso escogí las mas nuevas y menos usadas ‘shift keys’:  Ctrl y Alt. Finalmente escogí la tecla de acción lo mas alejada posible de ellas.  Si miras en el teclado original de 83 teclas del IBM PC (significativamente diferente de los teclados actuales, verás que solo hay una instancia de las teclas Ctrl y Alt en el lado izquierdo y un solo Del el el lado mas derecho del teclado. Podría haber elegido ‘Enter’ en lugar de ‘Del’, pero (a) Enter es una tecla mas grande, con lo cual hay mas posibilidades de pulsarla por accidente, y (b) ‘Del’ es un mejor mnemotécnico que ‘Enter’ para la drástica acción que se va a realizar.

    IBM Model F XT

    El código para controlar la pulsación del C-A-D fue de 9 instrucciones, ocupando 30 bytes de longitud. Después de detectar dos cambios de estado de las teclas modificadoras y la tecla «Supr», almacena una bandera en una posición de memoria especial, y luego salta a la posición de reset del 8088. El código del POST detecta la bandera especial (0x1234 en el área de RAM BIOS) después de haber hecho la inicialización del sistema, pero antes de hacer la larga prueba de memoria. Se supone que la memoria ya ha sido probada en el encendido inicial de la máquina, y otra prueba de memoria es probablemente innecesario. Además es mucho más rápido de esta manera.

    Esta no era la primera vez que usaba una secuencia de tres teclas para acceder a una función del sistema. El system/23 DataMaster, el cual usaba un microprocesador Intel 8085, fue un prototipo del IBM PC en muchos sentidos. Yo había escrito un pequeño depurador para usar en nuestro sistema de desarrollo del S/23 (podéis pensar en el DEBUG del disquette original del DOS). Un desarrollador podía acceder a ese depurador con una secuencia de tres teclas similar al del C-A-D (aunque no idéntica, ya que aunque el teclado era el mismo, el interfaz y las teclas especiales no). Así que usar una secuencia de tres teclas para resetear/reiniciar el IBM PC era lo más natural.

    Ctl-Alt-Del fue una simple solución a un problema. No fue la solución completa, ya que si el programa que fallaba hubiera desactivado las interrupciones (una instrucción de un solo byte en el x86) nada de lo que hicieras en el teclado provocaria una interrupión a la BIOS. Pero funcionó en la mayoría de los casos. Y desde entonces fue uno de los cientos de pequeños (y grandes) problemas que tuvimos que solucionar antes de que el PC pudiera ser anunciado, despues de 10 minutos de diseño, codificación y testeo, fue momento de pasar al siguiente problema.

    Has empleado casi tanto tiempo en leer esto como yo tardé en crear e implementar el C-A-D

    Bueno,  yo creo que he tardado mas en traducir esto. Espero os haya gustado

    Paco.

  • Abaco

     

    • Para instalar abaco.
    % 9fs sources; /n/sources/contrib/fgb/root/rc/bin/contrib/install fgb/contrib

     

    • Para conseguir que las cookies funcionen en abaco (para poder entrar en gmail, por ejemplo)
    % 9fs sources
    % cp /n/sources/contrib/fgb/cookies.c /sys/src/cmd/webfs
    % cd /sys/src/cmd/webfs
    % mk
    % mk install

     

    Para ejecutar abaco, necesitamos arrancar «webfs» primero.

    Si webfs se queja con: «webfs: readjar: cannot read cookie file
    /usr/glenda/lib/webcookies: ‘/usr/glenda/lib/webcookies’ does not exist»

     

    Podemos hacer:

    % touch /usr/glenda/lib/webcookies

    En el caso de que nuestro usuario fuera glenda, sustituir por el usuario que estemos usando.

     

    • Para cambiar las fuentes de abaco.

    Con las herramientas contrib de fgb:

     

    % contrib/install fgb/freefont
    % cp /sys/src/cmd/abaco/abaco.fonts $home/lib
    • Plan9 tambien puede ejecutarse en sistemas operativos tipo Unix, gracias a «Plan 9 from User Space»: plan9port
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.