I've found out the reason for the non-printing printf's. The code in
prf.c only actually outputs to the console if the contents of the
switch register are non-zero... the code in question is the function
putchar() in /usr/sys/ken/prf.c
Still can't get the second DL11 going though ;)
--
----------------------------------------------------------------------------
Robert Manners Osney Laboratory
rjm(a)swift.eng.ox.ac.uk Dept of Engineering Science
University of Oxford
01865 288762
Try: http://swift.eng.ox.ac.uk Linux - the only choice
"There's more to life than books you know, but not much more"
----------------------------------------------------------------------------
OK, I'm still attempting kernel builds of v6 to support my 2nd DL11-W.
Thanks to everyone who's given me advice so far -- sadly it doesn't
work yet ...
I have two DL11-Ws, one as the console (CSR=0177560, VEC=0060), one as
the first local interface (CSR=0176500, VEC=0300). Under RT11, I'm
able to use both interfaces without trouble (using CONSOL.MAC to
switch from one to the other, since I haven't SYSGENed for
multi-terminal support). Thus I know the hardware works and is
correctly configured.
According to the docs in /usr/docs/start, all I need do to get support
for the second DL11-W is edit /usr/sys/dmt/kl.c to increase NKL11 from
1 to 2. (As far as the KL/DL driver is concerned the only difference
between the two types of interface is the base addresses, and it
happens to be configured so that the first KL11 other than the console
will have a CSR of 0176500, so I choose that one.) I can then rebuild
everything and run /usr/sys/conf/mkconf. At the mkconf prompt I enter
"rk", and "1kl", as stated in the docs. /usr/sys/conf/c.c and
/usr/sys/conf/l.s are built. Inspection of l.s suggests that the
correct interrupt vector of 300 is used ... Inspection of c.c implies
that the KL11 character devices will all have major device number
0. Looking at kl.c, it seems that:
c 0 0 Console 177560
c 0 1 1st KL11 176500
c 0 2 2nd KL11 176510
...
c 0 3 1st DL11 175610
c 0 4 2nd DL11 etc. 175620
I then finish building the kernel and boot from it --- no errors.
Creating the character devices as shown, I get:
echo fred >/dev/tty0 (the console) works fine
echo fred >/dev/tty1 (1st DL11) gives ...
/dev/tty1: cannot create
So I'm back to square one. As a test I set NKL11 and NDL11 to 4 and
ran mkconf with rk and 8kl. Still doesn't work. What am I doing wrong?
I'm out of ideas ...
Another interesting thing caught my eye as I was looking at the
docs. Apparently, the system should print out memory size as it
boots. Looking at /usr/sys/ken/main.c, I can see a whole bunch of
"printf"s which print out a copyright message and memory
details. Nothing is actually displayed on the console during boot!
_main is called from m40.s, and printf is a function defined within
the kernel code itself (of course ;)
Any ideas?
Cheers, Bob.
--
----------------------------------------------------------------------------
Robert Manners Osney Laboratory
rjm(a)swift.eng.ox.ac.uk Dept of Engineering Science
University of Oxford
01865 288762
Try: http://swift.eng.ox.ac.uk Linux - the only choice
"There's more to life than books you know, but not much more"
----------------------------------------------------------------------------
1. That little doc you sent out, Steven, made my day.
2. I got your note on the updates. Thanks again.
3. BSD2.11 is now running fine with a modified kernel. At this point
it is my pleasure to give you this Bug Report (or, what do I do now?)
a: The Netnix burps at link time. It says:
............. long list of modules...uipc_ustteq.o d.netnix.o
Undefined:
_arpresolve
_arpwhohas
_arpinput
It continues to build, but does issue a stop 1 (ignored) message.
At boot time netnix generates a bad magick number and fails to
load. I made the minimum number of modifications to the SYSYTEM
file to install the net.
Questions: Where do I look for the abovementioned symbols?
Do I have to run Netnix to go multi-user?
Unrelated questions: Will a DZV-11 (four line mux) work in place
of DZ-11? In my experience the Unibus and Q-Buss versions of this
board are 100% software compatible, but I'm failing to get a second
terminal going...
Now, the Real Doozie...
I have, to date, been unable to make any of the Games work. The message
is always "<name> not found". I tried worm, backgammon, wump, fortune,
others from the games directory. Binary dumps show what looks like valid
data in these files.
Spooky, huh?
The Saga Continues...
*************************************************************************
* A Personal Message from * BASILISK *
* Danny R. Brown * "Try our other fine flavors!" *
* ( sysyphus(a)crl.com ) * (404) 392-1691 *
* Pager:(404)397-0516 * LYNC host mode *
*************************************************************************
>From "Danny R. Brown" <sysyphus(a)crl.com> Mon Dec 4 12:04:49 1995
Received: from mail.crl.com by minnie.cs.adfa.oz.au (8.6.8/8.3) with SMTP id NAA12449; Mon, 4 Dec 1995 13:18:14 +1100
Received: from crl12.crl.com by mail.crl.com with SMTP id AA02592
(5.65c/IDA-1.5 for <oldunix(a)minnie.cs.adfa.oz.au>); Sun, 3 Dec 1995 18:10:36 -0800
Received: by crl12.crl.com id AA21511
(5.65c/IDA-1.5 for oldunix(a)minnie.cs.adfa.oz.au) Sun, 3 Dec 1995 18:04:49 -0800
Date: Sun, 3 Dec 1995 18:04:49 -0800 (PST)
From: "Danny R. Brown" <sysyphus(a)crl.com>
To: oldunix(a)minnie.cs.adfa.oz.au
Subject: Building BSD2.11 Huzzah! #2
Message-Id: <Pine.SUN.3.91.951203180007.21469A(a)crl12.crl.com>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Greetings!
In my earlier I asked a question about DZ vs. DZV11 support. I am
glad to note that the distributed Kermit works quite happily on
/dev/tty0, the first line on the DZV-11.
I still can't log on to that line, but the night is young.
Cheers,
D.Brown
*************************************************************************
* A Personal Message from * BASILISK *
* Danny R. Brown * "Try our other fine flavors!" *
* ( sysyphus(a)crl.com ) * (404) 392-1691 *
* Pager:(404)397-0516 * LYNC host mode *
*************************************************************************
>From "Steven M. Schultz" <sms(a)wlv.iipo.gtegsc.com> Mon Dec 4 16:06:03 1995
Received: from wlv.iipo.gtegsc.com by minnie.cs.adfa.oz.au (8.6.8/8.3) with ESMTP id RAA12900; Mon, 4 Dec 1995 17:14:35 +1100
Received: (from sms@localhost) by wlv.iipo.gtegsc.com (8.6.10/8.6.12) id WAA10558; Sun, 3 Dec 1995 22:06:03 -0800
Date: Sun, 3 Dec 1995 22:06:03 -0800
From: "Steven M. Schultz" <sms(a)wlv.iipo.gtegsc.com>
Message-Id: <199512040606.WAA10558(a)wlv.iipo.gtegsc.com>
To: oldunix(a)minnie.cs.adfa.oz.au, sysyphus(a)crl.com
Subject: Re: Building BSD2.11 Huzzah! #2
Greetings -
> From: "Danny R. Brown" <sysyphus(a)crl.com>
> In my earlier I asked a question about DZ vs. DZV11 support. I am
> glad to note that the distributed Kermit works quite happily on
> /dev/tty0, the first line on the DZV-11.
> I still can't log on to that line, but the night is young.
You have to enable a getty on the port before you can log in on it.
Edit /etc/ttys, adding if needed a tty00 line. There are numerous
examples in the file - it should be pretty easy to figure out what
to add or change. Then you need to tell 'init' about the change
by doing a "kill -HUP 1".
NOTE: ports are NOT bidirectional - if you're going to enable logins
on a line you won't be able to kermit _out_. And vice versa, if you're
going to kermit out you'll need to disable logins on that line. Yes
it'd be nice to have bidirectional ports - but someone keeps stealing
my copious supply of free time ;-)
Steven
>From "Steven M. Schultz" <sms(a)wlv.iipo.gtegsc.com> Mon Dec 4 16:01:18 1995
Received: from wlv.iipo.gtegsc.com by minnie.cs.adfa.oz.au (8.6.8/8.3) with ESMTP id RAA12884; Mon, 4 Dec 1995 17:03:43 +1100
Received: (from sms@localhost) by wlv.iipo.gtegsc.com (8.6.10/8.6.12) id WAA10542; Sun, 3 Dec 1995 22:01:18 -0800
Date: Sun, 3 Dec 1995 22:01:18 -0800
From: "Steven M. Schultz" <sms(a)wlv.iipo.gtegsc.com>
Message-Id: <199512040601.WAA10542(a)wlv.iipo.gtegsc.com>
To: oldunix(a)minnie.cs.adfa.oz.au, sysyphus(a)crl.com
Subject: Re: Building 2.11BSD...Huzzah!
Hi -
> From: "Danny R. Brown" <sysyphus(a)crl.com>
>
> 1. That little doc you sent out, Steven, made my day.
> 2. I got your note on the updates. Thanks again.
You're welcome.
> a: The Netnix burps at link time. It says:
> ............. long list of modules...uipc_ustteq.o d.netnix.o
> Undefined:
> _arpresolve
> _arpwhohas
> _arpinput
I wager you forgot to select the 'NETHER' option in your kernel
config file. Setting NETHER to 1 brings in the ARP modules.
> It continues to build, but does issue a stop 1 (ignored) message.
Hmmm, - the 'netbind' process gives an error about
undefined symbols. It sounds like that was ignored.
That's the signal not to run the kernel.
> At boot time netnix generates a bad magick number and fails to
> load. I made the minimum number of modifications to the SYSYTEM
That's because the netnix image was not successfully loaded - the
linker left the header set to something other than a valid a.out
header.
> Questions: Where do I look for the abovementioned symbols?
> Do I have to run Netnix to go multi-user?
In your kernel config file make sure that 'NETHER' is set to 1.
You could go multi user but you'd likely see a number of errors
as programs try to use sockets to communicate.
Best to have a valid kernel+netnix image set before going multiuser.
> Unrelated questions: Will a DZV-11 (four line mux) work in place
> of DZ-11? In my experience the Unibus and Q-Buss versions of this
It should. Just don't try to use ports 4,5,6, or 7 that a DZ-11\
would have.
> I have, to date, been unable to make any of the Games work. The message
> is always "<name> not found". I tried worm, backgammon, wump, fortune,
sigh. Did you put /usr/games into your search path? The games
are not in /usr/bin or /usr/ucb with the system programs. Try putting
/usr/games in your PATH (or simply typing /usr/games/robots).
Good Luck.
Steven
In atricle by Steven M. Schultz:
> Kernels are a special case of overlaid program (user mode programs
> may be overlaid too but have less restrictive size rules). The
> BASE segment (non-overlaid portion) may be up to 56kb (57344) bytes
> in size. Each of the 15 (maximum) overlays (OV1 thru OV15) may be
> up to 8kb (8192) bytes.
Firstly, thanks to Steven for a great email. Yes, add it to the docs NOW
before you forget! Secondly, most of what Steven said also applies to
2.9BSD, because it also uses overlays. However, v6 and v7 do not use
overlays, so you can't use these techniques with them.
Ciao,
Warren
>From "Steven M. Schultz" <sms(a)wlv.iipo.gtegsc.com> Sat Dec 2 16:03:57 1995
Received: from wlv.iipo.gtegsc.com by minnie.cs.adfa.oz.au (8.6.8/8.3) with ESMTP id RAA08737; Sat, 2 Dec 1995 17:04:04 +1100
Received: (from sms@localhost) by wlv.iipo.gtegsc.com (8.6.10/8.6.12) id WAA18663; Fri, 1 Dec 1995 22:03:57 -0800
Date: Fri, 1 Dec 1995 22:03:57 -0800
From: "Steven M. Schultz" <sms(a)wlv.iipo.gtegsc.com>
Message-Id: <199512020603.WAA18663(a)wlv.iipo.gtegsc.com>
To: oldunix(a)minnie.cs.adfa.oz.au, wkt(a)dolphin.cs.adfa.oz.au
Subject: Re: Compiling 2.11 - also 2.9BSD
Hello -
> From: wkt(a)dolphin.cs.adfa.oz.au (Warren Toomey)
>
> In article by Steven M. Schultz:
> > Kernels are a special case of overlaid program (user mode programs
> > may be overlaid too but have less restrictive size rules). The
> > BASE segment (non-overlaid portion) may be up to 56kb (57344) bytes
> > in size. Each of the 15 (maximum) overlays (OV1 thru OV15) may be
>
> Firstly, thanks to Steven for a great email. Yes, add it to the docs NOW
> before you forget! Secondly, most of what Steven said also applies to
> 2.9BSD, because it also uses overlays. However, v6 and v7 do not use
You're quite welcome.
I should have had another sentence in the paragraph above: the
kernel overlays must be between 48kb and 56kb. 56 is the max,
but the kernel also has a minimum BASE size of 48kb (but this is
all too easy to achieve ;-)).
Steven Schultz
sms(a)wlv.iipo.gtegsc.com
>From "Steven M. Schultz" <sms(a)wlv.iipo.gtegsc.com> Mon Dec 4 05:30:55 1995
Received: from wlv.iipo.gtegsc.com by minnie.cs.adfa.oz.au (8.6.8/8.3) with ESMTP id GAA11449; Mon, 4 Dec 1995 06:32:19 +1100
Received: (from sms@localhost) by wlv.iipo.gtegsc.com (8.6.10/8.6.12) id LAA07500; Sun, 3 Dec 1995 11:30:55 -0800
Date: Sun, 3 Dec 1995 11:30:55 -0800
From: "Steven M. Schultz" <sms(a)wlv.iipo.gtegsc.com>
Message-Id: <199512031930.LAA07500(a)wlv.iipo.gtegsc.com>
To: oldunix(a)minnie.cs.adfa.oz.au, robin(a)falstaf.demon.co.uk,
sms(a)wlv.iipo.gtegsc.com, sysyphus(a)crl.com
Subject: Re: Followup to compiling BSD2.11 w/Deqna
Hi Robin -
> From: Robin Birch <robin(a)falstaf.demon.co.uk>
>
> Hi Steve,
> The most recent version (Rev 280) will build GENERIC fine but previous ones
> didn't. The makefile required tweaking. Maybe all he needs is the last few
> patches.
That is most likely what happened - I'd made some changes to the
kernel just before creating the Rev 277 images (which is what was
entered into Warren's archive) and didn't double check that the
GENERIC kernel would build correctly.
I don't believe I've mentioned it on this mailing list yet but the
complete collection of 2.11BSD patches/updates are available via
anonymous FTP to the host FTP.IIPO.GTEGSC.COM in the directory
/pub/2.11BSD. There have been 4 updates released recently: 278 thru
281.
Cheers.
Steven
>From Robin Birch <robin(a)falstaf.demon.co.uk> Sun Dec 3 23:36:18 1995
Received: from relay-4.mail.demon.net by minnie.cs.adfa.oz.au (8.6.8/8.3) with SMTP id AAA11045; Mon, 4 Dec 1995 00:40:40 +1100
Received: from post.demon.co.uk by relay-4.mail.demon.net id msg.ad18368;
3 Dec 95 13:38 GMT
Received: from falstaf.demon.co.uk by relay-3.mail.demon.net id sg.aa13167;
3 Dec 95 13:37 GMT
Received: (from robin@localhost) by falstaf.demon.co.uk (8.6.9/8.6.9) id NAA00267; Sun, 3 Dec 1995 13:36:18 GMT
Date: Sun, 3 Dec 1995 13:36:18 GMT
From: Robin Birch <robin(a)falstaf.demon.co.uk>
Message-Id: <199512031336.NAA00267(a)falstaf.demon.co.uk>
To: oldunix(a)minnie.cs.adfa.oz.au, sms(a)wlv.iipo.gtegsc.com, sysyphus(a)crl.com
Subject: Re: Followup to compiling BSD2.11 w/Deqna
X-SMTP-Posting-Host: falstaf.demon.co.uk [Sun, 3 Dec 95 13:37:29 GMT]
X-SMTP-Posting-Host: post.demon.co.uk [Sun, 3 Dec 95 13:38:32 GMT]
Hi Steve,
The most recent version (Rev 280) will build the GENERIC fine but previous ones
didn't. The makefile required tweaking. Maybe all he needs is the last few
patches.
Cheers
Robin
>From Robin Birch <robin(a)falstaf.demon.co.uk> Sun Dec 3 23:34:28 1995
Received: from relay-4.mail.demon.net by minnie.cs.adfa.oz.au (8.6.8/8.3) with SMTP id AAA11043; Mon, 4 Dec 1995 00:38:03 +1100
Received: from post.demon.co.uk by relay-4.mail.demon.net id sg.an16194;
3 Dec 95 13:36 GMT
Received: from falstaf.demon.co.uk by relay-3.mail.demon.net id g.aa12803;
3 Dec 95 13:35 GMT
Received: (from robin@localhost) by falstaf.demon.co.uk (8.6.9/8.6.9) id NAA00261; Sun, 3 Dec 1995 13:34:28 GMT
Date: Sun, 3 Dec 1995 13:34:28 GMT
From: Robin Birch <robin(a)falstaf.demon.co.uk>
Message-Id: <199512031334.NAA00261(a)falstaf.demon.co.uk>
To: oldunix(a)minnie.cs.adfa.oz.au, sysyphus(a)crl.com
Subject: Re: Compiling BSD2.11 w/DEQNA support
X-SMTP-Posting-Host: falstaf.demon.co.uk [Sun, 3 Dec 95 13:35:31 GMT]
X-SMTP-Posting-Host: post.demon.co.uk [Sun, 3 Dec 95 13:36:25 GMT]
Hi,
Well I havn't tried your mix but a DEQNA fits ok. What you need to do is do
a size on the unix file that has been generated and workout which overlays
are blowing the loader. If you add the size of the base code and any overlay
together they can't be more than 64k. Then just move things between overlays
and base until they work. You don't have to delete the modules that you don't
want, they don't add anything.
Good luck, it can be tricky but it does work after you have pushed a few modules
around.
Robin
Having given up trying to work out why v6 runs on my /34a, and v5
doesn't, I've turned my mind to the problem of trying to get a second
DL11 up and running so I can use a terminal as well as my trusty
teletype.
I've set up a second DL11 on CSR address 176500, vector 300. This
device is set for 96008N1, for what it's worth, and works just fine
under RT11.
I rebuilt the v6 kernel to enable a second DL11 interface. I have no
guide to the source, so all this is based on my guesswork. Needless to
say, it doesn't work, and I'm now out of ideas:
Modified /usr/sys/dmr/kl.c, the KL/DL-11 driver source. I'm assured
that the KL11 is an ancient serial interface ...
Extract from said file ...
/* base address */
#define KLADDR 0177560 /* console */
#define KLBASE 0176500 /* kl and dl11-a */
#define DLBASE 0175610 /* dl-e */
#define NKL11 1
#define NDL11 0
#define DSRDY 02
#define RDRENB 01
I simply changed the number of KL11's from one to two:
#define NKL11 2
A further comment in the code says:
* set up minor 0 to address KLADDR
* set up minor 1 thru NKL11-1 to address from KLBASE
* set up minor NKL11 on to addresss from DLBASE
What this is saying is that minor 0 will be 0177560 (my console, which
works fine), minor 1 will be 0176500 (which should be my second
DL11). The code even does what the comment says ... ;)
So I rebuild the kernel, reboot.
Now, /etc/mknod /dev/tty1 c 0 1
makes the device, and
echo Hi >/dev/tty1
gives:
/dev/tty1: cannot create
What is up? Naturally if I set up a login for that terminal by editing
/etc/ttys, the process loops and causes a great deal of disk
thrashing. Something is clearly up with the configuration of the
device drivers here ...
Does anyone know how I'm supposed to do this properly? Advice and
guidance would be much appreciated ...
*********************************************************************
On a completely different note, would someone be so kind as to give me
the source for a very small Bourne shell and accompanying utilities
(/bin/test etc...) that I could port to v6 without too much difficulty?
*********************************************************************
Thanks,
Bob.
--
----------------------------------------------------------------------------
Robert Manners Osney Laboratory
rjm(a)swift.eng.ox.ac.uk Dept of Engineering Science
University of Oxford
01865 288762
Try: http://swift.eng.ox.ac.uk Linux - the only choice
"Wall Street or Crack Dealer Avenue,
the last routes left to the American Dream" - Jello Biafra
----------------------------------------------------------------------------
>From "Danny R. Brown" <sysyphus(a)crl.com> Sat Dec 2 00:03:50 1995
Received: from mail.crl.com by minnie.cs.adfa.oz.au (8.6.8/8.3) with SMTP id BAA07165; Sat, 2 Dec 1995 01:12:02 +1100
Received: from crl10.crl.com by mail.crl.com with SMTP id AA20411
(5.65c/IDA-1.5 for <oldunix(a)minnie.cs.adfa.oz.au>); Fri, 1 Dec 1995 06:10:08 -0800
Received: by crl10.crl.com id AA04477
(5.65c/IDA-1.5 for oldunix(a)minnie.cs.adfa.oz.au) Fri, 1 Dec 1995 06:03:51 -0800
Date: Fri, 1 Dec 1995 06:03:50 -0800 (PST)
From: "Danny R. Brown" <sysyphus(a)crl.com>
To: oldunix(a)minnie.cs.adfa.oz.au
Subject: Followup to compiling BSD2.11 w/Deqna
Message-Id: <Pine.SUN.3.91.951201055825.4424A-100000(a)crl10.crl.com>
Mime-Version: 1.0
Content-Type: TEXT/PLAIN; charset=US-ASCII
Uh, sorry... I rebuilt the unmodified GENERIC kernal. It also terminates
abnormally, same point, same message. I'm going to sleep for a while
and then go out and buy another Unix book.
*************************************************************************
* A Personal Message from * BASILISK *
* Danny R. Brown * "Try our other fine flavors!" *
* ( sysyphus(a)crl.com ) * (404) 392-1691 *
* Pager:(404)397-0516 * LYNC host mode *
*************************************************************************
>From "Steven M. Schultz" <sms(a)wlv.iipo.gtegsc.com> Sat Dec 2 14:05:36 1995
Received: from wlv.iipo.gtegsc.com by minnie.cs.adfa.oz.au (8.6.8/8.3) with ESMTP id PAA08538; Sat, 2 Dec 1995 15:13:32 +1100
Received: (from sms@localhost) by wlv.iipo.gtegsc.com (8.6.10/8.6.12) id UAA17751; Fri, 1 Dec 1995 20:05:36 -0800
Date: Fri, 1 Dec 1995 20:05:36 -0800
From: "Steven M. Schultz" <sms(a)wlv.iipo.gtegsc.com>
Message-Id: <199512020405.UAA17751(a)wlv.iipo.gtegsc.com>
To: oldunix(a)minnie.cs.adfa.oz.au, sysyphus(a)crl.com
Subject: Re: Followup to compiling BSD2.11 w/Deqna
Hello -
> From: "Danny R. Brown" <sysyphus(a)crl.com>
> Subject: Followup to compiling BSD2.11 w/Deqna
>
>
> Uh, sorry... I rebuilt the unmodified GENERIC kernal. It also terminates
> abnormally, same point, same message. I'm going to sleep for a while
> and then go out and buy another Unix book.
That is strange. The GENERIC kernel should build with no problems -
efforts were made to keep the Make.* files in /sys/conf in sync with
the GENERIC system.
Alas, it sounds like I didn't keep the template Makefiles current
enough ;-(
I doubt there are any books out there that know anything about
overlays - it's a a lost art from what I've seen.
I'll follow up with a mini tutorial on how to build a kernel. One
note for now: it is 99.999% certain that after configuring a
non-GENERIC kernel you will get a size error from the linker and you
will have to adjust the overlay layout in your kernel build directory.
Steven Schultz
sms(a)wlv.iipo.gtegsc.com
Greetings:
All I did was add 1 DEQNA, 3 DLV's (total 4), 1 DLV. Has anyone tried
this? The Makefile proceeds without errors until the final (massive)
link run. Then it says
too big for type 431
and exits code 2.
I tried playing with Makefile, deleted some modules, like the rk, which
I do not have, and moved a couple around. Same result.
Obviously I'm new at this. Any assistance appreciated.
*************************************************************************
* A Personal Message from * BASILISK *
* Danny R. Brown * "Try our other fine flavors!" *
* ( sysyphus(a)crl.com ) * (404) 392-1691 *
* Pager:(404)397-0516 * LYNC host mode *
*************************************************************************
Having got past the emulator stage now (and having had my RK05 fitted
with new heads after a _spectacular_ crash), I've been setting to the
task of resurecting UNIX on the system.
Thanks to John Wilson's excellent KSERVE Kermit server for RT11 I've
been able to transfer v5 and v6 disk images to RK05.
v6 boots just fine, and runs without any real drama. v5, much to my
suprise, does not ...
First off, my hardware is:
11/34a (no fpp, no cache)
124K word (248Kb) MOS
2 x DL11-W
RX11
RK11D
1 x RK05
1 x RX01
v5 boots to the '@' prompt. Entering the kernel name at this prompt
(this is the kernel for the RK05, obviously), causes a great deal of
disk activity - far more than for v6, in fact. The disk activity
stops, but no login prompt is presented. The processor is not halted,
but is executing a relatively tight loop.
Under emulation (using Bob Supnic's pdp11 emulator), v6 ran fine, but
v5 caused TRAPS every so often. It occurs to me that the behaviour
I've seen on the real 11/34 corresponds to a trap observed using the
emulator. The emulator can be 'continued' after a trap and all is
well. Since the 11/34 doesn't actually halt, but merely sits in a
tight loop, I can't see how to proceed.
Question is, is what I'm seeing a kernel panic? Since nothing is
output to the tty, after the '@' prompt, it may be that the kernel
doesn't like the look of my DL11 configuration? Alternatively,
everything may be AOK, and running, except that no login prompt is
produced on the tty.
Interestingly UNIX causes a UNIBUS reset as it finishes booting. This
is evidenced by the clattering of the RX01.
Naturally it's not necessary for me to get v5 going, since v6 is fine,
but it would be extremely interesting to find out what is going on. v7
seems to give a great deal of TRAPs on the emualtor, so maybe that
would not like the real hardware either judging from current
observations.
What do people think about this?
Cheers,
Bob.
--
----------------------------------------------------------------------------
Robert Manners Osney Laboratory
rjm(a)swift.eng.ox.ac.uk Dept of Engineering Science
University of Oxford
01865 288762
Try: http://swift.eng.ox.ac.uk Linux - the only choice
This message brought to you from an entirely Microsoft free system.
----------------------------------------------------------------------------
First off, thanks to all the people who gave me info for the rk? and
rrk? devices. That now works. I now come to the question of tty
devices.
On v5 and v6, the single terminal device which is set up is /dev/tty8
(c 0 0). This suggests to me that the system is build with a DZ11 (or
similar) as tty0 to tty7. Am I correct in this assumption?
My system has a pair of DL11s, and one of them works happily as
tty8. I'd like to get the second interface up and running. I also have
a DZ11, if that is any help. (The second DL11 is set up at present and
works with RT11 using the CONSOL.MAC mechanism to switch ttys. I can't
remember the CSR/VEC, but it is the RT11 default for a second DL11).
Question is:
------------
o What is the device numbering (major/minor) for a second DL11? (and
what CSR/VEC should it have?)? Or need I rebuild the system for
support of a second DL11?
o Second, is the DZ11 supported by default, and, if so, what CSR/VEC
should I set, and what are the device major and minor numbers?
Cheers once again,
Bob.
--
----------------------------------------------------------------------------
Robert Manners Osney Laboratory
rjm(a)swift.eng.ox.ac.uk Dept of Engineering Science
University of Oxford
01865 288762
Try: http://swift.eng.ox.ac.uk Linux - the only choice
This message brought to you from an entirely Microsoft free system.
----------------------------------------------------------------------------
While I was hacking away at a tcsh-like shell for Minix (a 7th Edition clone
for IBM ATs), I came up with this truly bizarre method of job control. It
even works!
Warren
Seventh Edition Job Control
Job control can be achieved under early versions of Unix, such as
Seventh Edition, by using the ptrace(2) system call in a manner not
intended by its designers.
Ptrace() was designed to allow a parent process to trace the excution
of a child process, stopping the child under certain conditions,
examining or modifying the contents of the child's memory, and
restarting the child. The stopping/restarting abilities of ptrace()
can be used to provide job control.
To permit a child process to be stopped, it must inform the parent
that it wants its execution to be traced, which it does by
ptrace(0,0,0,0). Fortunately, this can be done after the fork()
and before the exec() in the shell.
When a traced process is executing, it is stopped under the following
conditions:
+ the process receives a signal, or
+ the process exec()s
If the shell is wait()ing on the child, it will be informed that
the child has stopped, and can determine the signal that caused
the process to stop (SIGTRAP in the case that the process exec()d).
It is then able, using ptrace() with various arguments, to terminate
or restart the process. At the same time, the shell can also deliver
the signal to the restarted process, or not deliver the signal (see
the manual for ptrace(2)).
Seventh Edition job control, thus, is not so much a matter of stopping
a process when requested to by the user, as ensuring that the
process is always restarted, except when the user wants it to stop.
Restarting stopped processes is straightforward. Stopping a running
foreground process, however, is difficult, as there is no terminal
key that, when pressed, will inform the shell to stop the process;
indeed, the shell is most likely blocked wait()ing for the process
to terminate.
Two keys that do affect the execution of a foreground process are
`int' (usually ^C or DEL), which sends a SIGINT to the process,
and `quit' (usually ^\), which sends a SIGQUIT to the process. The
latter cannot be caught or ignored by the process, and the delivery
of SIGQUIT causes the process to terminate, usually with a core
dump. However, when a process is being traced, pending signals are
not delivered; instead, the process is stopped, and the parent
informed about the pending signal. The parent can choose to terminate
or restart the process, delivering or ignoring the signal as
described above.
Therefore, with ^C being frequently used, and ^\ rarely used, it
is possible to reinterpret the meaning of ^\ and SIGQUIT to mean
``stop the process''. The SIGQUIT from ^\ is never delivered by
the shell, but all other signals (including the SIGINT from ^C)
are delivered. Users can then re-bind the `quit' key with stty(1)
to be the more traditional `stop' key, ^Z.
All,
It looks like this old PDP unix mailing list is going well, from all
the questions & answers going past. Does anybody know of software to archive,
catalogue, search and retrieve mail archives via the Web?
My v7 a.out simulator is now working pretty well. I still can't run
/usr/games/chess, but I can compile a kernel from scratch using v7 cc,
and I can also compile the /usr/bin programs using v7 cc. The latest version
is available at ftp://minnie.cs.adfa.oz.au/apout2.1beta.tar.gz
P.S If you know of anybody else who would like to join the mailing list,
please let them know about it. The more people we have helping each other
out, the better.
Cheers,
Warren