- tools/bin/ti_w11: use rw11::shell by default; add -ns to suppress it - tools/oskit/*/*_boot.tcl: remove activation of cpucons and cpumon - tools/src/librwxxtpp - RtclRw11Cpu.cpp: use 'ssr' instead of 'mmr' for MMU register names - tools/tcl/rw11: - defs.tcl: fix typo in regmap_add for SDR's - shell.tcl: add '@' command - shell_simh.tcl: added, simh command converter - *: README updates
Notes on oskit: 2.11BSD system on a TM11 tape distribution kit
General remarks
See notes in w11a_os_guide.md on
- I/O emulation setup
- FPGA Board setup
- Rlink and Backend Server setup
- Legal terms
Installation
A tape set is available from http://www.retro11.de/data/oc_w11/oskits/211bsd_tmset.tgz
Download, unpack and copy the tape images (*.tap), e.g.
cd $RETROBASE/tools/oskit/211bsd_tm/
wget http://www.retro11.de/data/oc_w11/oskits/211bsd_tmset.tgz
tar -xzf 211bsd_tmset.tgz
Usage
-
This is a tape distribution kit and tailoed to be installed on massbus disks of RP or RM type. The 211bsd system doesn't contain a ready to used boot block for RP07 disks, while RM03 and RP05 disks are too small for a full 211bsd system. Therefore RP06 and RM05 disks are the supported disk types.
-
So first step is to create a disk image, use one of
create_disk --typ=rp06 --bad 211bsd_rp06.dsk create_disk --typ=rm05 --bad 211bsd_rm05.dsk -
Start backend server and boot system (see section Rlink in w11a_os_guide.md)
boot script: 211bsd_tm_rp06_boot.tcl or 211bsd_tm_rm05_boot.tcl example: ti_w11 <opt> @211bsd_tm_rp06_boot.tcl where <opt> is the proper option set for the board. -
Hit
<ENTER>in thextermwindow to connnect to backend server. The boot dialog in the consolextermwindow will look like (required input is in{..}, with{<CR>}denoting a carriage return:70Boot from tm(0,0,0) at 0172522 :This prompt of the
mtbootmonitor, from which the different steps of the installation procedure can be started.
Install 211bsd from tape on a RP06 disk
The tape distribution contains 8 files
file #records length Contents
0 73 512 tape boot (twice) and boot handler
1 38 1024 standalone disklabel
2 34 1024 standalone mkfs
3 36 1024 standalone restor
4 33 1024 standalone icheck
5 501 10240 dump of root file system
6 3516 10240 tar of adm bin crash ...
7 903 10240 tar of sys include
8 4168 10240 tar of remaining directories
The installation will
- partition the disk with disklabel
- create the root file system with mkfs
- re-store the root file system with restor
- than boot 211bsd from disk into single user mode
- write the boot block
- create the
/usrfile system - load the
/usrfile with tar from tape (three steps)
Install 211bsd, tape phase
The following shows the full dialogue, the input is after a ## separator
70Boot from tm(0,0,0) at 0172522
: ## tm(0,1)
Boot: bootdev=0401 bootcsr=0172522
disklabel
Disk? ## xp(0,0)
'xp(0,0)' is unlabeled or the label is corrupt.
Proceed? [y/n] ## y
d(isplay) D(efault) m(odify) w(rite) q(uit)? ## m
modify
d(isplay) g(eometry) m(isc) p(artitions) q(uit)? ## p
modify partitions
d(isplay) n(umber) s(elect) q(uit)? ## n
Number of partitions (8 max) [1]? ## 3
modify partitions
d(isplay) n(umber) s(elect) q(uit)? ## s
a b c d e f g h q(uit)? ## a
sizes and offsets may be given as sectors, cylinders
or cylinders plus sectors: 6200, 32c, 19c10s respectively
modify partition 'a'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## t
'a' fstype [2.11BSD]: ## 2.11BSD
modify partition 'a'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## o
'a' offset [0]: ##
modify partition 'a'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## s
'a' size [340670]: ## 50c
modify partition 'a'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## q
modify partitions
d(isplay) n(umber) s(elect) q(uit)? ## s
a b c d e f g h q(uit)? ## b
sizes and offsets may be given as sectors, cylinders
or cylinders plus sectors: 6200, 32c, 19c10s respectively
modify partition 'b'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## t
'b' fstype [unused]: ## swap
modify partition 'b'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## o
'b' offset [0]: ## 50c
modify partition 'b'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## s
'b' size [0]: ## 15c
modify partition 'b'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## q
modify partitions
d(isplay) n(umber) s(elect) q(uit)? ## s
a b c d e f g h q(uit)? ## c
sizes and offsets may be given as sectors, cylinders
or cylinders plus sectors: 6200, 32c, 19c10s respectively
modify partition 'c'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## t
'c' fstype [unused]: ## 2.11BSD
modify partition 'c'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## o
'c' offset [0]: ## 65c
modify partition 'c'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## s
'c' size [0]: ## 749c
modify partition 'c'
d(isplay) z(ero) t(ype) o(ffset) s(ize) f(rag) F(size) q(uit)? ## q
modify partitions
d(isplay) n(umber) s(elect) q(uit)? ## d
type: SMD
disk: SMD
label: DEFAULT
flags:
bytes/sector: 512
sectors/track: 22
tracks/cylinder: 19
sectors/cylinder: 418
cylinders: 815
rpm: 3600
drivedata: 1 0 0 0 0
3 partitions:
# size offset fstype [fsize bsize]
a: 20900 0 2.11BSD 1024 1024 # (Cyl. 0 - 49)
b: 6270 20900 swap # (Cyl. 50 - 64)
c: 313082 27170 2.11BSD 1024 1024 # (Cyl. 65 - 813)
modify partitions
d(isplay) n(umber) s(elect) q(uit)? ## q
modify
d(isplay) g(eometry) m(isc) p(artitions) q(uit)? ## q
d(isplay) D(efault) m(odify) w(rite) q(uit)? ## w
d(isplay) D(efault) m(odify) w(rite) q(uit)? ## q
70Boot from tm(0,0,1) at 0172522
: ## tm(0,2)
Boot: bootdev=0402 bootcsr=0172522
Mkfs
file system: ## xp(0,0)
file sys size [10450]: ##
bytes per inode [4096]: ##
interleaving factor (m; 2 default): ##
interleaving modulus (n; 209 default): ##
isize = 2608
m/n = 2 209
Exit called
70Boot from tm(0,0,2) at 0172522
: ## tm(0,3)
Boot: bootdev=0403 bootcsr=0172522
Restor
Tape? ## tm(0,5)
Disk? ## xp(0,0)
Last chance before scribbling on disk. ## <cr>
End of tape
70Boot from tm(0,0,3) at 0172522
: ## xp(0,0)unix
Install 211bsd, disk phase
The last command boots 211bsd form the just setup disk, which has now a root file system, but not yet a hardward boot block. In the following
#is now the shell prompt!!indicates comments- indented lines show output
Boot: bootdev=05000 bootcsr=0176700
2.11 BSD UNIX #9: Wed Dec 10 06:24:37 PST 2008
root@curly.2bsd.com:/usr/src/sys/RETRONFPNW
attaching lo0
phys mem = 3932160
avail mem = 3461952
user mem = 307200
June 8 21:21:24 init: configure system
dz ? csr 160100 vector 310 skipped: No CSR.
lp 0 csr 177514 vector 200 attached
rk 0 csr 177400 vector 220 attached
rl 0 csr 174400 vector 160 attached
tm 0 csr 172520 vector 224 attached
xp 0 csr 176700 vector 254 attached
cn 1 csr 176500 vector 300 attached
erase, kill ^U, intr ^C
!! make system bootable {!! different for RM05 !!}
# dd if=/mdec/hpuboot of=/dev/rxp0a count=1
1+0 records in
1+0 records out
!! create file system on partition c
# mkfs -s 156541 -i 4096 -m 2 -n 209 /dev/rxp0c
isize = 39120
m/n = 2 209
!! now load the /usr files
# mount /dev/xp0c /usr
# cd /usr
# mt rew
# mt fsf 6
# tar xpbf 20 /dev/rmt12
# sync
!! now load the /usr/src files
# mkdir /usr/src
# cd /usr/src
# mt -f /dev/rmt12 fsf
# tar xpbf 20 /dev/rmt12
# sync
# mt -f /dev/rmt12 fsf
# tar xpbf 20 /dev/rmt12
# cd /
# chmod 755 / /usr /usr/src /usr/src/sys
# sync
# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
root 10285 4503 5782 44% /
/dev/xp0c 154094 87043 67051 56% /usr
test boot created sysyem
# halt
on ti_w11 prompt
cpu0 boot rpa0
70Boot from xp(0,0,0) at 0176700
: ## <cr>
from now on like in README for 211bsd_rpset.
Install 211bsd from tape on a RM05 disk
The procedure is very similar to an RP06 install, the only differences are
- disk partitioning (creating disklabel)
- setup of boot block
- initializing the
cfile system
In the following only these differences are briefly summarized:
-
use
211bsd_tm_rm05_boot.tcl(instead of211bsd_tm_rp06_boot.tcl) -
in
disklabeluse different sizes and offsets'a' size [500384]: ## 34c 'b' offset [0]: ## 34c 'b' size [0]: ## 13c 'c' offset [0]: ## 47c 'c' size [0]: ## 775c -
the final
'd'or display in disklabel should showtype: SMD disk: SMD label: DEFAULT flags: bytes/sector: 512 sectors/track: 32 tracks/cylinder: 19 sectors/cylinder: 608 cylinders: 823 rpm: 3600 drivedata: 0 0 0 0 0 3 partitions: # size offset fstype [fsize bsize] a: 20672 0 2.11BSD 1024 1024 # (Cyl. 0 - 33) b: 7904 20672 swap # (Cyl. 34 - 46) c: 471200 28576 2.11BSD 1024 1024 # (Cyl. 47 - 821) -
after first boot write the correct boot block
# dd if=/mdec/rm05uboot of=/dev/rxp0a count=1Note: the boot code has the disk geometry hard coded, so using the right one is essential. RP06 uses
hpuboot, while RM05 usesrm05uboot!! -
to create file system on partition c use
# /sbin/mkfs -m 2 -n 304 -i 4096 -s 235600 /dev/rxp0c -
the final system should give a
dfoutput likeFilesystem 1K-blocks Used Avail Capacity Mounted on root 10173 4503 5670 44% / /dev/xp0c 231917 87043 144874 38% /usr