[TUHS] Pre-v6 images and 2.11BSD patches

William Pechter pechter at gmail.com
Sat Dec 12 16:01:10 AEST 2015


Warren Toomey wrote:
> On Sat, Dec 12, 2015 at 03:54:16PM +1100, Peter Jeremy wrote:
>> Also, I've seen suggestions that there's a 2.11BSD patch later than
>> 447 but I can't find anything "official" and www.2bsd.com is either
>> down or inaccessible from all the systems I have access to.  Does
>> anyone know if 448 or later were released?  And given the issues with
>> www.2bsd.com would someone be willing to mirror it (assuming we can
>> got a copy of it)?
> [ Back to a real keyboard ]. Yes I'd be very happy to mirror 2bsd.com.
> Does anybody know what's happened to Steven Schultz?
>
> Cheers, Warren
> _______________________________________________
> TUHS mailing list
> TUHS at minnie.tuhs.org
> http://minnie.tuhs.org/cgi-bin/mailman/listinfo/tuhs
Last patch is 447 from June 2012.

I can get to the site just fine... pasted the patch below if it helps 
anyone.
I haven't heard anything about him.  Haven't worked at the same company 
since the early 1990's...


Bill

Received: by 10.68.220.230 with SMTP id pz6mr12885595pbc.3.1339950326173;
         Sun, 17 Jun 2012 09:25:26 -0700 (PDT)
Path: l9ni61647pbj.0!nntp.google.com!news2.google.com!goblin3!goblin1!goblin.stu.neva.ru!eternal-september.org!feeder.eternal-september.org!newsfeed.Update.UU.SE!news.Update.UU.SE!not-for-mail
From: Johnny Billquist <b... at softjar.se>
Newsgroups: vmsnet.pdp-11,alt.sys.pdp11
Subject: 2BSD patches...
Date: Sun, 17 Jun 2012 18:25:24 +0200
Organization: Update Computer Club
Message-ID: <jrl0dk$et3$1 at Iltempo.Update.UU.SE>
NNTP-Posting-Host: 178-83-31-172.dynamic.hispeed.ch
Mime-Version: 1.0
X-Trace: Iltempo.Update.UU.SE 1339950325 15267 178.83.31.172 (17 Jun 2012 16:25:25 GMT)
X-Complaints-To: newsm... at Update.UU.SE
NNTP-Posting-Date: Sun, 17 Jun 2012 16:25:25 +0000 (UTC)
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:13.0) Gecko/20120614 Thunderbird/13.0.1
Content-Type: multipart/mixed;
  boundary="------------000004000801020107010201"

--------------000004000801020107010201
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit

Hi. Here is a set of patches to 2BSD, which fixes a number of problems.
Terribly sorry that I don't present it in the same nice format that
Steven M. Schultz does, but I'll try an explain what this is briefly.

I've named this patch set path #448, as the last known patches to me are
#447. Apply this patch set after you brought it up to version 447...

Fixes in here:

====

1. Use of non-DEC MSCP controllers improved. Some parts of 2BSD have
been updated to work with (for example) CMD controllers, but not all
parts were. This set of patches makes it possible to boot and run with
the CDU-720, for example, which did not work before.

2. Boot program now automatically boots unless manual intervention on
console. This looks pretty similar to NetBSD on VAX for example, where a
countdown is presented at boot time, and the system continues with an
automatic boot unless aborted. Previously, 2BSD would not autoboot from
cold start because the reboot-flag was not present at power up.

3. Console terminal made 8-bit clean. On a real PDP-11, the boot
monitors are 8-bit clean. However, 2BSD previously ran with 7E on the
console, and there was no way to avoid this for system output. This
patch makes it all 8-bit clean.

4. The libc resolver code used /etc/hosts if no resolved was available,
but if one was, it never used the /etc/hosts. This created a peculiar
effect, especially at bootup, since the resolver couldn't be contacted
before the network was up, but /etc/hosts were not used, since a correct
/etc/resolv.conf existed. The order is not possible to select. It will
first try using the resolver, but if that fails, it now falls back to
trying /etc/hosts

5. At system build time, the newvers.sh tries to figure out various bits
and pieces to put into the built file to tell when the kernel was built,
where and by who. This parsing could fail in various ways because of how
the date command works with time zones. Fixed by changing how it figures
out the information and pass it around.

6. The mandoc macros had a Y2K bug, or rather a 2010 bug, in that the
Y2K bug fix actually only fixed years 2000-2009, and it broke again in
2010. This patch does a proper fix to the Y2K problem. Also fixed a
spelling error.

