Session captured from a Nexys-2 board configured with an 11/45, RH11 + RP06, console, and extra KL11. The RP06 image was created from the original V7 distribution tape using SIMH.
In this session, we see how the extra KL11 serial controller is configured into the kernel; after that, the kernel is recompiled, some settings are changed, and the system is rebooted with the new kernel.
Hello, world [t44]: cpu 11/45
boot from rp:
boot
Boot
: hp(0,0)unix
mem = 177344
# RESTRICTED RIGHTS: USE, DUPLICATION, OR DISCLOSURE
IS SUBJECT TO RESTRICTIONS STATED IN YOUR CONTRACT WITH
WESTERN ELECTRIC COMPANY, INC.
WED DEC 31 19:04:22 EST 1969
login: root
Password:
You have mail.
# cd /usr/sys/conf
# ls
c.c
c.o
hphtconf
hptmconf
l.o
l.s
makefile
mch.o
mch.s
mch0.s
mkconf
mkconf.c
rkhtconf
rktmconf
rp1conf
rphtconf
rptmconf
tconf
# cp hphtconf myconf
# cat myconf
hp
root hp 0
swap hp 1
swplo 0
nswap 8778
ht
# ed myconf
45
p
ht
s/ht/1kl/
w
46
1,$p
hp
root hp 0
swap hp 1
swplo 0
nswap 8778
1kl
q
# cd ../dev
# ed kl.c
3629
1,40p
/*
* KL/DL-11 driver
*/
#include "../h/param.h"
#include "../h/conf.h"
#include "../h/dir.h"
#include "../h/user.h"
#include "../h/tty.h"
#include "../h/systm.h"
/* base address */
#define KLADDR ((struct device *)0177560) /* console */
#define KLBASE ((struct device *)0176500) /* kl and dl11-a */
#define DLBASE ((struct device *)0175610) /* dl-e */
#define NKL11 1
#define NDL11 0
#define DSRDY 02
#define RDRENB 01
#define DLDELAY 4 /* Extra delay for DL's (double buff) */
#define NL1 000400
#define NL2 001000
#define CR2 020000
#define FF1 040000
#define TAB1 002000
struct tty kl11[NKL11+NDL11];
int klstart();
int ttrstrt();
char partab[];
struct device {
int rcsr;
int rbuf;
int tcsr;
int tbuf;
};
klopen(dev, flag)
dev_t dev;
15
#define NKL11 1
s/11 1/11 2/
p
#define NKL11 2
w
3629
q
# cd ../conf
# ls
c.c
c.o
hphtconf
hptmconf
l.o
l.s
makefile
mch.o
mch.s
mch0.s
mkconf
mkconf.c
myconf
rkhtconf
rktmconf
rp1conf
rphtconf
rptmconf
tconf
# ./mkconf <myconf
console at 60
clock at 100
clock at 104
parity at 114
hp at 254
kl at 300
# make all
cd ../sys; cc -c -O *.c; mklib; rm *.o
acct.c:
alloc.c:
clock.c:
fakemx.c:
fio.c:
iget.c:
machdep.c:
main.c:
malloc.c:
nami.c:
pipe.c:
prf.c:
prim.c:
rdwri.c:
sig.c:
slp.c:
subr.c:
sys1.c:
sys2.c:
sys3.c:
sys4.c:
sysent.c:
text.c:
trap.c:
ureg.c:
cd ../dev; cc -c -O *.c; mklib; rm *.o
bio.c:
cat.c:
dc.c:
dh.c:
dhdm.c:
dhfdm.c:
dkleave.c:
dn.c:
dsort.c:
du.c:
dz.c:
hp.c:
ht.c:
kl.c:
mem.c:
mx1.c:
mx2.c:
partab.c:
pk0.c:
pk1.c:
pk2.c:
pk3.c:
rf.c:
rk.c:
rl.c:
rp.c:
sys.c:
tc.c:
tm.c:
tty.c:
vp.c:
vs.c:
# make
as - -o l.o l.s
cc -c c.c
ld -o unix -X -i l.o mch.o c.o ../sys/LIB1 ../dev/LIB2
# ls
c.c
c.o
hphtconf
hptmconf
l.o
l.s
makefile
mch.o
mch.s
mch0.s
mkconf
mkconf.c
myconf
rkhtconf
rktmconf
rp1conf
rphtconf
rptmconf
tconf
unix
# mv /unix /ounix
# cp unix /
# cd /dev
# /etc/mknod tty00 c 0 1
# ls -als
total 4
1 drwxr-xr-x 2 root 304 Dec 31 19:20 .
1 drwxr-xr-x 8 root 288 Dec 31 19:19 ..
0 crw--w--w- 1 root 0, 0 Dec 31 19:20 console
5 crw-r--r-- 1 bin 8, 1 Jan 10 15:40 kmem
2 -rw-rw-r-- 1 bin 775 Jan 10 15:26 makefile
4 crw-r--r-- 1 bin 8, 0 Jan 10 15:39 mem
2 brw-rw-rw- 1 root 3, 0 Dec 31 19:00 mt0
7 crw-rw-rw- 1 root 12,128 Dec 31 19:00 nrmt0
5 crw-rw-rw- 1 bin 8, 2 Dec 31 19:01 null
6 crw-rw-rw- 1 root 12, 0 Dec 31 19:00 rmt0
3 brw-r--r-- 1 root 6, 0 Dec 31 19:02 rp0
4 brw-r--r-- 1 root 6, 7 Dec 31 19:01 rp3
7 crw-r--r-- 1 root 14, 0 Dec 31 19:00 rrp0
8 crw-r--r-- 1 root 14, 7 Dec 31 19:00 rrp3
4 brw-r--r-- 1 root 6, 1 Dec 31 19:00 swap
9 crw-rw-rw- 1 bin 17, 0 Jan 10 15:40 tty
1 crw-rw-r-- 1 root 0, 1 Dec 31 19:20 tty00
# cd /etc
# ed ttys
266
1
14console
00tty00
s/00/14/
p
14tty00
w
266
q
# sync
# sync
#
Hello, world [t44]: cpu 11/45
boot from rp:
boot
Boot
: hp(0,0)unix
mem = 178816
# RESTRICTED RIGHTS: USE, DUPLICATION, OR DISCLOSURE
IS SUBJECT TO RESTRICTIONS STATED IN YOUR CONTRACT WITH
WESTERN ELECTRIC COMPANY, INC.
WED DEC 31 19:26:15 EST 1969
login: root
Password:
You have mail.
# ed /etc/passwd
141
1,$p
root:VwL97VCAx1Qhs:0:1::/:
daemon:x:1:1::/:
sys::2:2::/usr/sys:
bin::3:3::/bin:
uucp::4:4::/usr/lib/uucp:/usr/lib/uucico
dmr::7:3::/usr/dmr:
a
sytse::100:100::/usr/sytse:
^D
?
1,$p
root:VwL97VCAx1Qhs:0:1::/:
daemon:x:1:1::/:
sys::2:2::/usr/sys:
bin::3:3::/bin:
uucp::4:4::/usr/lib/uucp:/usr/lib/uucico
dmr::7:3::/usr/dmr:
sytse::100:100::/usr/sytse:
w
169
q
# mkdir /usr/sytse
# chown sytse /usr/sytse
# who
root console Dec 31 19:26
sytse tty00 Dec 31 19:27
# who am i
root console Dec 31 19:26
#