From: rwd@CS.CMU.EDU (Randall Dean)
Newsgroups: comp.os.mach
Subject: Re: non-CMU 386BSD Single Server procgress???
Date: 26 Jul 92 21:15:57 GMT
Article-I.D.: ERNST.RWD.92Jul26161557
Reply-To: rwd+@CS.CMU.EDU
Distribution: usa
Organization: School of Computer Science, Carnegie Mellon University
Originator: rwd@ERNST.MACH.CS.CMU.EDU

At the end of this message is the original posting I made on the subject.
The BNR2SS is now building with the OSF ODE build tools which is license
free.  We are working on getting an entirely self-hosting environment.
We are close, but not quite there.  When we are self-hosting, we will
probably go to the first FTPable release.  That release will contain
SUP so that people will use it for upgrades.  Please subscribe to the
bnr2ss mailing list and direct further questions there.

Randall W. Dean
Senior Research Programmer
Mach Project
Carnegie Mellon University

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Announcing the first release of BNR2SS, a Mach 3.0 single
server with environment, based on the Berkeley Network
Release 2 (BNR2) and Bill Jolitz's 386BSD release.

This release contains:

 o  Complete sources to the BNR2SS.   This is a license
    free BSD server which runs on the free Mach 3.0 kernel.  At
    this time, the only platform being supported is the
    INTEL 80x86.
    This first release will also be a SUP only release.  This
    will limit the release to sites with existing experience
    with the Mach 3.0 (or Mach 2.5) system.  In future releases,
    we will make the BNR2SS source available for anonymous FTP.
    We currently make the MACH3 kernel available via FTP.
    Presently, you need the standard Mach build environment
    that is used to build UX and MK, to build BNR2SS

 o  A binary release of the Jolitz 386BSD environment plus a
    Mach 3.0 kernel, BNR2SS, emulator, mach_init, ps and a few
    other programs.
    You can SUP the binary release onto a fresh disk, following the
    recipe below, and boot this system.

All BNR2SS sources and MACH 3.0 sources in this release are free.
All binaries in this release are believed free.  Almost all binaries
were obtained from an anonymous ftp site that housed the 386BSD
binaries and sources.  The sources and binaries in this release
contain one or many of the copyrights found at the end of this
file

Work is currently in progress to make the BNR2 server self-hosting.
This entails moving away from the CMU build environment to
the "free" OSF1 build environment.  A preliminary version of this has
been done, and should be made available soon.

The current system does not have NFS.  Work is in progress to
make this available next release also.

As this is an alpha release, there are many potential bugs in the
server.  This is work in progress and should be treated as such.
We are looking for people willing to test the system and not
only find bugs, but implement a solution.  A mailing list has
been set up for further discussion of this system.  Contributions
should be sent to:

bnr2ss@cs.cmu.edu

requests to be added to the list should be sent to

bnr2ss-request@cs.cmu.edu

			DIRECTIONS FOR SUP

These directions are from the first user of the system besides me.
These have been known to work at least once.

0. I presume you are using the CMU Tahoe Release.  I presume you
   have a spare disk to load the Jolitz distribution and Mach Single
   Server onto.  And I presume you know about the CMU SUP program.
0a. SUP will be used to upload the release.   SUP tranfers
    the userid and groupid information for a file as ascii text and
    if SUP does not find the a matching entry in your passwd/group
    files, it will not be able to set the userid/groupid of the file
    correctly.  So we need steps 1 and 2 below to make SUP happy.

1. Add the following lines to /etc/passwd
acu:*:4:0:Acu Stuff:/:/dev/null
mach3:*:11:11:Mach Developed Software:/usr/mach3:/bin/csh

1a. Your /etc/passwd should then contain the following
root:INHsdIhO9CIq.:0:10:Charlie &:/:/bin/csh
daemon:*:1:31:The devil himself:/:
bin:*:3:10: Binaries Commands and Source:/:/bin/csh
acu:*:4:0:Acu Stuff:/:/dev/null
games:***:7:2:Games pseudo-user:/usr/games:
mach3:*:11:11:Mach Developed Software:/usr/mach3:/bin/csh
uucp:SET UUCP PASSWD:66:1:UNIX-to-UNIX Copy:/usr/spool/uucppublic:/usr/lib/uucp/uucico

2. Add the following lines to /etc/group
bin2:*:7:root
mach3:*:11:root

