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

Subversion Repositories w11

[/] [w11/] [tags/] [w11a_V0.6/] [doc/] [w11a_os_guide.txt] - Blame information for rev 16

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 16 wfjm
# $Id: w11a_os_guide.txt 442 2011-12-23 10:03:28Z mueller $
2 4 wfjm
 
3 5 wfjm
Guide to run operating system images on w11a systems
4
 
5
  Table of content:
6
 
7
    1. I/O emulation setup
8
    2. FPGA Board setup
9
    3. Unix V5 system
10
    4. 2.11BSD system
11
 
12
 
13 4 wfjm
1. I/O emulation setup ----------------------------------------------------
14
 
15
   All UNIBUS peripherals which exchange data (currently DL11, LP11, PC11, RK11)
16
   are currently emulated via a backend process. In the current version the
17
   communication between FPGA board and backend is via the serial port, either
18
   directly or via a USB-RS232 adapter. A direct connection is limited to 115k
19
   Baud on most PCs, while a connection via a USB-RS232 adapter was tested up
20
   to 460k Baud.
21
 
22
   Notes: - A USB-RS232 cable with a Prolific Technology PL2303 chip simply
23
            never gave reliable connections for higher Baud rates.
24
          - A USB-RS232 cable with a FTDI FT232R chip, like the cable offered
25
            by FTDI as US232R-100 worked fine.
26 16 wfjm
          - On older linux kernels (prior 2.6.32) it is essential to set the
27
            latency timer for the FTDI USB-RS232 cable to 1 ms (from the power
28
            in default of 16 ms), e.g. with
29 4 wfjm
              sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
30 16 wfjm
            For linux kernel 2.6.32 or newer the default is 1 ms already.
31 4 wfjm
          - the following assumes that a USB-RS232 cable with FTDI chip is used
32
 
33
   A 460k Baud connection gives in practice a disk throughput of about 20 kB/s.
34
   This allows to test the system but is a bit slow to real usage.  In an OS
35
   with good disk caching like 2.11BSD the impact of such a 'slow disk' is
36
   actually smaller than the bare numbers suggest.
37
 
38
2. FPGA Board setup -------------------------------------------------------
39
 
40 15 wfjm
   - for s3board and nexys2
41
     - connect the USB-RS232 cable to the RS232 port of the s3board or nexys2
42 16 wfjm
     - for kernel < 2.6.32: set the latency timer of the USB-RS232, e.g. with
43 15 wfjm
         sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
44 16 wfjm
     - ensure that all 8 switches are in the indicated positions (SWI=xxxxxxxx)
45 15 wfjm
     - load the w11a design into the FPGA, e.g. via impact
46 4 wfjm
 
47 15 wfjm
   - for nexys3
48
     - connect USB cable to the 'usb uart' port (next to the 5 buttons)
49 16 wfjm
     - ensure that all 8 switches are in the indicated positions (SWI=xxxxxxxx)
50 15 wfjm
     - load the w11a design into the FPGA, e.g. via impact
51
 
52 4 wfjm
3. Unix V5 system ---------------------------------------------------------
53
 
54
   - A disk set is available from
55
       http://www-linux.gsi.de/~mueller/retro/oc_w11/data/unix_v5_rkset.tgz
56
     Download, unpack and copy the disk images (*.dsk) to
57
       $RETROBASE/rtl/sys_gen/w11a/tb
58
 
59
   - Setup USB-RS232 cable, start xterm in vt100 mode and the server backend
60 16 wfjm
     Note: It is essential that the settings of the board switches are correct
61
           in the following indicated by SWI = xxxxxxxx.
62 4 wfjm
 
63
       cd $RETROBASE/rtl/sys_gen/w11a/tb
64
       sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
65
       telnet_starter -d DL0 &
66 16 wfjm
     [for s3,n2:]
67
       SWI = 00000010
68
       dorri -u0,460,1,2   @uv5_boot.pcmd
69
     [for n3:]
70
       SWI = 00000010
71
       dorri -u0,2000,1,2  @uv5_boot.pcmd
72 4 wfjm
 
73
   - the boot dialog in the console xterm window will look like