====

As usual, the code might not be pretty, but I've atleast been running it
myself on several machines for close to two years now, and believe these
are all workable, and important patches.
Download to your machine.
At the root of the file system run:
$ patch -p0 < patchfile

after this, rebuild the kernel and the boot image. Install the new
kernel, the new boot, and then rebuild all of userland.

If you have any questions, feel free to send me an email.

This patch set will bring your system up to patch version 448.

      Johnny



-- 
Johnny Billquist                  || "I'm on a bus
                                    ||  on a psychedelic trip
email: b... at softjar.se             ||  Reading murder books
pdp is alive!                     ||  tryin' to stay hip" - B. Idol



*** VERSION.orig	Sun Jun 17 17:02:22 2012
--- VERSION	Thu Apr  1 14:17:48 2010
***************
*** 1,5 ****
! Current Patch Level: 447
! Date: December 31, 2008
   
   2.11 BSD
   ============
--- 1,5 ----
! Current Patch Level: 448
! Date: January 5, 2010
   
   2.11 BSD
   ============
***************
*** 62,88 ****
   	112 South Lakeview Canyon Road
   	Thousand Oaks CA 91359
   	sms at wlv.iipo.gtegsc.com
-
- 	Below is the original VERSION file distributed with 2.10.1BSD
- -----------------------------------------------------------------------
- NOTE --
- 	This is the second release of 2.10BSD; most of the changes
- 	are part of the addition of supervisor space networking in
- 	the kernel, although there are other changes.
-
- 	To give some idea of the dates involved, distribution of
- 	2.10BSD by the USENIX Assoc. started in fall of 1987.
- 	Distribution of this source started in January of 1989.
-
- Keith Bostic
- Casey Leedom
- Cyrus Rahman
- Steven Schultz
- 	Steven M. Schultz
- 	Contel Federal Systems
- 	31717 La Tienda Drive
- 	Westlake Village CA 91359
- 	sms at wlv.imsd.contel.com
   
   	Below is the original VERSION file distributed with 2.10.1BSD
   -----------------------------------------------------------------------
--- 62,67 ----
*** usr/src/sys/pdpstand/boot.c.old	Wed Aug 19 00:22:03 2009
--- usr/src/sys/pdpstand/boot.c	Wed Aug 19 02:46:18 2009
***************
*** 172,178 ****
   	 * this is an automatic reboot, otherwise do it the hard way.
   	 */
   	if (checkword != ~bootopts)
! 		bootopts = RB_SINGLE | RB_ASKNAME;
   	j = -1;
   	do {
   		if (bootopts & RB_ASKNAME) {
--- 172,189 ----
   	 * this is an automatic reboot, otherwise do it the hard way.
   	 */
   	if (checkword != ~bootopts)
! 		bootopts = 0;
!
! 	printf("Press <CR> to boot, or any other key to abort:  ");
! 	for (i=5; i>=0; i--) {
! 		printf("\b%d", i);
! 		j = getchar2(50);
! 		if (j != -1) {
! 			if (j != '\n') bootopts = RB_ASKNAME;
! 			break;
! 		}
! 	}
! 	printf("\n");
   	j = -1;
   	do {
   		if (bootopts & RB_ASKNAME) {
*** usr/src/sys/pdp/cons.c.old	Wed Aug 19 00:25:03 2009
--- usr/src/sys/pdp/cons.c	Tue Aug 18 18:09:57 2009
***************
*** 164,170 ****
   	if (tp->t_flags & (RAW|LITOUT))
   		addr->dlxbuf = c&0xff;
   	else
! 		addr->dlxbuf = c | (partab[c] & 0200);
   	tp->t_state |= TS_BUSY;
   out:
   	splx(s);
--- 164,170 ----
   	if (tp->t_flags & (RAW|LITOUT))
   		addr->dlxbuf = c&0xff;
   	else
! 		addr->dlxbuf = c&0xff; /* | (partab[c] & 0200); /bqt */
   	tp->t_state |= TS_BUSY;
   out:
   	splx(s);
*** usr/src/lib/libc/net/named/gethnamadr.c.orig	Sun Feb 28 03:59:41 2010
--- usr/src/lib/libc/net/named/gethnamadr.c	Thu Apr  1 04:25:45 2010
***************
*** 8,13 ****
--- 8,20 ----
    * may not be used to endorse or promote products derived from this
    * software without specific prior written permission. This software
    * is provided ``as is'' without express or implied warranty.
+  *
+  * 2010-04-01	Johnny Billquist
+  *
+  * Changed code so that /etc/hosts are consulted even if named is
+  * used. This means that if name resolution fails, it will fall back
+  * to using /etc/hosts. Previously it just failed in this case. (But it
+  * did consult /etc/hosts if no named.conf existed.)
    */
   
   #if defined(LIBC_SCCS) && !defined(lint)
***************
*** 227,236 ****
--- 234,247 ----
   		if (_res.options & RES_DEBUG)
   			printf("res_search failed\n");
   #endif
+ #ifdef BQT
   		if (errno == ECONNREFUSED)
+ #endif
   			return (_gethtbyname(name));
+ #ifdef BQT
   		else
   			return ((struct hostent *) NULL);
+ #endif
   	}
   	return (getanswer(&buf, n, 0));
   }
***************
*** 259,269 ****
   		if (_res.options & RES_DEBUG)
   			printf("res_query failed\n");
   #endif
   		if (errno == ECONNREFUSED)
   			hp = _gethtbyaddr(addr, len, type);
! 		return ((struct hostent *) NULL);
! 	}
! 	hp = getanswer(&buf, n, 1);
   	if (hp == NULL)
   		return ((struct hostent *) NULL);
   	hp->h_addrtype = type;
--- 270,285 ----
   		if (_res.options & RES_DEBUG)
   			printf("res_query failed\n");
   #endif
+ #ifdef BQT
   		if (errno == ECONNREFUSED)
+ #endif
   			hp = _gethtbyaddr(addr, len, type);
! #ifdef BQT
! 		else
! 			return ((struct hostent *) NULL);
! #endif
! 	} else
! 		hp = getanswer(&buf, n, 1);
   	if (hp == NULL)
   		return ((struct hostent *) NULL);
   	hp->h_addrtype = type;
