OpenCores
URL https://opencores.org/ocsvn/w11/w11/trunk

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.6/] [doc/] [w11a_os_guide.txt] - Diff between revs 20 and 21

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 20 Rev 21
Line 1... Line 1...
# $Id: w11a_os_guide.txt 511 2013-04-27 13:51:46Z mueller $
# $Id: w11a_os_guide.txt 518 2013-05-12 16:45:02Z mueller $
 
 
Guide to run operating system images on w11a systems
Guide to run operating system images on w11a systems
 
 
  Table of content:
  Table of content:
 
 
    1. I/O emulation setup
    1. I/O emulation setup
    2. FPGA Board setup
    2. FPGA Board setup
    3. Unix V5 system
    3.  Rlink and Backend Server setup
    4. 2.11BSD system
    4.  simh simulator setup
 
    5.  oskits
 
        a. Unix systems
 
        b. DEC operating systems
 
 
1. I/O emulation setup ----------------------------------------------------
1. I/O emulation setup ----------------------------------------------------
 
 
   All UNIBUS peripherals which exchange data (currently DL11, LP11, PC11, RK11)
   All UNIBUS peripherals which exchange data (currently DL11, LP11, PC11, RK11)
   are currently emulated via a backend process. The communication between
   are currently emulated via a backend process. The communication between
   FPGA board and backend server can be via
   FPGA board and backend server can be via
 
 
 
   - Direct USB connection using a Cypress FX2 USB controller
 
     - is supported on the nexys2 and nexys3 FPGA boards
 
     - much faster than serial port connections (see below)
 
     - also allows to configure the FPGA over the same USB connection
 
 
   - Serial port
   - Serial port
     - via direct (/dev/ttySx) or via a USB-RS232 adapter. A direct connection
     - via direct (/dev/ttySx) or via a USB-RS232 adapter. A direct connection
       is limited to 115k Baud on most PCs, while a connection via a USB-RS232
       is limited to 115k Baud on most PCs, while a connection via a USB-RS232
       adapter was tested up to 460k Baud. A USB-RS232 adapter is thus highly
       adapter was tested up to 460k Baud. A USB-RS232 adapter is thus highly
       recommended
       recommended
     - via integrated USB-RS232 adapter, like on nexys3 board. This is much
     - via integrated USB-RS232 adapter, like on nexys3 board. This is much
       faster, allows bitrates up to 2 M Baud.
       faster, allows bitrates up to 2 M Baud.
 
 
     Notes: - A USB-RS232 cable with a Prolific Technology PL2303 chip simply
     Notes: - A USB-RS232 cable with a FTDI FT232R chip, like the cable offered
 
              by FTDI as US232R-100 works fine.
 
            - A USB-RS232 cable with a Prolific Technology PL2303 chip simply
              never gave reliable connections for higher Baud rates.
              never gave reliable connections for higher Baud rates.
            - A USB-RS232 cable with a FTDI FT232R chip, like the cable offered
 
              by FTDI as US232R-100 worked fine.
 
            - On older linux kernels (prior 2.6.32) it is essential to set the
 
              latency timer for the FTDI USB-RS232 cable to 1 ms (from the
 
              power up default of 16 ms), e.g. with
 
                sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
 
              For linux kernel 2.6.32 or newer the default is 1 ms already.
 
            - The rest assumes that a USB-RS232 cable with FTDI chip is used
            - The rest assumes that a USB-RS232 cable with FTDI chip is used
            - A 460k Baud connection gives in practice a disk throughput of
            - A 460k Baud connection gives in practice a disk throughput of
              about 20 kB/s. This allows to test the system but is a bit slow
              about 20 kB/s. This allows to test the system but is a bit slow
              to real usage.  In an OS with good disk caching like 2.11BSD the
              to real usage.  In an OS with good disk caching like 2.11BSD the
              impact of such a 'slow disk' is actually smaller than the bare
              impact of such a 'slow disk' is actually smaller than the bare
              numbers suggest.
              numbers suggest.
 
            - On older linux kernels (prior 2.6.32) it is essential to set the
   - Direct USB connection using a Cypress FX2 USB controller
              latency timer for the FTDI USB-RS232 cable to 1 ms (from the
     - is supported on the nexys2 and nexys3 FPGA boards
              power up default of 16 ms), e.g. with
     - clearly much faster than serial port connections
                sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
     - also allows to configure the FPGA over the same USB connection
              For linux kernel 2.6.32 or newer the default is 1 ms already.
 
 