2a. Your /etc/group should then contain the following
wheel:*:0:root,rootl
daemon:*:1:daemon
kmem:*:2:root
sys:*:3:root
tty:*:4:root
operator:*:5:root
bin2:*:7:root
bin:*:10:root,games
mach3:*:11:root
staff:*:20:root
guest:*:31:root
ingres:*:74:ingres

3. I have codified the instructions below for a "generic" XYZ type
disk.  You would have either a scsi disk, called "sd" (which is what
I used) or an esdi disk, called "hd".  So where ever you see XYZ1
below, you should substitute "sd1" or "hd1" as appropriate for you.
And where you see XYZ, you use "sd" or "hd". You need to setup the
disk for mach use.  So do a 
	diskutil clobber_my_disk /dev/rXYZ1a

4. Create an A and D parititon.  And maybe an E for user data
	eval `vtoc -m a /dev/rXYZ1c` 4096 512
	eval `vtoc -m d /dev/rXYZ1c` 4096 512
	eval `vtoc -m e /dev/rXYZ1c` 4096 512

5. Mount A on /mnt and D on /mnt/usr
	mount /dev/XYZ1a /mnt
	mkdir /mnt/usr
	mount /dev/XYZ1d /mnt/usr

6. Now you can sup.  Use the following control files:
first    host=x29.mach.cs.cmu.edu hostbase=/bnr2/DIST base=/mnt crypt=<crypt>
bin.root host=x29.mach.cs.cmu.edu hostbase=/bnr2/DIST base=/mnt crypt=<crypt>
bin.usr  host=x29.mach.cs.cmu.edu hostbase=/bnr2/DIST base=/mnt crypt=<crypt> prefix=usr
src.bsdss host=x29.mach.cs.cmu.edu hostbase=/bnr2/DIST base=<your_base> crypt=<crypt> prefix=bsdss

6a.  Crypts must be gotten from us.  This is not meant to limit distribution,
     but help us keep track of who is picking up the code.  Please send
     mail to bnr2ss-request@cs.cmu.edu for crypt.

6b.  Since you must build the server in a Mach build environment at this time,
     you should sup the src.bsdss collection to wherever is convenient on your
     current system.

7. The above sup should finish w/o errors.

8. You must create a paging file (I am setting up 20Meg):
	dd if=/dev/rXYZ1d of=/mnt/usr/pagingfile bs=1024k count=20
	cd /mnt/mach_servers44; ln -s /dev/XYZ1d/pagingfile paging_file

9. Now you must fix the following files in etc:
	/etc/hosts
	/etc/networks
	/etc/netstart
	/etc/fstab
9a. Just grab your favorite host and networks.
9b. netstart is pretty self explanatory, don't forget to add "route add"
    for your gateway.
9c. /etc/fstab is a template.  It is setup for the esdi drive.  If you have
    a scsi drive, just go in
    and "xx" out the esdi and undo the "xx"'s for the sd disk.  NOTE: Due to
    an incompatability between i386 MACH and BSD386 disk partitions.  You
    use "2i" under BSDSS to refer to the mach partition "i".  So the lines
    in /etc/fstab use XYZ2a and XYZ2d to refer to the second disk which
    under mach is really XYZ1a and XYZ1d  -- sigh.

10. Now reboot and bring up BSDSS single user.
	/etc/reboot
10a. At the boot prompt type
	XYZ(1,a)mach.boot -s
	
11. Run fsck which will slightly adjust your filesystem.  Then you have to 
    halt the machine and reboot again because the root fs was written.
11a. Physically reboot the machine
11b. At the boot prompt type and boot multi user.
	XYZ(1,a)mach.boot

12. Well you're up and running.  Or at least, it worked for me.
    The initial screen print out of the login banner may be garbled.
    But you should be able to login.  ROOT, ROOTL, AND ROOTLSH HAVE NO
    PASSWORD.  YOU MIGHT WANT TO GIVE THEM ONE REALLY SOON.  B U T    T H I S
    S T U P I D   S Y S T E M   K E E P S   Y O U R   P A S S W O R D
    I N   C L E A R   T E X T,  S O   D O N ' T   U S E   Y O U R
    F A V O R I T E   O N E.  You will also notice that there are 3
    userid for cmu userid's 997, 998, and 999.  You can either delete
    these or give them a password and if we ever need to login you
    can tell us the password.