*** usr/src/sys/conf/newvers.sh.old	Tue Aug 18 17:50:09 2009
--- usr/src/sys/conf/newvers.sh	Tue Aug 18 17:32:57 2009
***************
*** 8,17 ****
   #
   if [ ! -r version ]; then echo 0 > version; fi
   touch version
! echo `cat version` ${USER-root} `pwd` `date` `hostname` | \
   awk ' {
! 	version = $1 + 1; user = $2; host = $10; dir = $3; \
! 	date = $4 " " $5 " " $6 " " $7 " " $8 " " $9;
   }\
   END {
   	printf "char version[] = \"2.11 BSD UNIX #%d: %s\\n", \
--- 8,17 ----
   #
   if [ ! -r version ]; then echo 0 > version; fi
   touch version
! echo `cat version` ${USER-root} `pwd` `hostname` `date` | \
   awk ' {
! 	version = $1 + 1; user = $2; host = $4; dir = $3; \
! 	date = $5 " " $6 " " $7 " " $8 " " $9 " " $10 " " $11;
   }\
   END {
   	printf "char version[] = \"2.11 BSD UNIX #%d: %s\\n", \
*** usr/src/sys/pdpstand/prf.c.old	Tue Aug 18 15:45:40 2009
--- usr/src/sys/pdpstand/prf.c	Wed Aug 19 02:45:36 2009
***************
*** 9,14 ****
--- 9,15 ----
   #include "../machine/cons.h"
   
   #define	KLADDR	((struct dldevice *)0177560)
+ #define LKS ((int *)0177546)
   
   #define	CTRL(x)	('x' & 037)
   
***************
*** 116,121 ****
--- 117,146 ----
   	KLADDR->dlrcsr = DL_RE;
   	while ((KLADDR->dlrcsr & DL_RDONE) == 0)
   		continue;
+ 	c = KLADDR->dlrbuf & 0177;
+ 	if (c=='\r')
+ 		c = '\n';
+ 	return(c);
+ }
+
+ getchar2(t)
+ 	int t;
+ {
+ 	register c;
+ 	int clks, olks;
+
+ 	KLADDR->dlrcsr = DL_RE;
+ 	*LKS = 0;
+ 	clks = 0x80;
+ 	while ((KLADDR->dlrcsr & DL_RDONE) == 0) {
+ 		olks = clks;
+ 		clks = *LKS;
+ 		if (~olks & clks & 0x80) {
+ 			*LKS = 0;
+ 			if ((--t) == 0) return (-1);
+ 		}
+ 		continue;
+ 	}
   	c = KLADDR->dlrbuf & 0177;
   	if (c=='\r')
   		c = '\n';
*** usr/src/sys/conf/boot/raboot.s.old	Mon Aug 17 21:41:34 2009
--- usr/src/sys/conf/boot/raboot.s	Mon Aug 17 22:44:12 2009
***************
*** 1,5 ****
--- 1,9 ----
   /*
    *	SCCS id	@(#)raboot.s	2.0 (2.11BSD)	4/13/91
+  *
+  * Code corrected as per the other primitive mscp drivers
+  * to handles other mscp controllers than DECs.
+  * /bqt - 20090817
    */
   #include "localopts.h"
   
***************
*** 59,65 ****
   
   MSCPSIZE =	64.	/ One MSCP command packet is 64bytes long (need 2)
   
! RASEMAP	=	140000	/ RA controller owner semaphore
   
   RAERR =		100000	/ error bit
   RASTEP1 =	04000	/ step1 has started
--- 63,69 ----
   
   MSCPSIZE =	64.	/ One MSCP command packet is 64bytes long (need 2)
   
! RASEMAP	=	100000	/ RA controller owner semaphore
   
   RAERR =		100000	/ error bit
   RASTEP1 =	04000	/ step1 has started
***************
*** 153,170 ****
   	mov	$RASEMAP,*$ra+RARSPH	/ set mscp semaphores
   	mov	$RASEMAP,*$ra+RACMDH
   	mov	*_bootcsr,r0		/ tap controllers shoulder
! 	mov	$ra+RACMDI,r0
   1:
   	tst	(r0)
! 	beq	1b			/ Wait till command read
! 	clr	(r0)+			/ Tell controller we saw it, ok.
   2:
   	tst	(r0)
! 	beq	2b			/ Wait till response written
   	clr	(r0)			/ Tell controller we got it
   	rts	pc
   
! icons:	RAERR
   	ra+RARING
   	0
   	RAGO
--- 157,176 ----
   	mov	$RASEMAP,*$ra+RARSPH	/ set mscp semaphores
   	mov	$RASEMAP,*$ra+RACMDH
   	mov	*_bootcsr,r0		/ tap controllers shoulder
! 	mov	$ra+RACMDH,r0
   1:
   	tst	(r0)
! 	bmi	1b			/ Wait till command read
! 	mov	$ra+RARSPH,r0
   2:
   	tst	(r0)
! 	bmi	2b			/ Wait till response written
! 	mov	$ra+RACMDI,r0
! 	clr	(r0)+			/ Tell controller we saw it, ok.
   	clr	(r0)			/ Tell controller we got it
   	rts	pc
   
! icons:	RAERR + 033
   	ra+RARING
   	0
   	RAGO
*** usr/src/share/tmac/tmac.an.new.old	Wed Aug 12 09:43:23 2009
--- usr/src/share/tmac/tmac.an.new	Sun Aug 22 03:30:46 2010
***************
*** 20,28 ****
   .if "\nm"10" .ds ]m November
   .if "\nm"11" .ds ]m December
   '	# set the date
! .nr )y \n(yr-100
! .ie \n(yr<100 .ds ]Y \n(yr
! .el .ds ]Y 0\n()y
   '
   .nr )Y \n(yr+1900
   .if n \{.nr m \nm+1
--- 20,28 ----
   .if "\nm"10" .ds ]m November
   .if "\nm"11" .ds ]m December
   '	# set the date
! .nr )y \n(yr%100
! .ie \n()y<10 .ds ]Y 0\n()y
! .el .ds ]Y \n()y
   '
   .nr )Y \n(yr+1900
   .if n \{.nr m \nm+1
***************
*** 53,59 ****
   .de UC
   .if t \{\
   .	ds ]W 3rd Berkeley Distribution
! .	if "\\$1"2" .ds ]W 2rd Berkeley Distribution
   .	if "\\$1"3" .ds ]W 3rd Berkeley Distribution
   .	if "\\$1"4" .ds ]W 4th Berkeley Distribution
   .	if "\\$1"5" .ds ]W 4.2 Berkeley Distribution
--- 53,59 ----
   .de UC
   .if t \{\
   .	ds ]W 3rd Berkeley Distribution
! .	if "\\$1"2" .ds ]W 2nd Berkeley Distribution
   .	if "\\$1"3" .ds ]W 3rd Berkeley Distribution
   .	if "\\$1"4" .ds ]W 4th Berkeley Distribution
   .	if "\\$1"5" .ds ]W 4.2 Berkeley Distribution


-- 
Digital had it then.  Don't you wish you could buy it now!
pechter-at-gmail.com  http://xkcd.com/705/




More information about the TUHS mailing list