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