From wkt at csadfa.cs.adfa.oz.au  Fri Dec  1 08:54:53 1995
From: wkt at csadfa.cs.adfa.oz.au (Warren Toomey)
Date: Fri, 1 Dec 1995 09:54:53 +1100 (EST)
Subject: v5, v6 on /34
In-Reply-To: <m0tKkBC-00000DC@swift.eng.ox.ac.uk> from "Bob Manners" at Nov 29, 95 10:55:58 am
Message-ID: <9511302254.AA08974@dolphin>

In atricle by Bob Manners:
> 
> 
> 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 ...

Bob, I got the v5 image from the PUPS archive to run under Bob Supnik's
emulator by using the bootblock from the v6 image:

/usr/local/src/Megan: ./pdp11 

PDP-11 simulator V1.0
Unknown command
Unknown command
Unknown command
Unknown command
@unix

login: root
# ls -l
total 60
drwxr-xr-x  2 bin       944 Nov 26 18:13 bin
drwxr-xr-x  2 bin        96 Mar 21 12:07 dev
drwxr-xr-x  2 bin       240 Mar 21 12:07 etc
drwxr-xr-x  2 bin       224 Nov 26 18:13 lib
drwxr-xr-x  2 bin        32 Nov 26 18:13 mnt
drwxrwxrwx  2 bin       144 Mar 21 12:08 tmp
-rwxrwxrwx  1 bin     25802 Mar 21 12:07 unix	Amazing size, huh?!
drwxr-xr-x 14 bin       224 Nov 26 18:13 usr
# 

The bootblock is uuencoded below. I've modified the simulator to have
a .pdp11rc so I don't have to type in the boot commands. I should
put the diffs somewhere.

	Warren