13. Operationally, the disk subsystem seems pretty reliable.  I have not
    lost any data and have been using the system a bit.  The network is fast
    but ftp seems to run into a bit of trouble if you turn on hashing.  And
    lastly, ^Z is pretty deadly right now.  If you ^Z something, kill it;
    do not ever try to continue it.  And some programs can not even be
    successfully ^Z'd, "ftp" comes to mind.  Lastly, sometimes output
    flow control does not work and the display stops typeout (over telnet
    connections), try typing a space or return at the display.  If necessary
    you can successfully telnet in and kill -9 the typeout.

14. The binary environment is basically what agate.berkeley.edu distributes
    on 386bsd/floppies/3in/bin.  The differences are noted in /MANIFEST.mach.
    Obviously, a lot of our favorite programs are missing.  We can work on
    this.  Also, note that right now we just have "sh" and not "csh".  So
    you must be careful setting up your password entry.  For example, "rootl"
    can not really login, but "rootlsh" can.

15. A few important facts about the environment.  We expect that you will use
    sup to keep your binaries and sources up to date.  In /sup, there is
    a template SUP control file, named SUPFILE, that indicates everything
    we will allow you to sup.  You should copy this file to MYSUPFILE and
    edit out the comments next to the sup collections that you want.  Then
    you run MYSUPFILE to bring your system up to date.  NOTE: at present
    we do not have "sup" built for this environment -- almost.  So you
    must go back to your mach2.5 or mach3.0 system to do this sup.

				COPYRIGHTS

/* 
 * Mach Operating System
 * Copyright (c) 1992 Carnegie Mellon University
 * All Rights Reserved.
 * 
 * Permission to use, copy, modify and distribute this software and its
 * documentation is hereby granted, provided that both the copyright
 * notice and this permission notice appear in all copies of the
 * software, derivative works or modified versions, and any portions
 * thereof, and that both notices appear in supporting documentation.
 * 
 * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
 * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR
 * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
 * 
 * Carnegie Mellon requests users of this software to return to
 * 
 *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
 *  School of Computer Science
 *  Carnegie Mellon University
 *  Pittsburgh PA 15213-3890
 * 
 * any improvements or extensions that they make and grant Carnegie Mellon 
 * the rights to redistribute these changes.
 */

/*
 * Copyright (c) 1989, 1990, 1991, 1992 William F. Jolitz, TeleMuse
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This software is a component of "386BSD" developed by 
	William F. Jolitz, TeleMuse.
 * 4. Neither the name of the developer nor the name "386BSD"
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS A COMPONENT OF 386BSD DEVELOPED BY WILLIAM F. JOLITZ 
 * AND IS INTENDED FOR RESEARCH AND EDUCATIONAL PURPOSES ONLY. THIS 
 * SOFTWARE SHOULD NOT BE CONSIDERED TO BE A COMMERCIAL PRODUCT. 
 * THE DEVELOPER URGES THAT USERS WHO REQUIRE A COMMERCIAL PRODUCT 
 * NOT MAKE USE THIS WORK.
 *
 * FOR USERS WHO WISH TO UNDERSTAND THE 386BSD SYSTEM DEVELOPED
 * BY WILLIAM F. JOLITZ, WE RECOMMEND THE USER STUDY WRITTEN 
 * REFERENCES SUCH AS THE  "PORTING UNIX TO THE 386" SERIES 
 * (BEGINNING JANUARY 1991 "DR. DOBBS JOURNAL", USA AND BEGINNING 
 * JUNE 1991 "UNIX MAGAZIN", GERMANY) BY WILLIAM F. JOLITZ AND 
 * LYNNE GREER JOLITZ, AS WELL AS OTHER BOOKS ON UNIX AND THE 
 * ON-LINE 386BSD USER MANUAL BEFORE USE. A BOOK DISCUSSING THE INTERNALS 
 * OF 386BSD ENTITLED "386BSD FROM THE INSIDE OUT" WILL BE AVAILABLE LATE 1992.
 *
 * THIS SOFTWARE IS PROVIDED BY THE DEVELOPER ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE DEVELOPER BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 */

/*
 * Copyright (c) 1982, 1986, 1989 Regents of the University of California.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by the University of
 *	California, Berkeley and its contributors.
 * 4. Neither the name of the University nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
Newsgroups: comp.os.mach