2. FPGA Board setup -------------------------------------------------------
2. FPGA Board setup -------------------------------------------------------
 
 
   - Using serial port
   - Using Cypress FX2 USB controller for configuration and rlink communication
 
     - for nexys2
 
       - connect USB cable to mini-USB connector (between RS232 and PS/2 port)
 
     - for nexys3
 
       - connect USB cable to micro-USB connector labeled 'USB PROG'
 
 
 
   - Using serial port for rlink communication
     - for s3board and nexys2
     - for s3board and nexys2
       - connect the USB-RS232 cable to the RS232 port of the s3board or nexys2
       - connect the USB-RS232 cable to the RS232 port
       - for kernel < 2.6.32: set the latency timer of the USB-RS232, e.g. with
 
           sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
 
       - ensure that all 8 switches are in the indicated positions (SWI=...)
 
       - load the w11a design into the FPGA, e.g. via impact
 
     - for nexys3
     - for nexys3
       - connect USB cable to the 'usb uart' port (next to the 5 buttons)
       - connect USB cable to the micro-USB connector 'UART'
       - ensure that all 8 switches are in the indicated positions (SWI=...)
         (next to the 5 buttons)
       - load the w11a design into the FPGA, e.g. via impact
     - connect a JTAG programmer (e.g. Xilinx USB Cable II) to JTAG pins
 
 
   - Using Cypress FX2 USB controller
   - Configure the FPGA
     - for nexys2
     - if Cypress FX2 port is connected load design with
       - connect USB cable to mini-USB connector (between RS232 and PS/2 port)
         make .jconfig
         ! Must be connected to a USB port able to deliver 500 mA !
     - otherwise use impact with
 
         make .iconfig
 
 
3. Unix V5 system ---------------------------------------------------------
3. Rlink and Backend Server setup -----------------------------------------
 
 
   - A disk set is available from
   All examples below use the same basic setup
       http://www.retro11.de/data/oc_w11/unix_v5_rkset.tgz
 
     Download, unpack and copy the disk images (*.dsk) to
 
       $RETROBASE/rtl/sys_gen/w11a/tb
 
 
 
   - Using old (pi_rri) backend server (serial port only)
   - setup vt100 emulator windows
 
 
       cd $RETROBASE/rtl/sys_gen/w11a/tb
       cd $RETROBASE/tools/oskit/
       telnet_starter -d DL0 &
       telnet_starter -d DL0 &
 
       telnet_starter -d DL1 &
 
 
     [for s3,n2:]
   - setup rlink connection using ti_rri backend server via the ti_w11
       SWI = 00000010
     quick start wrapper script. Ensure that all 8 switches on the board
       dorri -u0,460,1,2   @uv5_boot.pcmd
     are in the indicated positions (SWI=...). The concrete boot script
     [for n3:]
     name  is given in the following sections
       SWI = 00000010
 
       dorri -u0,2000,1,2  @uv5_boot.pcmd
 
 
 
   - Using new (ti_rri) backend server (serial and fx2 supported)
 
 
 
       cd $RETROBASE/rtl/sys_gen/w11a/tb
     [for n2,n3 over fx2:]
       telnet_starter -d DL0 &
       SWI = 00000100
 
       ti_w11 -u     @_boot.tcl
 
 
     [for s3,n2 over serial:]
     [for s3,n2 over serial:]
       SWI = 00000010
       SWI = 00000010
       torri -tu0,460k,break,xon   @uv5_boot.tcl
       ti_w11 -tu0,460k,break,xon   @_boot.tcl
     [for n3 over serial:]
     [for n3 over serial:]
       SWI = 00000010
       SWI = 00000010
       torri -tu0,2M,break,xon     @uv5_boot.tcl
       ti_w11 -tu0,2M,break,xon     @_boot.tcl
 
 
     [for n2,n3 over fx2:]