begin 600 bootblk
M!P&^`0`````````````!`,85`+Z!$0`*P2$*AA<B!P$"`L`5$``1%%<@`,#\
MATX`$`H&(/V'Q160O\`50`#-"<(5)KR!$/<)Y@`7(`H`"@,7("\``@,1D/8!
M at 2#T`\)E#@#P`<(5)KS`%0$`-PK"_?<)2@#*"Q@#]PEJ`,D!P14 at NH,01!#!
M91``U`L)`]2D!P(!(?R'0!SP_\)E#@#F`5<@(+SNA^@!`@KW"3@`;0'!%2"Z
M4A17(""\_(?V`<!E'P`%$!=T_/_W"5H`Q47P_U=U!0#%92"ZQ!4`NE05%R$8
MNOR'AP#.90(`P!U$_;<*0/WW-0`0&/L'`L`,`!P(NA("SN4"`(<`)@H.D`"*
MP`#`#``<"+KU`_<)"@"`%<`,`!P at NNX#-Q`*_3T!(+H`_]^+</_]!,`=2$#`
M18#_%R!!``6'%R!:``*"P&4@`!<@#0`"`L`5"@`7(`H`!0+`%0T`S0G`%0H`
M]XL80/V`-Q`40(<`@)\```,#S0F."OH!SF4"`,Y%`0"'```*%R('`00"$!P0
M``8 at _(?F%0"^!PK;`<8!YP'!'8K\``H7<@P`%W0$`$!0P14*_PD0X1UL_^$=
M:O_A%04`R8O^@(<`````````````````````````````````````````````
1````````````````````````
`
end


From sysyphus at crl.com  Fri Dec  1 15:37:28 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Thu, 30 Nov 1995 21:37:28 -0800 (PST)
Subject: Compiling BSD2.11 w/DEQNA support
Message-ID: <Pine.SUN.3.91.951130212910.360B-100000@crl10.crl.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 at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************


From rjm at swift.eng.ox.ac.uk  Sat Dec  2 04:39:49 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Fri, 1 Dec 1995 18:39:49 +0000 (GMT)
Subject: Serial lines and v6 ...
Message-ID: <m0tLaNC-00000DC@swift.eng.ox.ac.uk>


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 at 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 sysyphus at crl.com  Sat Dec  2 00:03:50 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Fri, 1 Dec 1995 06:03:50 -0800 (PST)
Subject: Followup to compiling BSD2.11 w/Deqna
Message-ID: <Pine.SUN.3.91.951201055825.4424A-100000@crl10.crl.com>


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 at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************



From sms at wlv.iipo.gtegsc.com  Sat Dec  2 14:05:36 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Fri, 1 Dec 1995 20:05:36 -0800
Subject: Followup to compiling BSD2.11 w/Deqna
Message-ID: <199512020405.UAA17751@wlv.iipo.gtegsc.com>

Hello -

> From: "Danny R. Brown" <sysyphus at 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 at wlv.iipo.gtegsc.com


From wkt at csadfa.cs.adfa.oz.au  Sat Dec  2 15:15:38 1995
From: wkt at csadfa.cs.adfa.oz.au (Warren Toomey)
Date: Sat, 2 Dec 1995 16:15:38 +1100 (EST)
Subject: Serial lines and v6 ...
In-Reply-To: <m0tLaNC-00000DC@swift.eng.ox.ac.uk> from "Bob Manners" at Dec 1, 95 06:39:49 pm
Message-ID: <9512020515.AA14858@dolphin>

In atricle by Bob Manners:
> 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:

Bob, check out the manual for mkconf(1), and also the documentation
about rebuilding the Unix kernel in /usr/doc/setup??. I'm sure it
mentions the DL code, so that might get you going. I'm at home & don't
have my paper copies at hand. But looking at the v7 docs, maybe you
need to put a line like

1 kl

in your config file. Don't put 2 kl, the software automatically counts
the console.

> 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?

Yeah, v6 comes with all of these in /usr/src/cmd :-) Maybe you meant
something else?

	Warren


From sms at wlv.iipo.gtegsc.com  Sat Dec  2 15:01:42 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Fri, 1 Dec 1995 21:01:42 -0800
Subject: Compiling BSD2.11 w/DEQNA support
Message-ID: <199512020501.VAA18261@wlv.iipo.gtegsc.com>

Greetings -

> From: "Danny R. Brown" <sysyphus at crl.com>
>   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.

	This is not unexpected.  In fact I was placing bets with myself
	as to when the first person would encounter the 'too big' message ;-)

	As distributed only the GENERIC kernel will (or should - apparently
	I screwed up) configure and build without errors.

	What to do when the linker complains about the size of a kernel
	is not covered in the documentation - sorry 'bout that, perhaps I'll
	take the mini-tutorial below and add it to the setup documentation
	some day.

	As a bit of background here is what goes on when a kernel is
	configured:

		cd /sys/conf
		cp GENERIC PICKLE
		vi PICKLE
		  ... turn on/off desired featuers,drivers,etc ...
		./config PICKLE

		At this point the 'config' script creates the directory
		/sys/PICKLE and populates it with various .h files describing
		what devices are present and so on.  Also copied into
		/sys/PICKLE are the various _prototype_ Makefiles: Makefile,
		Make.pdp, Make.pdpuba, etc.  Of these makefiles you are 
		only concerned with "Makefile" - the others should almost
		_never_ be edited.

		cd ../PICKLE
		make

		ld: too big for type 431

	First - what does that message mean?  '431' is the magic number for
	a split I/D overlaid executable.  Kernels are *always* split I/D
	and overlaid.

	The 'too big' part of the message means that the base segment and/or
	one of the overlays is larger than allowed.  What are the limits
	on the sizes (I hear you ask)?

	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.

	When 'ld' gives you a "too big" message the first thing you should
	do is:

		size unix.o

	That will produce something similar to:

text    data    bss     dec     hex
58304   7778    41206   107288  1a318   total text: 119360
        overlays: 8192,6976,7680,7616,8000,7872,7680,7040

	As we see the base segment is over 57344.  To reduce the base we
	must move one of the files from the BASE group to one of the OV groups.
	Which one?  It is not critical but a the general rule is:

		The smallest one which will solve the problem.

	It is perfectly ok to put device drivers in overlays - especially
	disk drivers which tend to move large chunks of data per interrupt
	or call.  It is desireable to keep terminal drivers in the base but
	nothing bad will happen if you need to put one (such as dh.o) into
	an overlay.

	Next, look in the Makefile at the line starting with "BASE=" and do:
	a "size " command on all the files listed in the BASE section.

	How much do we need to reduce the base?  58304 - 57344 = 960.  So, 
	we need to find a .o (or more than one - it's the total of sizes
	that counts) in the BASE that is >= 960 bytes of text.

	In my kernel the overlay description looks like this:

BASE=   br.o cons.o dh.o dhu.o dhv.o dr.o dz.o hk.o ht.o init_sysent.o \
        kern_clock.o kern_descrip.o kern_mman.o kern_proc.o kern_prot.o \
	kern_subr.o kern_synch.o machdep.o ram.o kern_fork.o \
	rk.o ra.o rx.o si.o subr_rmap.o sys_inode.o sys_kern.o \
	tm.o tty.o tty_conf.o tty_subr.o tty_tb.o ufs_alloc.o \
	ufs_bio.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_namei.o \
	vm_sched.o vm_text.o xp.o quota_subr.o
OV1=    sys_generic.o ufs_syscalls.o
OV2=    kern_acct.o kern_exec.o kern_exit.o kern_resource.o
OV3=    kern_time.o sys_process.o ufs_mount.o ufs_subr.o \
	uipc_syscalls.o
OV4=    dkbad.o kern_sig.o mem.o subr_xxx.o trap.o tty_pty.o tty_tty.o
OV5=    quota_kern.o quota_ufs.o quota_sys.o ufs_bmap.o \
	sys_pipe.o
# OV6 gets the (hopefully) never used routines
OV6=    clock.o dn.o init_main.o kern_pdp.o machdep2.o subr_prf.o syscalls.o \
	subr_log.o toy.o vm_swap.o
OV7=    tmscp.o lp.o vm_swp.o rl.o mch_fpsim.o ts.o
OV8=    kern_sysctl.o ingreslock.o ufs_disksubr.o kern_xxx.o vm_proc.o

	We see that

		size kern_subr.o ufs_dsort.o

	gives

		text	data	bss
		820	34	0
		272	0	0

	820 + 272 = 1092

	58304 - 1092 = 57212

	which is great!  It's below 57344.  So, we've found the .o files which
	when moved to an overlay will generate a valid kernel.  Where should
	we put it?

	Well - OV2 looks a little small, is there room there?  8192-6976=1216.
	Yes, there is room.

	So, the kern_subr.o and ufs_dsort.o files are removed from the BASE
	section and added to OV2:

BASE=   br.o cons.o dh.o dhu.o dhv.o dr.o dz.o hk.o ht.o init_sysent.o \
        kern_clock.o kern_descrip.o kern_mman.o kern_proc.o kern_prot.o \
	kern_synch.o machdep.o ram.o kern_fork.o \
	rk.o ra.o rx.o si.o subr_rmap.o sys_inode.o sys_kern.o \
	tm.o tty.o tty_conf.o tty_subr.o tty_tb.o ufs_alloc.o \
	ufs_bio.o ufs_fio.o ufs_inode.o ufs_namei.o \
	vm_sched.o vm_text.o xp.o quota_subr.o
OV2=    kern_acct.o kern_exec.o kern_exit.o kern_resource.o kern_subr.o \
	ufs_dsort.o

	Then exit the editor and type "make".  And voila - no error and
	doing "size unix" yields:

text    data    bss     dec     hex
57280   7778    41206   106264  19f18   total text: 119424
        overlays: 8192,8064,7680,7616,8000,7872,7680,7040

	Perfect!

	*NEVER* simply delete files from the Makefile!  If you did not select
	a device in the config file - the .o is 0 bytes in size.  If for
	example you do not have an RK05 configured do a "size rk.o" and
	you will see that it is "0 0 0".  The .o is only 16 bytes long.

	That is why you didn't notice any difference when moving/deleting
	files - they didn't have anything in them.  "size" is your friend
	when adjusting overlays - trust him.

	NOTE: There are some .o files which *must not* be moved out of the
	base segment.  These are identified as such in the Makefile.

	NOTE: You can not have any gaps in the overlays.  This means that
	there can not be a 0 length (empty) overlay between two populated
	overlays.  The last overlay used may be empty.

	IF all the overlays are full - then add OV7, OV8, OV9, etc lines
	(up to OV15) as needed and put .o files in them.  The Makefile will
	use the new OV lines automatically.

	I hope this makes things a little bit clearer for anyone building
	a 2.11BSD kernel.

	Good Luck!

	Steven Schultz
	sms at wlv.iipo.gtegsc.com


From wkt at dolphin.cs.adfa.oz.au  Sat Dec  2 15:41:04 1995
From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey)
Date: Sat, 2 Dec 1995 16:41:04 +1100 (EST)
Subject: Compiling 2.11 - also 2.9BSD
Message-ID: <9512020541.AA15007@dolphin>

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 sms at wlv.iipo.gtegsc.com  Sat Dec  2 16:03:57 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Fri, 1 Dec 1995 22:03:57 -0800
Subject: Compiling 2.11 - also 2.9BSD
Message-ID: <199512020603.WAA18663@wlv.iipo.gtegsc.com>

Hello -

> From: wkt at 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 at wlv.iipo.gtegsc.com


From sms at wlv.iipo.gtegsc.com  Mon Dec  4 05:30:55 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Sun, 3 Dec 1995 11:30:55 -0800
Subject: Followup to compiling BSD2.11 w/Deqna
Message-ID: <199512031930.LAA07500@wlv.iipo.gtegsc.com>

Hi Robin -

> From: Robin Birch <robin at 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 at falstaf.demon.co.uk  Sun Dec  3 23:36:18 1995
From: robin at falstaf.demon.co.uk (Robin Birch)
Date: Sun, 3 Dec 1995 13:36:18 GMT
Subject: Followup to compiling BSD2.11 w/Deqna
Message-ID: <199512031336.NAA00267@falstaf.demon.co.uk>

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 at falstaf.demon.co.uk  Sun Dec  3 23:34:28 1995
From: robin at falstaf.demon.co.uk (Robin Birch)
Date: Sun, 3 Dec 1995 13:34:28 GMT
Subject: Compiling BSD2.11 w/DEQNA support
Message-ID: <199512031334.NAA00261@falstaf.demon.co.uk>

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


From sysyphus at crl.com  Mon Dec  4 10:28:57 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Sun, 3 Dec 1995 16:28:57 -0800 (PST)
Subject: Building 2.11BSD...Huzzah!
Message-ID: <Pine.SUN.3.91.951203160902.3194A-100000@crl9.crl.com>

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 at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************


From sysyphus at crl.com  Mon Dec  4 12:04:49 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Sun, 3 Dec 1995 18:04:49 -0800 (PST)
Subject: Building BSD2.11 Huzzah! #2
Message-ID: <Pine.SUN.3.91.951203180007.21469A@crl12.crl.com>

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 at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************


From sms at wlv.iipo.gtegsc.com  Mon Dec  4 16:06:03 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Sun, 3 Dec 1995 22:06:03 -0800
Subject: Building BSD2.11 Huzzah! #2
Message-ID: <199512040606.WAA10558@wlv.iipo.gtegsc.com>

Greetings -

> From: "Danny R. Brown" <sysyphus at 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 sms at wlv.iipo.gtegsc.com  Mon Dec  4 16:01:18 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Sun, 3 Dec 1995 22:01:18 -0800
Subject: Building 2.11BSD...Huzzah!
Message-ID: <199512040601.WAA10542@wlv.iipo.gtegsc.com>

Hi -

> From: "Danny R. Brown" <sysyphus at 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


From rjm at swift.eng.ox.ac.uk  Tue Dec  5 20:12:17 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Tue, 5 Dec 1995 10:12:17 +0000 (GMT)
Subject: Still trying v6 build for multiple DL11s ...
Message-ID: <m0tMuMD-00000DC@swift.eng.ox.ac.uk>


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 at 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"
----------------------------------------------------------------------------




From rjm at swift.eng.ox.ac.uk  Tue Dec  5 20:56:06 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Tue, 5 Dec 1995 10:56:06 +0000 (GMT)
Subject: v6 kernel stuff again ...
Message-ID: <m0tMv2c-00000DC@swift.eng.ox.ac.uk>


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 at 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"
----------------------------------------------------------------------------




From rjm at swift.eng.ox.ac.uk  Wed Dec  6 22:01:19 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Wed, 6 Dec 1995 12:01:19 +0000 (GMT)
Subject: v6 with two DL11s now works ... silly me!
Message-ID: <m0tNIXH-00000DC@swift.eng.ox.ac.uk>


I've recently been deluging the list with problems and obseervations
concerning the v6 kernel. Most recently, I discussed the putchar()
routine in /usr/sys/ken/prf.c, which prints messages only if the front
panel switches are set appropriately. I modified that routine by
commenting out an if, so the messages would always be sent to the
console regardless.

Having edited prf.c and rebuilt the kernel, I was suprised to find no
change in the behavior on bootup. Comparing the 'new' and 'old'
kernels (with cmp) showed them to be the same. The problem then is
that the kernel was not being rebuilt correctly.

Accordingly I removed all .o files, and the files /usr/sys/lib1 and
/usr/sys/lib2. I rebuilt again. The lib1 and lib2 files do not build
directly from the /usr/sys/run script, but rather use "ar r" to
replace the files in the libraries with the newly-built object
files. Thus I had to manually build the libraries. NOTE: it is
important to get the object files into the library in the correct
order -- I simply copied the order as for the distributed files... 

I remember using tsort and lorder for Minix to determine library
component ordering, but I forget how that works ;)

Having rebuilt everything, not only did the messages print, but also
the second KL11 magically worked. Thus what I had been doing all along
was OK, but the kernel was not being properly built using all the new
object files.

Summary - to set up a second DL11 (configured as the first "local"
interface):

	1) ed /usr/sys/dmr/kl.c 

			changing NKL11 to 2 

	2) modify /usr/sys/run to call mkconf with the additional 
	   parameter:

			1kl

	3) Bob, so to speak, is your uncle.

Be sure everyhing is rebuilt. 

I wonder if there is a bug in "ar r", whereby certain files fail to be
inserted into the library, so that old versions persist. Using the "ar
rv" verbose option may be wise ...

Hope this info is useful to those mad enough to want to use v6 ;)
Thanks for all your help. 

Next project --- port the v7 shell to v6. Hmmmmmmmmm.


Bob

-- 

----------------------------------------------------------------------------
Robert Manners                                  Osney Laboratory
rjm at 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

       "I'd rather stay a child
        and keep my self respect,
        if being an adult
        means being like you"   Jello Biafra
----------------------------------------------------------------------------




From sysyphus at crl.com  Thu Dec  7 11:31:36 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Wed, 6 Dec 1995 17:31:36 -0800 (PST)
Subject: Undefined Inconsistency
Message-ID: <Pine.SUN.3.91.951206171925.116A-100000@crl14.crl.com>

Greetings:
  When I do a "reboot" the system declares that /dev/ra0f has an
undefined inconsistency (during fsck). It tells me to run fsck
manually, then aborts before starting the daemons.
I have dchecked, ichecked and fscked /dev/ra0f, and it seems to
be a happy partition.
ra0f starts on an even cylinder boundary. It has one file which
occupies some 54% of the space on it.
reboot -f brings everything up normally.

reboot worked at least twice without finding any faults prior to
this boo-boo. Looking through the man pages did not point me in
any yet untried direction. I did encounter a 'bad block' on /dev/ra0d,
the /usr partition, while doing a make clean in usr/src/sys, but this
turned out to be bogus, and did not involve ra0f. Coincidence or ?

All hints appreciated...



*************************************************************************
*      A Personal Message from   *                BASILISK              *
*          Danny R. Brown        *     "Try our other fine flavors!"    *
*       ( sysyphus at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************


From sms at wlv.iipo.gtegsc.com  Thu Dec  7 13:47:48 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Wed, 6 Dec 1995 19:47:48 -0800
Subject: Undefined Inconsistency
Message-ID: <199512070347.TAA02505@wlv.iipo.gtegsc.com>

Howdy -

> From: "Danny R. Brown" <sysyphus at crl.com>
> 
>   When I do a "reboot" the system declares that /dev/ra0f has an
> undefined inconsistency (during fsck). It tells me to run fsck
> manually, then aborts before starting the daemons.

	What aborts?  If by 'abort' you mean that the process of the system
	coming up ceases and you get dropped into a single user shell then
	that's exactly what should happen.

> I have dchecked, ichecked and fscked /dev/ra0f, and it seems to
> be a happy partition.

	Ok - at that point if a manual "fsck /dev/rra0f" (and you should be
	using the raw (rra) form of the device) works, then all you need to
	do is hit a ^D and the system will finish coming up to a multi user
	state.

	Hmmm - I think we'll need some more information before hazarding a
	guess as to what's not working right.  The contents of /etc/fstab
	and the current disklabel would be good starting points.

> ra0f starts on an even cylinder boundary. It has one file which
> occupies some 54% of the space on it.
> reboot -f brings everything up normally.

	Well, yes, it will - by bypassing all filesystem checks.  Usually
	that'll work ok - but it's not something to do after a crash or
	a power failure.

> this boo-boo. Looking through the man pages did not point me in
> any yet untried direction. I did encounter a 'bad block' on /dev/ra0d,

	Hmmm - a bad block?  Shouldn't be related to anything in ra0f unless
	you've accidentally created overlapping partitions.  If that were
	the case though I'd expect massive and widespread corruption.

	What was the error when the bad block was encountered?  If this is
	an MSCP disk you'll need to find the MicroPDP-11 Formatter and
	see if it will revector the bad sector for you (BSD MSCP drivers
	can not do this - probably just as well because I've heard it's
	fiendishly difficult and if you get it wrong you've hosed your
	drive).

	Steven Schultz
	sms at wlv.iipo.gtegsc.com


From wkt at dolphin.cs.adfa.oz.au  Thu Dec  7 14:07:59 1995
From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey)
Date: Thu, 7 Dec 1995 15:07:59 +1100 (EST)
Subject: Fsck tips
In-Reply-To: <199512070347.TAA02505@wlv.iipo.gtegsc.com> from "Steven M. Schultz" at Dec 6, 95 07:47:48 pm
Message-ID: <9512070407.AA12021@dolphin>

In atricle by Steven M. Schultz:
> > I have dchecked, ichecked and fscked /dev/ra0f, and it seems to
> > be a happy partition.
> 
> 	Ok - at that point if a manual "fsck /dev/rra0f" (and you should be
> 	using the raw (rra) form of the device) works, then all you need to
> 	do is hit a ^D and the system will finish coming up to a multi user
> 	state.

Apropos fsck'ing, always work on a raw device. Only fsck on an unmounted
partition, or a quiescent one (no disk activity, this means single-user mode
and sync BEFORE doing the fsck). If fsck finds an error, DONT sync the system
before shutting down; sync will flush out anything still in the cache, possibly
overwriting the changes fsck made to the disk.

Someone had to point this out to me a few years ago, I kept doing
sync sync sync reboot after fsck reported errors. Deary me!

Cheers all,
	Warren


From wkt at dolphin.cs.adfa.oz.au  Thu Dec  7 15:00:43 1995
From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey)
Date: Thu, 7 Dec 1995 16:00:43 +1100 (EST)
Subject: Fsck for v7
Message-ID: <9512070500.AA12847@dolphin>

Hmm, while we're on the topic of fsck, the RL02 image of 7th Edition that was
given to me by Torsten Hippe had an fsck for v7 filesystems, but no source code.
Torsten did say that Johnny Billquist had the original tape, but Johnny says
he's not in a position to read the tape.

Anyway, does anybody have the source code to this or another v7 fsck? Any clues
as to who wrote it etc.?

Thanks,
	Warren


From rjm at swift.eng.ox.ac.uk  Thu Dec  7 20:40:17 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Thu, 7 Dec 1995 10:40:17 +0000 (GMT)
Subject: fsck tips
Message-ID: <m0tNdkP-00000DC@swift.eng.ox.ac.uk>


As Warren says, you don't want to sync after an fsck run has made
changes to the disk. Simply turn off and reboot. One gotcha Warren
omitted was the process /etc/update, which is usually started at
boot-time from /etc/rc. This process does a sync every 30 secs
automatically.  Before fscking a live filesystem, kill update first!
If fsck finds anything wrong, shutdown immediately without a sync.

Of course, fscking unmounted filesystems is far safer, but not always
possible for the root partition ...

Cheers,

Bob.

--

----------------------------------------------------------------------------
Robert Manners                                  Osney Laboratory
rjm at 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. 
----------------------------------------------------------------------------




From rjm at swift.eng.ox.ac.uk  Tue Dec 12 21:26:10 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Tue, 12 Dec 1995 11:26:10 +0000 (GMT)
Subject: version 7
Message-ID: <m0tPSqY-00000DC@swift.eng.ox.ac.uk>


I just thought I'd share a few more of my experiences with you in the
hope that they may help someone out....

Over the weekend, I finally succeeded in ftping Tapes/Torsten/v7.gz -
version 7 as an RL02 image. (International ftp to the UK is terrible
at present!).

I have no RL02, so I booted the image on Bob Supnic's pdp11 emulator,
built a kernel to support both RL and RK05 drives and set about
transferring the vital parts of the system to an RK05 image, with the
kernel source, games and other non-essentials going to a second
image. The two RK05 images are pretty full! 

I built kernels for the 11/40 (m40.o) and 11/34 (smch.o), to support
just the RK05, and added a second DL-11 as previously discussed on
this list. 

Kermiting the root image to an RK05 on my 11/34 was no trouble. My
11/34 will booth the m40.o image just fine, but the smch.o image
caused much disk activity, but no console output. Version 7 thus can
be persuaded to work on an 11/34a, with a single RK05. The second DL11
is recognised and works as expected. Version 7 seems significantly
slower than version 6, when multi-user mode is entered. 

Thus, I think I'd recommend version 6 for a small system ...

Cheers,

Bob.


-- 

----------------------------------------------------------------------------
Robert Manners                                  Osney Laboratory
rjm at 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. 
----------------------------------------------------------------------------




From sysyphus at crl.com  Tue Dec 19 11:24:12 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Mon, 18 Dec 1995 17:24:12 -0800 (PST)
Subject: What is lonex?
Message-ID: <Pine.SUN.3.91.951218171736.5935B-100000@crl12.crl.com>

Greetings:
  I've been playing with the mail system. Mailing to root brings up
                 can't find usr/lonex/xmail
This in itself is not a problem, as I only tried this to see what would
happen. However, I am curious as to what the lonex directory is (was).
It does not appear in my listing of the contents of tape 2.
Cheers!
*************************************************************************
*      A Personal Message from   *                BASILISK              *
*          Danny R. Brown        *     "Try our other fine flavors!"    *
*       ( sysyphus at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************


From sms at wlv.iipo.gtegsc.com  Tue Dec 19 13:59:39 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Mon, 18 Dec 1995 19:59:39 -0800
Subject: What is lonex?
Message-ID: <199512190359.TAA04159@wlv.iipo.gtegsc.com>

Hi -

> From: "Danny R. Brown" <sysyphus at crl.com>
> Subject: What is lonex?

	LONEX _was_ "Laboratory Office Network EXperiment" - a project
	I worked on for many years (we started with V7) and which just ended 
	a couple or three years ago.  We used 11/44s and 70s right up till 
	the end - by which point they were all running 2.11BSD.  It was a 
	really neat system - had a common user namespace (YP before there was 
	YP;-)) amoungst all systems, a (for the time) spiffy text-mode menuing 
	interface to shield users from the fact it was Unix and so on.

>   I've been playing with the mail system. Mailing to root brings up
>                  can't find usr/lonex/xmail

	The sendmail.cf as distributed in the 'GENERIC' system kit wasn't
	cleaned up enough.  That reference to a local mailer that I use
	should have been removed.

	Several things to note:

	1) the sendmail.fc file does not exist - on purpose.  You'll need to
	   perform step 2 and then do a "/usr/lib/sendmail -bz" to freeze
	   (pre-process for faster loading) the config file.

	2) the sendmail.cf file is not suitable for use without customizing
	   (filling in the domain name, relay system, etc).

	3) The aliases database (/usr/lib/aliases.{dir,pag}) are not present,
	   on purpose.  You'll want to edit /usr/lib/aliases to suit local
	   tastes and then do "/usr/lib/sendmail -bi" to create the dbm
	   aliases database.

> This in itself is not a problem, as I only tried this to see what would
> happen. However, I am curious as to what the lonex directory is (was).

	It's a directory I keep local works of art such as the local mailer
	'xmail' which knew the details about routing mail within the "Office
	Network" we ran.

> It does not appear in my listing of the contents of tape 2.

	It shouldn't have been there at all.

	You should have something like:

# Mlocal,       P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
Mlocal, P=/usr/lonex/bin/xmail, F=lsSDFMmn, S=10, R=20, A=xmail -f $g $u

	in sendmail.cf.  Simply reverse the commented status of the two
	lines to be:

Mlocal,       P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
# Mlocal, P=/usr/lonex/bin/xmail, F=lsSDFMmn, S=10, R=20, A=xmail -f $g $u

	And you'll be all set.

	Steven Schultz
	sms at wlv.iipo.gtegsc.com


From wkt at csadfa.cs.adfa.oz.au  Fri Dec  1 08:54:53 1995
From: wkt at csadfa.cs.adfa.oz.au (Warren Toomey)
Date: Fri, 1 Dec 1995 09:54:53 +1100 (EST)
Subject: v5, v6 on /34
In-Reply-To: <m0tKkBC-00000DC@swift.eng.ox.ac.uk> from "Bob Manners" at Nov 29, 95 10:55:58 am
Message-ID: <9511302254.AA08974@dolphin>

In atricle by Bob Manners:
> 
> 
> 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 ...

Bob, I got the v5 image from the PUPS archive to run under Bob Supnik's
emulator by using the bootblock from the v6 image:

/usr/local/src/Megan: ./pdp11 

PDP-11 simulator V1.0
Unknown command
Unknown command
Unknown command
Unknown command
@unix

login: root
# ls -l
total 60
drwxr-xr-x  2 bin       944 Nov 26 18:13 bin
drwxr-xr-x  2 bin        96 Mar 21 12:07 dev
drwxr-xr-x  2 bin       240 Mar 21 12:07 etc
drwxr-xr-x  2 bin       224 Nov 26 18:13 lib
drwxr-xr-x  2 bin        32 Nov 26 18:13 mnt
drwxrwxrwx  2 bin       144 Mar 21 12:08 tmp
-rwxrwxrwx  1 bin     25802 Mar 21 12:07 unix	Amazing size, huh?!
drwxr-xr-x 14 bin       224 Nov 26 18:13 usr
# 

The bootblock is uuencoded below. I've modified the simulator to have
a .pdp11rc so I don't have to type in the boot commands. I should
put the diffs somewhere.

	Warren

begin 600 bootblk
M!P&^`0`````````````!`,85`+Z!$0`*P2$*AA<B!P$"`L`5$``1%%<@`,#\
MATX`$`H&(/V'Q160O\`50`#-"<(5)KR!$/<)Y@`7(`H`"@,7("\``@,1D/8!
M at 2#T`\)E#@#P`<(5)KS`%0$`-PK"_?<)2@#*"Q@#]PEJ`,D!P14 at NH,01!#!
M91``U`L)`]2D!P(!(?R'0!SP_\)E#@#F`5<@(+SNA^@!`@KW"3@`;0'!%2"Z
M4A17(""\_(?V`<!E'P`%$!=T_/_W"5H`Q47P_U=U!0#%92"ZQ!4`NE05%R$8
MNOR'AP#.90(`P!U$_;<*0/WW-0`0&/L'`L`,`!P(NA("SN4"`(<`)@H.D`"*
MP`#`#``<"+KU`_<)"@"`%<`,`!P at NNX#-Q`*_3T!(+H`_]^+</_]!,`=2$#`
M18#_%R!!``6'%R!:``*"P&4@`!<@#0`"`L`5"@`7(`H`!0+`%0T`S0G`%0H`
M]XL80/V`-Q`40(<`@)\```,#S0F."OH!SF4"`,Y%`0"'```*%R('`00"$!P0
M``8 at _(?F%0"^!PK;`<8!YP'!'8K\``H7<@P`%W0$`$!0P14*_PD0X1UL_^$=
M:O_A%04`R8O^@(<`````````````````````````````````````````````
1````````````````````````
`
end


From sysyphus at crl.com  Fri Dec  1 15:37:28 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Thu, 30 Nov 1995 21:37:28 -0800 (PST)
Subject: Compiling BSD2.11 w/DEQNA support
Message-ID: <Pine.SUN.3.91.951130212910.360B-100000@crl10.crl.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 at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************


From rjm at swift.eng.ox.ac.uk  Sat Dec  2 04:39:49 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Fri, 1 Dec 1995 18:39:49 +0000 (GMT)
Subject: Serial lines and v6 ...
Message-ID: <m0tLaNC-00000DC@swift.eng.ox.ac.uk>


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 at 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 sysyphus at crl.com  Sat Dec  2 00:03:50 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Fri, 1 Dec 1995 06:03:50 -0800 (PST)
Subject: Followup to compiling BSD2.11 w/Deqna
Message-ID: <Pine.SUN.3.91.951201055825.4424A-100000@crl10.crl.com>


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 at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************



From sms at wlv.iipo.gtegsc.com  Sat Dec  2 14:05:36 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Fri, 1 Dec 1995 20:05:36 -0800
Subject: Followup to compiling BSD2.11 w/Deqna
Message-ID: <199512020405.UAA17751@wlv.iipo.gtegsc.com>

Hello -

> From: "Danny R. Brown" <sysyphus at 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 at wlv.iipo.gtegsc.com


From wkt at csadfa.cs.adfa.oz.au  Sat Dec  2 15:15:38 1995
From: wkt at csadfa.cs.adfa.oz.au (Warren Toomey)
Date: Sat, 2 Dec 1995 16:15:38 +1100 (EST)
Subject: Serial lines and v6 ...
In-Reply-To: <m0tLaNC-00000DC@swift.eng.ox.ac.uk> from "Bob Manners" at Dec 1, 95 06:39:49 pm
Message-ID: <9512020515.AA14858@dolphin>

In atricle by Bob Manners:
> 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:

Bob, check out the manual for mkconf(1), and also the documentation
about rebuilding the Unix kernel in /usr/doc/setup??. I'm sure it
mentions the DL code, so that might get you going. I'm at home & don't
have my paper copies at hand. But looking at the v7 docs, maybe you
need to put a line like

1 kl

in your config file. Don't put 2 kl, the software automatically counts
the console.

> 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?

Yeah, v6 comes with all of these in /usr/src/cmd :-) Maybe you meant
something else?

	Warren


From sms at wlv.iipo.gtegsc.com  Sat Dec  2 15:01:42 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Fri, 1 Dec 1995 21:01:42 -0800
Subject: Compiling BSD2.11 w/DEQNA support
Message-ID: <199512020501.VAA18261@wlv.iipo.gtegsc.com>

Greetings -

> From: "Danny R. Brown" <sysyphus at crl.com>
>   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.

	This is not unexpected.  In fact I was placing bets with myself
	as to when the first person would encounter the 'too big' message ;-)

	As distributed only the GENERIC kernel will (or should - apparently
	I screwed up) configure and build without errors.

	What to do when the linker complains about the size of a kernel
	is not covered in the documentation - sorry 'bout that, perhaps I'll
	take the mini-tutorial below and add it to the setup documentation
	some day.

	As a bit of background here is what goes on when a kernel is
	configured:

		cd /sys/conf
		cp GENERIC PICKLE
		vi PICKLE
		  ... turn on/off desired featuers,drivers,etc ...
		./config PICKLE

		At this point the 'config' script creates the directory
		/sys/PICKLE and populates it with various .h files describing
		what devices are present and so on.  Also copied into
		/sys/PICKLE are the various _prototype_ Makefiles: Makefile,
		Make.pdp, Make.pdpuba, etc.  Of these makefiles you are 
		only concerned with "Makefile" - the others should almost
		_never_ be edited.

		cd ../PICKLE
		make

		ld: too big for type 431

	First - what does that message mean?  '431' is the magic number for
	a split I/D overlaid executable.  Kernels are *always* split I/D
	and overlaid.

	The 'too big' part of the message means that the base segment and/or
	one of the overlays is larger than allowed.  What are the limits
	on the sizes (I hear you ask)?

	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.

	When 'ld' gives you a "too big" message the first thing you should
	do is:

		size unix.o

	That will produce something similar to:

text    data    bss     dec     hex
58304   7778    41206   107288  1a318   total text: 119360
        overlays: 8192,6976,7680,7616,8000,7872,7680,7040

	As we see the base segment is over 57344.  To reduce the base we
	must move one of the files from the BASE group to one of the OV groups.
	Which one?  It is not critical but a the general rule is:

		The smallest one which will solve the problem.

	It is perfectly ok to put device drivers in overlays - especially
	disk drivers which tend to move large chunks of data per interrupt
	or call.  It is desireable to keep terminal drivers in the base but
	nothing bad will happen if you need to put one (such as dh.o) into
	an overlay.

	Next, look in the Makefile at the line starting with "BASE=" and do:
	a "size " command on all the files listed in the BASE section.

	How much do we need to reduce the base?  58304 - 57344 = 960.  So, 
	we need to find a .o (or more than one - it's the total of sizes
	that counts) in the BASE that is >= 960 bytes of text.

	In my kernel the overlay description looks like this:

BASE=   br.o cons.o dh.o dhu.o dhv.o dr.o dz.o hk.o ht.o init_sysent.o \
        kern_clock.o kern_descrip.o kern_mman.o kern_proc.o kern_prot.o \
	kern_subr.o kern_synch.o machdep.o ram.o kern_fork.o \
	rk.o ra.o rx.o si.o subr_rmap.o sys_inode.o sys_kern.o \
	tm.o tty.o tty_conf.o tty_subr.o tty_tb.o ufs_alloc.o \
	ufs_bio.o ufs_dsort.o ufs_fio.o ufs_inode.o ufs_namei.o \
	vm_sched.o vm_text.o xp.o quota_subr.o
OV1=    sys_generic.o ufs_syscalls.o
OV2=    kern_acct.o kern_exec.o kern_exit.o kern_resource.o
OV3=    kern_time.o sys_process.o ufs_mount.o ufs_subr.o \
	uipc_syscalls.o
OV4=    dkbad.o kern_sig.o mem.o subr_xxx.o trap.o tty_pty.o tty_tty.o
OV5=    quota_kern.o quota_ufs.o quota_sys.o ufs_bmap.o \
	sys_pipe.o
# OV6 gets the (hopefully) never used routines
OV6=    clock.o dn.o init_main.o kern_pdp.o machdep2.o subr_prf.o syscalls.o \
	subr_log.o toy.o vm_swap.o
OV7=    tmscp.o lp.o vm_swp.o rl.o mch_fpsim.o ts.o
OV8=    kern_sysctl.o ingreslock.o ufs_disksubr.o kern_xxx.o vm_proc.o

	We see that

		size kern_subr.o ufs_dsort.o

	gives

		text	data	bss
		820	34	0
		272	0	0

	820 + 272 = 1092

	58304 - 1092 = 57212

	which is great!  It's below 57344.  So, we've found the .o files which
	when moved to an overlay will generate a valid kernel.  Where should
	we put it?

	Well - OV2 looks a little small, is there room there?  8192-6976=1216.
	Yes, there is room.

	So, the kern_subr.o and ufs_dsort.o files are removed from the BASE
	section and added to OV2:

BASE=   br.o cons.o dh.o dhu.o dhv.o dr.o dz.o hk.o ht.o init_sysent.o \
        kern_clock.o kern_descrip.o kern_mman.o kern_proc.o kern_prot.o \
	kern_synch.o machdep.o ram.o kern_fork.o \
	rk.o ra.o rx.o si.o subr_rmap.o sys_inode.o sys_kern.o \
	tm.o tty.o tty_conf.o tty_subr.o tty_tb.o ufs_alloc.o \
	ufs_bio.o ufs_fio.o ufs_inode.o ufs_namei.o \
	vm_sched.o vm_text.o xp.o quota_subr.o
OV2=    kern_acct.o kern_exec.o kern_exit.o kern_resource.o kern_subr.o \
	ufs_dsort.o

	Then exit the editor and type "make".  And voila - no error and
	doing "size unix" yields:

text    data    bss     dec     hex
57280   7778    41206   106264  19f18   total text: 119424
        overlays: 8192,8064,7680,7616,8000,7872,7680,7040

	Perfect!

	*NEVER* simply delete files from the Makefile!  If you did not select
	a device in the config file - the .o is 0 bytes in size.  If for
	example you do not have an RK05 configured do a "size rk.o" and
	you will see that it is "0 0 0".  The .o is only 16 bytes long.

	That is why you didn't notice any difference when moving/deleting
	files - they didn't have anything in them.  "size" is your friend
	when adjusting overlays - trust him.

	NOTE: There are some .o files which *must not* be moved out of the
	base segment.  These are identified as such in the Makefile.

	NOTE: You can not have any gaps in the overlays.  This means that
	there can not be a 0 length (empty) overlay between two populated
	overlays.  The last overlay used may be empty.

	IF all the overlays are full - then add OV7, OV8, OV9, etc lines
	(up to OV15) as needed and put .o files in them.  The Makefile will
	use the new OV lines automatically.

	I hope this makes things a little bit clearer for anyone building
	a 2.11BSD kernel.

	Good Luck!

	Steven Schultz
	sms at wlv.iipo.gtegsc.com


From wkt at dolphin.cs.adfa.oz.au  Sat Dec  2 15:41:04 1995
From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey)
Date: Sat, 2 Dec 1995 16:41:04 +1100 (EST)
Subject: Compiling 2.11 - also 2.9BSD
Message-ID: <9512020541.AA15007@dolphin>

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 sms at wlv.iipo.gtegsc.com  Sat Dec  2 16:03:57 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Fri, 1 Dec 1995 22:03:57 -0800
Subject: Compiling 2.11 - also 2.9BSD
Message-ID: <199512020603.WAA18663@wlv.iipo.gtegsc.com>

Hello -

> From: wkt at 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 at wlv.iipo.gtegsc.com


From sms at wlv.iipo.gtegsc.com  Mon Dec  4 05:30:55 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Sun, 3 Dec 1995 11:30:55 -0800
Subject: Followup to compiling BSD2.11 w/Deqna
Message-ID: <199512031930.LAA07500@wlv.iipo.gtegsc.com>

Hi Robin -

> From: Robin Birch <robin at 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 at falstaf.demon.co.uk  Sun Dec  3 23:36:18 1995
From: robin at falstaf.demon.co.uk (Robin Birch)
Date: Sun, 3 Dec 1995 13:36:18 GMT
Subject: Followup to compiling BSD2.11 w/Deqna
Message-ID: <199512031336.NAA00267@falstaf.demon.co.uk>

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 at falstaf.demon.co.uk  Sun Dec  3 23:34:28 1995
From: robin at falstaf.demon.co.uk (Robin Birch)
Date: Sun, 3 Dec 1995 13:34:28 GMT
Subject: Compiling BSD2.11 w/DEQNA support
Message-ID: <199512031334.NAA00261@falstaf.demon.co.uk>

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


From sysyphus at crl.com  Mon Dec  4 10:28:57 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Sun, 3 Dec 1995 16:28:57 -0800 (PST)
Subject: Building 2.11BSD...Huzzah!
Message-ID: <Pine.SUN.3.91.951203160902.3194A-100000@crl9.crl.com>

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 at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************


From sysyphus at crl.com  Mon Dec  4 12:04:49 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Sun, 3 Dec 1995 18:04:49 -0800 (PST)
Subject: Building BSD2.11 Huzzah! #2
Message-ID: <Pine.SUN.3.91.951203180007.21469A@crl12.crl.com>

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 at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************


From sms at wlv.iipo.gtegsc.com  Mon Dec  4 16:06:03 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Sun, 3 Dec 1995 22:06:03 -0800
Subject: Building BSD2.11 Huzzah! #2
Message-ID: <199512040606.WAA10558@wlv.iipo.gtegsc.com>

Greetings -

> From: "Danny R. Brown" <sysyphus at 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 sms at wlv.iipo.gtegsc.com  Mon Dec  4 16:01:18 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Sun, 3 Dec 1995 22:01:18 -0800
Subject: Building 2.11BSD...Huzzah!
Message-ID: <199512040601.WAA10542@wlv.iipo.gtegsc.com>

Hi -

> From: "Danny R. Brown" <sysyphus at 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


From rjm at swift.eng.ox.ac.uk  Tue Dec  5 20:12:17 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Tue, 5 Dec 1995 10:12:17 +0000 (GMT)
Subject: Still trying v6 build for multiple DL11s ...
Message-ID: <m0tMuMD-00000DC@swift.eng.ox.ac.uk>


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 at 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"
----------------------------------------------------------------------------




From rjm at swift.eng.ox.ac.uk  Tue Dec  5 20:56:06 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Tue, 5 Dec 1995 10:56:06 +0000 (GMT)
Subject: v6 kernel stuff again ...
Message-ID: <m0tMv2c-00000DC@swift.eng.ox.ac.uk>


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 at 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"
----------------------------------------------------------------------------




From rjm at swift.eng.ox.ac.uk  Wed Dec  6 22:01:19 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Wed, 6 Dec 1995 12:01:19 +0000 (GMT)
Subject: v6 with two DL11s now works ... silly me!
Message-ID: <m0tNIXH-00000DC@swift.eng.ox.ac.uk>


I've recently been deluging the list with problems and obseervations
concerning the v6 kernel. Most recently, I discussed the putchar()
routine in /usr/sys/ken/prf.c, which prints messages only if the front
panel switches are set appropriately. I modified that routine by
commenting out an if, so the messages would always be sent to the
console regardless.

Having edited prf.c and rebuilt the kernel, I was suprised to find no
change in the behavior on bootup. Comparing the 'new' and 'old'
kernels (with cmp) showed them to be the same. The problem then is
that the kernel was not being rebuilt correctly.

Accordingly I removed all .o files, and the files /usr/sys/lib1 and
/usr/sys/lib2. I rebuilt again. The lib1 and lib2 files do not build
directly from the /usr/sys/run script, but rather use "ar r" to
replace the files in the libraries with the newly-built object
files. Thus I had to manually build the libraries. NOTE: it is
important to get the object files into the library in the correct
order -- I simply copied the order as for the distributed files... 

I remember using tsort and lorder for Minix to determine library
component ordering, but I forget how that works ;)

Having rebuilt everything, not only did the messages print, but also
the second KL11 magically worked. Thus what I had been doing all along
was OK, but the kernel was not being properly built using all the new
object files.

Summary - to set up a second DL11 (configured as the first "local"
interface):

	1) ed /usr/sys/dmr/kl.c 

			changing NKL11 to 2 

	2) modify /usr/sys/run to call mkconf with the additional 
	   parameter:

			1kl

	3) Bob, so to speak, is your uncle.

Be sure everyhing is rebuilt. 

I wonder if there is a bug in "ar r", whereby certain files fail to be
inserted into the library, so that old versions persist. Using the "ar
rv" verbose option may be wise ...

Hope this info is useful to those mad enough to want to use v6 ;)
Thanks for all your help. 

Next project --- port the v7 shell to v6. Hmmmmmmmmm.


Bob

-- 

----------------------------------------------------------------------------
Robert Manners                                  Osney Laboratory
rjm at 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

       "I'd rather stay a child
        and keep my self respect,
        if being an adult
        means being like you"   Jello Biafra
----------------------------------------------------------------------------




From sysyphus at crl.com  Thu Dec  7 11:31:36 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Wed, 6 Dec 1995 17:31:36 -0800 (PST)
Subject: Undefined Inconsistency
Message-ID: <Pine.SUN.3.91.951206171925.116A-100000@crl14.crl.com>

Greetings:
  When I do a "reboot" the system declares that /dev/ra0f has an
undefined inconsistency (during fsck). It tells me to run fsck
manually, then aborts before starting the daemons.
I have dchecked, ichecked and fscked /dev/ra0f, and it seems to
be a happy partition.
ra0f starts on an even cylinder boundary. It has one file which
occupies some 54% of the space on it.
reboot -f brings everything up normally.

reboot worked at least twice without finding any faults prior to
this boo-boo. Looking through the man pages did not point me in
any yet untried direction. I did encounter a 'bad block' on /dev/ra0d,
the /usr partition, while doing a make clean in usr/src/sys, but this
turned out to be bogus, and did not involve ra0f. Coincidence or ?

All hints appreciated...



*************************************************************************
*      A Personal Message from   *                BASILISK              *
*          Danny R. Brown        *     "Try our other fine flavors!"    *
*       ( sysyphus at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************


From sms at wlv.iipo.gtegsc.com  Thu Dec  7 13:47:48 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Wed, 6 Dec 1995 19:47:48 -0800
Subject: Undefined Inconsistency
Message-ID: <199512070347.TAA02505@wlv.iipo.gtegsc.com>

Howdy -

> From: "Danny R. Brown" <sysyphus at crl.com>
> 
>   When I do a "reboot" the system declares that /dev/ra0f has an
> undefined inconsistency (during fsck). It tells me to run fsck
> manually, then aborts before starting the daemons.

	What aborts?  If by 'abort' you mean that the process of the system
	coming up ceases and you get dropped into a single user shell then
	that's exactly what should happen.

> I have dchecked, ichecked and fscked /dev/ra0f, and it seems to
> be a happy partition.

	Ok - at that point if a manual "fsck /dev/rra0f" (and you should be
	using the raw (rra) form of the device) works, then all you need to
	do is hit a ^D and the system will finish coming up to a multi user
	state.

	Hmmm - I think we'll need some more information before hazarding a
	guess as to what's not working right.  The contents of /etc/fstab
	and the current disklabel would be good starting points.

> ra0f starts on an even cylinder boundary. It has one file which
> occupies some 54% of the space on it.
> reboot -f brings everything up normally.

	Well, yes, it will - by bypassing all filesystem checks.  Usually
	that'll work ok - but it's not something to do after a crash or
	a power failure.

> this boo-boo. Looking through the man pages did not point me in
> any yet untried direction. I did encounter a 'bad block' on /dev/ra0d,

	Hmmm - a bad block?  Shouldn't be related to anything in ra0f unless
	you've accidentally created overlapping partitions.  If that were
	the case though I'd expect massive and widespread corruption.

	What was the error when the bad block was encountered?  If this is
	an MSCP disk you'll need to find the MicroPDP-11 Formatter and
	see if it will revector the bad sector for you (BSD MSCP drivers
	can not do this - probably just as well because I've heard it's
	fiendishly difficult and if you get it wrong you've hosed your
	drive).

	Steven Schultz
	sms at wlv.iipo.gtegsc.com


From wkt at dolphin.cs.adfa.oz.au  Thu Dec  7 14:07:59 1995
From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey)
Date: Thu, 7 Dec 1995 15:07:59 +1100 (EST)
Subject: Fsck tips
In-Reply-To: <199512070347.TAA02505@wlv.iipo.gtegsc.com> from "Steven M. Schultz" at Dec 6, 95 07:47:48 pm
Message-ID: <9512070407.AA12021@dolphin>

In atricle by Steven M. Schultz:
> > I have dchecked, ichecked and fscked /dev/ra0f, and it seems to
> > be a happy partition.
> 
> 	Ok - at that point if a manual "fsck /dev/rra0f" (and you should be
> 	using the raw (rra) form of the device) works, then all you need to
> 	do is hit a ^D and the system will finish coming up to a multi user
> 	state.

Apropos fsck'ing, always work on a raw device. Only fsck on an unmounted
partition, or a quiescent one (no disk activity, this means single-user mode
and sync BEFORE doing the fsck). If fsck finds an error, DONT sync the system
before shutting down; sync will flush out anything still in the cache, possibly
overwriting the changes fsck made to the disk.

Someone had to point this out to me a few years ago, I kept doing
sync sync sync reboot after fsck reported errors. Deary me!

Cheers all,
	Warren


From wkt at dolphin.cs.adfa.oz.au  Thu Dec  7 15:00:43 1995
From: wkt at dolphin.cs.adfa.oz.au (Warren Toomey)
Date: Thu, 7 Dec 1995 16:00:43 +1100 (EST)
Subject: Fsck for v7
Message-ID: <9512070500.AA12847@dolphin>

Hmm, while we're on the topic of fsck, the RL02 image of 7th Edition that was
given to me by Torsten Hippe had an fsck for v7 filesystems, but no source code.
Torsten did say that Johnny Billquist had the original tape, but Johnny says
he's not in a position to read the tape.

Anyway, does anybody have the source code to this or another v7 fsck? Any clues
as to who wrote it etc.?

Thanks,
	Warren


From rjm at swift.eng.ox.ac.uk  Thu Dec  7 20:40:17 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Thu, 7 Dec 1995 10:40:17 +0000 (GMT)
Subject: fsck tips
Message-ID: <m0tNdkP-00000DC@swift.eng.ox.ac.uk>


As Warren says, you don't want to sync after an fsck run has made
changes to the disk. Simply turn off and reboot. One gotcha Warren
omitted was the process /etc/update, which is usually started at
boot-time from /etc/rc. This process does a sync every 30 secs
automatically.  Before fscking a live filesystem, kill update first!
If fsck finds anything wrong, shutdown immediately without a sync.

Of course, fscking unmounted filesystems is far safer, but not always
possible for the root partition ...

Cheers,

Bob.

--

----------------------------------------------------------------------------
Robert Manners                                  Osney Laboratory
rjm at 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. 
----------------------------------------------------------------------------




From rjm at swift.eng.ox.ac.uk  Tue Dec 12 21:26:10 1995
From: rjm at swift.eng.ox.ac.uk (Bob Manners)
Date: Tue, 12 Dec 1995 11:26:10 +0000 (GMT)
Subject: version 7
Message-ID: <m0tPSqY-00000DC@swift.eng.ox.ac.uk>


I just thought I'd share a few more of my experiences with you in the
hope that they may help someone out....

Over the weekend, I finally succeeded in ftping Tapes/Torsten/v7.gz -
version 7 as an RL02 image. (International ftp to the UK is terrible
at present!).

I have no RL02, so I booted the image on Bob Supnic's pdp11 emulator,
built a kernel to support both RL and RK05 drives and set about
transferring the vital parts of the system to an RK05 image, with the
kernel source, games and other non-essentials going to a second
image. The two RK05 images are pretty full! 

I built kernels for the 11/40 (m40.o) and 11/34 (smch.o), to support
just the RK05, and added a second DL-11 as previously discussed on
this list. 

Kermiting the root image to an RK05 on my 11/34 was no trouble. My
11/34 will booth the m40.o image just fine, but the smch.o image
caused much disk activity, but no console output. Version 7 thus can
be persuaded to work on an 11/34a, with a single RK05. The second DL11
is recognised and works as expected. Version 7 seems significantly
slower than version 6, when multi-user mode is entered. 

Thus, I think I'd recommend version 6 for a small system ...

Cheers,

Bob.


-- 

----------------------------------------------------------------------------
Robert Manners                                  Osney Laboratory
rjm at 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. 
----------------------------------------------------------------------------




From sysyphus at crl.com  Tue Dec 19 11:24:12 1995
From: sysyphus at crl.com (Danny R. Brown)
Date: Mon, 18 Dec 1995 17:24:12 -0800 (PST)
Subject: What is lonex?
Message-ID: <Pine.SUN.3.91.951218171736.5935B-100000@crl12.crl.com>

Greetings:
  I've been playing with the mail system. Mailing to root brings up
                 can't find usr/lonex/xmail
This in itself is not a problem, as I only tried this to see what would
happen. However, I am curious as to what the lonex directory is (was).
It does not appear in my listing of the contents of tape 2.
Cheers!
*************************************************************************
*      A Personal Message from   *                BASILISK              *
*          Danny R. Brown        *     "Try our other fine flavors!"    *
*       ( sysyphus at crl.com )     *            (404) 392-1691            *
*        Pager:(404)397-0516     *            LYNC host mode            *
*************************************************************************


From sms at wlv.iipo.gtegsc.com  Tue Dec 19 13:59:39 1995
From: sms at wlv.iipo.gtegsc.com (Steven M. Schultz)
Date: Mon, 18 Dec 1995 19:59:39 -0800
Subject: What is lonex?
Message-ID: <199512190359.TAA04159@wlv.iipo.gtegsc.com>

Hi -

> From: "Danny R. Brown" <sysyphus at crl.com>
> Subject: What is lonex?

	LONEX _was_ "Laboratory Office Network EXperiment" - a project
	I worked on for many years (we started with V7) and which just ended 
	a couple or three years ago.  We used 11/44s and 70s right up till 
	the end - by which point they were all running 2.11BSD.  It was a 
	really neat system - had a common user namespace (YP before there was 
	YP;-)) amoungst all systems, a (for the time) spiffy text-mode menuing 
	interface to shield users from the fact it was Unix and so on.

>   I've been playing with the mail system. Mailing to root brings up
>                  can't find usr/lonex/xmail

	The sendmail.cf as distributed in the 'GENERIC' system kit wasn't
	cleaned up enough.  That reference to a local mailer that I use
	should have been removed.

	Several things to note:

	1) the sendmail.fc file does not exist - on purpose.  You'll need to
	   perform step 2 and then do a "/usr/lib/sendmail -bz" to freeze
	   (pre-process for faster loading) the config file.

	2) the sendmail.cf file is not suitable for use without customizing
	   (filling in the domain name, relay system, etc).

	3) The aliases database (/usr/lib/aliases.{dir,pag}) are not present,
	   on purpose.  You'll want to edit /usr/lib/aliases to suit local
	   tastes and then do "/usr/lib/sendmail -bi" to create the dbm
	   aliases database.

> This in itself is not a problem, as I only tried this to see what would
> happen. However, I am curious as to what the lonex directory is (was).

	It's a directory I keep local works of art such as the local mailer
	'xmail' which knew the details about routing mail within the "Office
	Network" we ran.

> It does not appear in my listing of the contents of tape 2.

	It shouldn't have been there at all.

	You should have something like:

# Mlocal,       P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
Mlocal, P=/usr/lonex/bin/xmail, F=lsSDFMmn, S=10, R=20, A=xmail -f $g $u

	in sendmail.cf.  Simply reverse the commented status of the two
	lines to be:

Mlocal,       P=/bin/mail, F=rlsDFMmn, S=10, R=20, A=mail -d $u
# Mlocal, P=/usr/lonex/bin/xmail, F=lsSDFMmn, S=10, R=20, A=xmail -f $g $u

	And you'll be all set.

	Steven Schultz
	sms at wlv.iipo.gtegsc.com