74
     (required input is in {..}, with {} denoting a carriage return:
75
 
76
       @{unix}
77
 
78
       login: {root}
79
 
80
     Now you are at the shell prompt and can excercise the system, e.g.
81
 
82
       # {ls -al}
83
       total 62
84
       drwxr-xr-x  9 bin       160 Jan 29 16:14 .
85
       drwxr-xr-x  9 bin       160 Jan 29 16:14 ..
86
       drwxr-xr-x  2 bin       944 Nov 26 18:13 bin
87
       drwxr-xr-x  2 bin        80 Nov 26 18:13 dev
88
       drwxr-xr-x  2 bin       240 Mar 21 12:07 etc
89
       drwxr-xr-x  2 bin       224 Nov 26 18:13 lib
90
       drwxr-xr-x  2 bin        32 Nov 26 18:13 mnt
91
       drwxrwxrwx  2 bin        32 Nov 26 18:13 tmp
92
       -rwxrwxrwx  1 bin     25802 Mar 21 12:07 unix
93
       drwxr-xr-x 14 bin       224 Nov 26 18:13 usr
94
 
95
     There is no 'halt' or 'shutdown' command, just ^D out of the server
96
     session. The disks aren't cached, so no need to sync either.
97
 
98
4. 2.11BSD system ---------------------------------------------------------
99
   - A disk set is available from
100 13 wfjm
       http://www-linux.gsi.de/~mueller/retro/oc_w11/data/211bsd_rkset.tgz
101 4 wfjm
     Download, unpack and copy the disk images (*.dsk) to
102
       $RETROBASE/rtl/sys_gen/w11a/tb
103
 
104
   - Setup USB-RS232 cable, start two xterm in vt100 mode and the server backend
105 16 wfjm
     Note: It is essential that the settings of the board switches are correct
106
           in the following indicated by SWI = xxxxxxxx.
107 4 wfjm
 
108
       cd $RETROBASE/rtl/sys_gen/w11a/tb
109
       sudo $RETROBASE/tools/bin/set_ftdi_lat USB0 1
110
       telnet_starter -d DL0 &
111
       telnet_starter -d DL1 &
112 16 wfjm
     [for s3,n2:]
113
       SWI = 00000010
114
       dorri -u0,460,1,2   @211bsd_rk_boot.pcmd
115
     [for n3:]
116
       SWI = 00000010
117
       dorri -u0,2000,1,2  @211bsd_rk_boot.pcmd
118 4 wfjm
 
119
   - the boot dialog in the console xterm window will look like
120
     (required input is in {..}, with {} denoting a carriage return:
121
 
122
       70Boot from rk(0,0,0) at 0177404
123
       : {}
124
       : rk(0,0,0)unix
125
       Boot: bootdev=03000 bootcsr=0177404
126
 
127
       2.11 BSD UNIX #26: Thu Jan 1 19:49:13 PST 2009
128
           root@curly.2bsd.com:/usr/src/sys/RETRONFPRK
129
 
130
       phys mem  = 3932160
131
       avail mem = 3577856
132
       user mem  = 307200
133
 
134
       January  4 16:45:33 init: configure system
135
 
136
       dz ? csr 160100 vector 310 skipped:  No CSR.
137
       lp 0 csr 177514 vector 200 attached
138
       rk ? csr 177400 vector 220 didn't interrupt.
139
       rl ? csr 174400 vector 160 skipped:  No CSR.
140
       tm ? csr 172520 vector 224 skipped:  No CSR.
141
       xp ? csr 176700 vector 254 skipped:  No CSR.
142
       cn 1 csr 176500 vector 300 attached
143
       erase, kill ^U, intr ^C
144
 
145
     In first '#' prompt the system is in single-user mode. Just enter a ^D
146
     to continue the system startup to multi-user mode:
147
 
148
       #^D
149
       checking quotas: done.
150
       Assuming non-networking system ...
151
       checking for core dump...
152
       preserving editor files
153
       clearing /tmp
154
       standard daemons: update cron accounting.
155
       starting lpd
156
       starting local daemons:Sun Jan  4 16:46:37 PST 2009
157
       January  4 16:46:37 init: kernel security level changed from 0 to 1
158
       January  4 16:46:40 getty: /dev/tty01: Device not configured
159
 
160
 
161
       January  4 16:46:40 getty: /dev/tty00: Device not configured
162
 
163
 
164
       2.11 BSD UNIX (curly.2bsd.com) (console)
165
 
166
       login: {root}
167
       erase, kill ^U, intr ^C
168
 
169
     Now the system is in multi-user mode, daemons runnng. You can explore
170
     the system, e.g. with a 'pstat -T' or a 'mount' command. At end is
171
     important to shutdown properly with a 'halt':
172
 
173
       # {pstat -T}
174
         7/186 files
175
        39/208 inodes
176
        11/150 processes
177
         6/ 46 texts active,  28 used
178
         2/135 swapmap entries,  366 kB used, 2069 kB free, 2063 kB max
179
        33/150 coremap entries, 2960 kB free, 2867 kB max
180
         1/ 10  ub_map entries,   10    free,   10    max
181
       # {mount}
182
       /dev/rk0h on /
183
       /dev/rk2h on /tmp
184
       /dev/rk3h on /bin
185
       /dev/rk4h on /usr
186
       # {halt}
187
       syncing disks... done
188
       halting
189
 
190
     Now the server process can be stopped with two ^D.

powered by: WebSVN 2.1.0

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