4. simh simulator setup ---------------------------------------------------
       SWI = 00000100
 
       torri -u     @uv5_boot.tcl
 
 
 
   - the boot dialog in the console xterm window will look like
   Sometimes it is good to compare the w11a behaviour with the PDP-11 software
     (required input is in {..}, with {} denoting a carriage return:
   emulator from the simh project (see http://simh.trailing-edge.com/).
 
 
       @{unix}
   Under $RETROBASE/tools/simh two setup files are provided with configure
 
   simh to reflect the w11a setup as close as possible:
 
   - setup_w11a_min.scmd
 
     Very close the current w11a state when it runs on an S3BOARD
 
     - processor: 11/70, no FPP, 1 Mbyte
 
     - periphery:   2 DL11, LP11, RK11, PC11
 
   - setup_w11a_max.scmd
 
     Planned configuration for the w11a, in addition
 
     - processor: 4 Mbyte memory (as on Nexys2, Nexys3,...)
 
     - periphery: DZ11, RL11/RL02, RK70/RP06, TM11/TU10
 
 
       login: {root}
   Startup scripts are provided with each oskit. They call the w11a_max
 
   configuration, so will show in the emulator what w11a can do when
 
   finished.
 
 
     Now you are at the shell prompt and can excercise the system, e.g.
   All examples below use the same basic setup
 
 
       # {ls -al}
 
       total 62
 
       drwxr-xr-x  9 bin       160 Jan 29 16:14 .
 
       drwxr-xr-x  9 bin       160 Jan 29 16:14 ..
 
       drwxr-xr-x  2 bin       944 Nov 26 18:13 bin
 
       drwxr-xr-x  2 bin        80 Nov 26 18:13 dev
 
       drwxr-xr-x  2 bin       240 Mar 21 12:07 etc
 
       drwxr-xr-x  2 bin       224 Nov 26 18:13 lib
 
       drwxr-xr-x  2 bin        32 Nov 26 18:13 mnt
 
       drwxrwxrwx  2 bin        32 Nov 26 18:13 tmp
 
       -rwxrwxrwx  1 bin     25802 Mar 21 12:07 unix
 
       drwxr-xr-x 14 bin       224 Nov 26 18:13 usr
 
 
 
     There is no 'halt' or 'shutdown' command, just ^D out of the server
 
     session. The disks aren't cached, so no need to sync either.
 
 
 
4. 2.11BSD system ---------------------------------------------------------
 
   - A disk set is available from
 
       http://www.retro11.de/data/oc_w11/211bsd_rkset.tgz
 
     Download, unpack and copy the disk images (*.dsk) to
 
       $RETROBASE/rtl/sys_gen/w11a/tb
 
 
 
   - Using old (pi_rri) backend server (serial port only)
   - setup vt100 emulator window for 2nd DL11
 
 
       cd $RETROBASE/rtl/sys_gen/w11a/tb
       cd $RETROBASE/tools/oskit/
       sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
       telnet_starter -d -s DL1 &
       telnet_starter -d DL0 &
 
       telnet_starter -d DL1 &
 
 
 
     [for s3,n2:]
       {Note: the -s ensures that the port numbers used by simh are taken!}
       SWI = 00000010
 
       dorri -u0,460,1,2   @211bsd_rk_boot.pcmd
 
     [for n3:]
 
       SWI = 00000010
 
       dorri -u0,2000,1,2  @211bsd_rk_boot.pcmd
 
 
 
   - Using new (ti_rri) backend server (serial and fx2 supported)
   - start the simulator
 
 
       cd $RETROBASE/rtl/sys_gen/w11a/tb
     pdp11 _boot.scmd
       telnet_starter -d DL0 &
 
 
 
     [for s3,n2 over serial:]
5. oskits -----------------------------------------------------------------
       SWI = 00000010
 
       torri -tu0,460k,break,xon   @211bsd_rk_boot.tcl
 
     [for n3 over serial:]
 
       SWI = 00000010
 
       torri -tu0,2M,break,xon     @211bsd_rk_boot.tcl
 
 
 
     [for n2,n3 over fx2:]
   Ready to be used 'oskits' are provided under
       SWI = 00000100
     $RETROBASE/tools/oskit/
       torri -u     @211bsd_rk_boot.tcl
 
 
   The tarballs with the disk images are provided from a web server
 
   and have to be installed separately.
 
 
 
5a. Unix systems -----------------------------------------------------
 
 
 
   Legal and license issues:
 
 
 
     Ancient UNIX systems for the PDP-11 can now be freely used under the
 
     'Caldera license'. 2.11BSD was released 1992 under the 4 clause BSD
 
     license. Taken together
 
 
 
       - Unix V1 to V7
 
       - all BSD Unix versions for PDP-11
 
 
 
     can be freely distributed and used for non-commercial purposes.
 
 
 
   Two oskits are currently provided:
 
 
 
     - unix-v5_rk: Unix V5 System on RK05
 
     - 211bsd_rk:  2.11BSD system on RK05
 
 
 
   For further details consult the README_set.txt file in the
 
   oskit directory.
 
 
 
5b. DEC operating systems --------------------------------------------
 
 
 
   Legal and license issues:
 
 
 
     Unfortunately there is no general hobbyist license for DEC operating
 
     systems for PDP-11 computers. The 'Mentec license' commonly understood
 
     to cover the some older versions of DEC operating systems, for example
 
       - RT-11 V5.3 or prior
 
       - RSX-11M V4.3 or prior
 
       - RSX-11M PLUS V3.0 or prior
 
     on software simulators, most notably on the 'simh' suite.
 
 
 
     HOWEVER: THIS LICENSE DOES NOT COVER THE USAGE OF THESE HISTORIC DEC
 
              OPERATING SYSTEMS ON ANY 'REAL HARDWARE' IMPLEMENTATION OF A
 
              PDP-11. SO USAGE ON THE W11 IS *NOT* COVERED BY THE
 
              'Mentec-license'.
 
 
 
   Some oskits are provided with systems sysgen'ed to run on a configuration
 
   like the w11a.
 
 
 
   - Feel free to explore them with the simh simulator.
 
     The boot scripts for simh are included ( .simh )
 
 
 
   - In case you happen to have a valid license feel free to try them
 
     out the W11A and let the author know whether is works as it should.
 
     For convenience the boot scripts are also included ( .tcl ).
 
 
   - the boot dialog in the console xterm window will look like
   Three oskits are currently provided
     (required input is in {..}, with {} denoting a carriage return:
 
 
 
       70Boot from rk(0,0,0) at 0177404
     - rsx11m-31_rk: RSX-11M V3.1 on RK05
       : {}
     - rsx11m-40_rk: RSX-11M V4.0 on RK05
       : rk(0,0,0)unix
     - rt11-40_rk:   RT-11 V4.0   on RK05
       Boot: bootdev=03000 bootcsr=0177404
 
 
 
       2.11 BSD UNIX #26: Thu Jan 1 19:49:13 PST 2009
 
           root@curly.2bsd.com:/usr/src/sys/RETRONFPRK
 
 
 
       phys mem  = 3932160
 
       avail mem = 3577856
 
       user mem  = 307200
 
 
 
       January  4 16:45:33 init: configure system
 
 
 
       dz ? csr 160100 vector 310 skipped:  No CSR.
 
       lp 0 csr 177514 vector 200 attached
 
       rk ? csr 177400 vector 220 didn't interrupt.
 
       rl ? csr 174400 vector 160 skipped:  No CSR.
 
       tm ? csr 172520 vector 224 skipped:  No CSR.
 
       xp ? csr 176700 vector 254 skipped:  No CSR.
 
       cn 1 csr 176500 vector 300 attached
 
       erase, kill ^U, intr ^C
 
 
 
     In first '#' prompt the system is in single-user mode. Just enter a ^D
 
     to continue the system startup to multi-user mode:
 
 
 
       #^D
 
       checking quotas: done.
 
       Assuming non-networking system ...
 
       checking for core dump...
 
       preserving editor files
 
       clearing /tmp
 
       standard daemons: update cron accounting.
 
       starting lpd
 
       starting local daemons:Sun Jan  4 16:46:37 PST 2009
 
       January  4 16:46:37 init: kernel security level changed from 0 to 1
 
       January  4 16:46:40 getty: /dev/tty01: Device not configured
 
       ...
 
 
 
       2.11 BSD UNIX (curly.2bsd.com) (console)
 
 
 
       login: {root}
 
       erase, kill ^U, intr ^C
 
 
 
     Now the system is in multi-user mode, daemons runnng. You can explore
 
     the system, e.g. with a 'pstat -T' or a 'mount' command. At end is
 
     important to shutdown properly with a 'halt':
 
 
 
       # {pstat -T}
 
         7/186 files
 
        39/208 inodes
 
        11/150 processes
 
         6/ 46 texts active,  28 used
 
         2/135 swapmap entries,  366 kB used, 2069 kB free, 2063 kB max
 
        33/150 coremap entries, 2960 kB free, 2867 kB max
 
         1/ 10  ub_map entries,   10    free,   10    max
 
       # {mount}
 
       /dev/rk0h on /
 
       /dev/rk2h on /tmp
 
       /dev/rk3h on /bin
 
       /dev/rk4h on /usr
 
       # {halt}
 
       syncing disks... done
 
       halting
 
 
 
     Now the server process can be stopped with ^D.
   For further details consult the README_set.txt file in the
 
   oskit directory.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.