I've assembled some notes from old manuals and other sources
on the formats used for on-disk file systems through the
Additional notes, comments on style, and whatnot are welcome.
(It may be sensible to send anything in the last two categories
directly to me, rather than to the whole list.)
Here are my notes to run 8th Edition Research Unix on SIMH.
These notes are quite raw and unpolished, but should be
sufficient to get Unix running on SIMH.
Fell free to use, improve and share.
David du Colombier
On Thu, 30 Mar 2017, Warren Toomey via Uucp wrote:
> On 03/29/2017 11:09 PM, Dave Horsfall via Uucp wrote:
> > Let the cancel/rmgroup/flame wars begin :-)
And I still bear the scars from the aus.bizarre war... And I'll bet that
not many people remember that little episode :-)
> > (Been too busy to set up "utzoo" yet, so if anyone is desperate for it
> > then they can have it instead; my long-term goal is to run SimH on a
> > RasbPi but first I have to afford one...)
> What's your address? I've got an unused Raspberry Pi that I'll send you
> (or anyone else). ;-) First come, first serve.
To be sent privately...
Dave Horsfall DTM (VK2KFU) "Those who don't understand security will suffer."
> > Can you characterize what the 3rd-party material might be?
> Me personally, no. But there are others on the list who can help do this.
> Hopefully they will chime in!
Here's a list, gathered from the manuals, of stuff that Bell Labs
may not have the right to redistribute, with some (uncertain)
attributions of origin. I did not check to see which of them appear in
the TUHS archives; I doubt that /usr/src fully covered /bin and /usr/bin.
This list is at best a first draft. Please weigh in with corrections.
Kernel internet code. BSD
lisp, liszt, lxref MIT
icont, iconc Arizona
more BSD (From the manpage: "More, a paginator that lives up to its name, has
too many features to describe." Its prodigality has been eclipsed by "less".)
pascal, pc BSD
readnews, checknews, postnews Duke
vi, ex, edit BSD
Commands I'm not sure about, could be from Bell Labs
adventure, zork, aarvark, rogue
trek, ogre, sol, warp, sail
Games I'm not sure about
I'll have to have a look at what's actually in the archive,
but it's important to understand that there was barely a
`distribution' of 8/e and never really any of subsequent
There was a distinct V8 tape, assembled mainly by Dennis
with some help from me, in the fall of 1984. It did not
exactly match the manuals that were printed, I think only
for internal use, a few months before. It was sent out
to about a dozen universities (and perhaps other sorts of
non-commercial places), with an individual letter agreement
with each destination to cover licensing.
Anything after that from the original Computing Science
Research Centre was effectively just random snapshots.
There was a Ninth Edition manual printed up, but it still
didn't really match the state of the system, partly
because nobody felt up to doing the all that work and
partly because various parts of the system were still
I remember personally making a few such snapshots at
various times, e.g. one for a certain university (again
under a one-off letter agreement), another for the
official UNIX System Labs folks in Summit (I took the
tape over there personally and helped get the system
running). I have no idea whether any of those is in
Warren's archives, and I don't remember whether anyone
else made any such snapshots, though my role in the group
by then was such that I'd probably have been involved.
The `V9 for Sun' distribution was done by someone from
one of our sister groups. He took a snapshot of our
system at some point and worked from that. There wasn't
any organized way to keep his stuff in sync with ours, and
I don't think his stuff got a lot of use in the long run
so there was little motivation to fix that.
All of that at least partly explains the skew between
system and manual pages; it was really like that. (Remember,
we were a research group, not a production computing
centre or a development shop.) Snapshots may have been
made hastily enough that some things were missed, too.
The 10/e manual came out in early 1990. It happened
because enough of us wanted to have a current manual
again, Doug was willing to take on the big task of
overall editing for Volume 1, and Andrew Hume was
energized to make Volume 2 happen--the first Volume 2
since the Seventh Edition. There was a lot of rewriting,
cleanup, merging of related entries, and discarding of
stuff we no longer used or no longer considered an
official part of the system. I remember that the first
printed copies arrived just in time for me to get one
before I left the wretched suburbs forever in June 1990.
Since I'd spent a lot of time working over the power-of-two
sections (2 4 8), I was pleased about that.
One thing that helped energize others about that manual,
by the way, was that I felt the parts I was responsible
for were way, way out of date, and that it was no longer
accurate for the system to call itself Ninth Edition
when it booted. But Edition always meant the manual,
so Tenth Edition would be wrong too. I made the boot
message say 9Vr2. I figured that would annoy people
enough to help convince them to help get a new manual
out. I have no data as to how big a help that was.
I don't know how many `V10 distributions' Warren has
at this point, but one of them is derived from a
snapshot I made during a visit to Bell Labs in 1994
or 1995. I had rescued some MicroVAXes before they
disappeared into dumpsters, and decided it would be
fun to set up a system or two running Research UNIX
for my private enjoyment. (I was working at a
university that had a letter agreement for 9/e--one
of the tapes I'd made, in fact--and a certain
department head at Bell Labs decided that as long
as I didn't spread the code around, that was probably
enough to keep lawyers happy.) I made rather a raw
snapshot of the root, /usr, and the whole master
source-code area, but with /etc/passwd trimmed of
any real passwords. Some years later (and with the
help of the resulting running systems) I made a
few tar images for Warren to keep in his secret
box pending the license issue (which we were discussing
even back then). I removed some stuff that didn't
belong to Bell Labs and wasn't really part of the
system (e.g. some big mathematical packages, a huge
bolus of X11 code that had never compiled and never
would), and segregated in a separate tar image some
stuff that was arguably part of the system but that
might technically belong to others (e.g. our workhorse
C compiler was based on pcc2, work scj had done over
at USG/USL after he'd left the Research world).
None of that was really curated either, and there had
certainly been further changes to the system since
the final 1990 manual was printed, not all of which
had been properly reflected in /usr/man.
So don't call those systems distributions, because
they're not. More important, don't expect them to be
fully coherent, because they aren't: they're snapshots,
not formal releases.
First, many thanks to all people who made it possible to release v8 to
v10 and especially to Warren for bringing them together.
I went through the files in the Ninth Edition available at
http://www.tuhs.org/Archive/Distributions/Research/Norman_v9/ and I fear
that the distribution may be incomplete. The manual pages for most
sections are missing. Also, many v8 /usr/src/cmd commands are not
available in v9 /cmd. This is the list of the difference between the
2621 300 300s 4014 450 512restor ac accton Admin apply arcv arff as asa
ascii asd at awk bad144 basename bcd bundle byteyears c2 cal calendar
cb cbt cc ccom cflow cflow checkeq chgrp clri col comm compact compat
config cref crypt csh ct ctags cvcrypt cyntax daemon dcheck deroff des
descrypt diction diff3 dircmp dired dmesg dskcpy dump dumpcatch dumpdir
efl ether ex expand f77 factor false fcopy finddev flcopy fold fsplit
fstat getopt getuid graph group gsi head hideblock hist hoc hp icheck
ideal idiff inet install iostat kasb labmake last lcomp ld learn lfactor
lint load log logdir look m4 mail Mail makekey man map mesg mips mkbitfs
mkstr monk morse ncheck neqn netfsbug newer news nm number numdate oops
pack paste pcc1 PDP11 plot primes prof pstat pti ptx punct qed quot
random rarepl ratfor rcp readslow refer reloc renice reset restor rev
rp07dump rp07rest sa savecore sdb sdiff seq server settod showq snocone
spell spline split struct style sum swapon tabs tape tcat tk tp tpr tr
trace track trim tsort ul und unexpand uniq units upas uucp uudecode
uuencode v8 value view2d vis where wwb wwv xref xstr yacc yes
Anyone knows what is going on? Does someone have a more complete
distribution of the Ninth Edition that Warren can put online?
I was pleased to see the announcement from David du Colombier
<0intro(a)gmail.com> of a SIMH VAX image for the newly-released 8th
Edition Research Unix, and I had it downloaded and running in short
I compiled and ran the traditional hello-world test in C,
successfully, but the C++ and Fortran companions would not link:
# cat hello.cpp
cout << "Hello, world...this is C++" << endl;
# CC hello.cpp
cc hello.cpp -lC
ld:hello.cpp: bad magic number
I also tried extensions .C, .cxx, and .cc, with the same error.
With Fortran, I get
# cat hello.f
print *,'hello ... This is a Fortran 77 program!'
# f77 hello.f
The missing symbols do not appear to be defined anywhere in /lib or
/usr/lib, suggesting that some V8 libraries have been lost.
David reports privately that he sees the same issues that I see.
Can anyone on this list identify the problem? Normally, Unix
compilers should supply the necessary libraries for
standard-conforming code, and f77 would silently add -lI77 and -lF77.
The C++ compiler issue seems to be quite different: adding the -v
(trace) option shows what it does:
# CC -v hello.cpp
cc -v hello.cpp -lC
+ ld -X /lib/crt0.o hello.cpp -lC -lc
ld:hello.cpp: bad magic number
The source code, rather than the object code, is passed to the loader.
This may have to do with the choice of extension: what did early C++
compilers expect for filenames?
- Nelson H. F. Beebe Tel: +1 801 581 5254 -
- University of Utah FAX: +1 801 581 4148 -
- Department of Mathematics, 110 LCB Internet e-mail: beebe(a)math.utah.edu -
- 155 S 1400 E RM 233 beebe(a)acm.org beebe(a)computer.org -
- Salt Lake City, UT 84112-0090, USA URL: http://www.math.utah.edu/~beebe/ -
All, I've just had an e-mail from someone to say that the two 10th Edition
versions we now have in the Unix Archive are missing /usr/include:
----- Forwarded message from someone -----
/usr/include is missing from both Dan's and Norman's archive. Here it
is (with a README). The timestamp on these files is:
-rw-r--r-- 1 root staff 307 Sep 3 1997 README
-rw-r--r-- 1 root staff 829440 Sep 3 1997 r70include.tar
----- End forwarded message -----
I've put these files into
Now that we have 9th Edition up and running, it would be good to see 10th
Edition also up and running. I know there are people out there who can
help with this, so this is a call out for help and for volunteers.
P.S The UUCP project is now up to 23 sites:
I have created a TUHS-related github org to store:
1). UUCP-related patched software
2). patched/maintained c-news
3). forks et al of newsreaders
Largely just to give a central locatiom.
Usual disclaimers apply...if you want me to delete the org/change
name/transfer ownership/etc just shoot me an email.
http://gewt.net Personal stuff
> If anyone has any information about 'samuel' or 'cin',
> I would be delighted to hear from him or her.
cin appears in the v9 and v10 manuals. Thus if the
program is found in the wild, there should be no
compunction about adding it to the tuhs archive.