Found in:
http://minnie.tuhs.org/cgi-bin/utree.pl?file=1BSD/s6/man.c
this minor gem:
execl("/bin/ssp", "ssp", 0);
execl("/usr/bin/ssp", "ssp", 0);
printf("Can't find ssp!\n");
execl("/bin/cat", "cat", 0);
printf("or cat - gott in himmel!\n");
exit(1);
Not as good as "hodie natus" (Google it if you don't know of it - it's a
classic), but mildly amusing.
Noel
> From: Gregg Levine <gregg.drwho8(a)gmail.com>
> By Shoppa disk do you mean, Shoppe disk
The root pack (linked to from my page):
http://www.tuhs.org/Archive/PDP-11/Distributions/other/Tim_Shoppa_v6/unix_v…
It contains lots of V6 goodies - but not, alas, source for most of them. (E.g.
I had to disassemble the RL bootstrap(s) from it.)
> I've been trying to figure out how to attach them to the E11 one to
> bring the whole thing up.
The others are junk (see below). To boot up the root pack (I don't think I
did this at any point; I've always mounted it as a subsidiary drive) you'd
need to say:
mount dl0: unix_v6.rl02 /RL02
and then:
boot dl0:
The disk has a working RL bootstrap in block 0, it should boot OK. Then you
get to take your pick of which unix to boot! There are 7 to chose from:
77 -rwxrwxr-x 1 root 38598 Aug 22 1984 oldunix
77 -rwxrwxr-x 1 root 38504 Jul 19 1984 oldunix.25.7
77 -rwxrwxr-x 1 root 38568 Feb 20 1985 unix
74 -rwxrwxr-x 1 4 36956 Mar 9 1983 unix.jones
69 -rwxrwxr-x 1 root 34408 Aug 16 1983 unix.mlab
76 -rwxrwxr-x 1 4 38316 Sep 3 1982 unix.rxrl
68 -rwxrwxr-x 1 root 33958 Jun 6 1983 unix.tmp
and I have no idea how they all differ - or what each one expects to use for
a root device and swap device.
Looking at 'unix', it gives both rootdev and swapdev as '01000' (which is
probably the RL, I'm too lazy to grovel around in bdevsw and make sure). The
super block reports 19000 as the size of the file system, and sure enough,
swplo is reported as 045070 (19000), and nswap as 02710 (1480). So it's
probably set up to run and swap on RL/0.
> and any of the set of disks that are in the distributions portion of
> the site with his name on them?
All of the other disks in the V6 folder with his name on it:
http://www.tuhs.org/Archive/PDP-11/Distributions/other/Tim_Shoppa_v6
are junk; here's a brief rundown on each one:
copy_num1_user.rl02:
user0_backup.rl02:
user_backup2.rl02:
All very similar to the 'unlabeled' disk (below) - lots of random user files
for biology stuff, little if anything of any use/interest.
There is a file which isn't listed in the README:
unlabeled.rl02:
It looks like another /user disk, full of random biology stuff; nothing
interesting except a copy of a nice-looking Kermit written in C (by someone
at Columbia, IIRC).
junk:
An RL01 pack (the others are all RL02's); it has a boot block with PDP-11
code in it; I mounted it on a simulator and booted it, and it says it's an
RSX-11M V3.2 disk.
user01.rl02:
This is also an RSX pack (I think), but when I tried to boot it, it said
"THIS VOLUME DOES NOT CONTAIN A HARDWARE BOOTABLE SYSTEM", and since I don't
know how to mount disks under RSX-11 I left it at that.
scratch_disk_1123.rl02:
This does indeed seem to be something that was used for disk diagnostics: the
boot block contains gubble, including (in the first RL11 block) lots of words
with all ones, and a lot of 52525's.
Noel
>> From: Larry McVoy <lm(a)bitmover.com>
>> have you gotten to a point where you can rebuild the world and install
>> your newly built stuff?
> Well, I haven't tried to do that (it's not something that I'm that
> interested in), but it _should_ be possible, since the 'vanilla' V6
> distribution does include the source for pretty much everything
> (including the C compiler, assembler, loader, etc).
So, just for grins, because I was curious (after your question), I did try
recompiling the C compiler, to see what I'd get.
What I got were three files (c0, c1 and c2) which were _the exact same size_
(down to the byte) as the binaries on the V6 Research distro, but had a
number of differences when compared with 'cmp -l'. Odd!
I don't know what the differences result from (and it's too late now to dig
into why, I'm fading). I'll take a gander tomorrow and try and work it out.
Too bad the binaries in the Research distro have had their symbol tables
stripped! That would have made it much easier...
My guess is something like 'libraries in different order, so two library
routines are swapped around in the linked binary', or something like that
(given that the size is an exact match). But I'll need to dig a bit...
Noel
> OK, I have whipped up some material on how to bring V6 up under
> Ersatz-11. See here:
> http://ana-3.lcs.mit.edu/~jnc/tech/unix/V6Unix.html
New location (although the old one still works):
http://www.chiappa.net/~jnc/tech/V6Unix.html
So it turns out there was a bogon on the old version of this page: it claimed
the Windoze version of 'tar' needed Unix system mods (which is incorrect, it
was the version for V6 which needed the mods - cut and paste error). Fixed now
(it's useful to have a Windoze 'tar' because some of the old TAR files in the
archive can't be read by modern tools), and a certain amount of new material
added to the page overall.
> There is more content/pages coming: the start of an 'advanced things
> you can do to improve your V6 Unix' page
I've upgraded that somewhat to a complete page (although I'll probably add
more at some point in the future, e.g. I have a version of 'ps' which shows
sleep channels symbolically, text slots as ordinals, etc but I need to tweak
it a bit before I bring it out). The page is here:
http://www.chiappa.net/~jnc/tech/ImprovingV6.html
now, although the main page links to it too.
And I have another page coming, e.g. a 'what to look out for when you're
porting stuff to and from V6' guide. Etc, etc.
Noel
> From: John Cowan <cowan(a)mercury.ccil.org>
> If you haven't already, see
> <http://pdos.csail.mit.edu/6.828/2004/homework/hw5.html> et seqq.
I had seen a later variant of that course; I wasn't aware that an earlier one
used Unix; thanks for the pointer.
It's a bit unfortunate (from my PoV) that in the Unix coverage they seemed to
mostly focus on the low-level mechanics (e.g. how stacks are switched, etc,
etc), and not on the (to me) more interesting lessons to be learned from V6 -
most notably, how to get so much bang for so little buck! (I am convinced
that one of the primary challenges facing computer science these days is
control of complexity, but I don't want to get way off-topic, so I'll stop
there.)
Although I suppose things like that have to be covered at some point, and
they might as well do it in V6 as in anything else!
Noel
Hello, all: I'm working (long-term) on a project to bring back to life the
V6+ Unix system (it wasn't vanilla V6 - it looks like it had some PWB stuff
added) that was used on a number of machines at the Laboratory for Computer
Science at MIT in the late 70s - early 80s.
As part of that, I've been playing with bringing up V6 on a PDP11 simulator,
and have written some stuff that would probably be useful to anyone who's
interested in bringing up Unix on a PDP-11 simulator.
I used the Ersatz-11 simulator from D-Bit (for no particularly good reason,
except it runs under Windoze, and the "FAQ on the Unix Archive and Unix on
the PDP-11" page said it was the fastest).
I have been very pleased with this simulator; it is indeed fast (my simulated
11/70 runs at about 100 MIPS on a relatively elderly Athlon, which is about
30 times as fast as a real one used to :-), and it has lots of nice features
(e.g. you can TELNET in to a terminal port on the simulated PDP-11).
It also has this nice virtual device that allows a program running on the
simulated PDP-11 i) access to files in the Windows file system, and ii) to
issue commands to the emulator. I have written a V6 driver for it (should be
fairly easy to adapt to V7 or later), and a suite of Unix commands to grab a
file off the Windows file system (both binary and text mode), and issue
various commands to the simulator.
Finally, I have a number of Windows commands to do various useful things,
such as read a file off a simulated Unix V6 file system (hosted in a Windows
file), including ports of a number of Unix commands (e.g. ncheck, nm, etc); I
don't detail them all here as I don't want this email to get too long (and
boring).
I'm not sure if anyone's interested in any of this; if so, I can send
in more info (or whip up a Web page, whichever would be better).
I also ran into a number of pitfalls on the way to getting V6 running, using
RK05 disk images from the TUHS archive, and I can do a short writeup on 'How
to bring up V6 under Ersatz-11' if anyone's interested.
Noel
> On Sat, May 03, 2014 at 06:20:55PM -0400, Gregg Levine wrote:
> What he said. I believe we all are interested.
OK, I have whipped up some material on how to bring V6 up under Ersatz-11.
See here:
http://ana-3.lcs.mit.edu/~jnc/tech/unix/V6Unix.html
That page covers i) how to get the emulator, V6 Unix disks, and what you need
to do start it running, and then ii) some of the initial steps to take past
that to improve to working environment. Included in that are a couple of
things I tripped over, and how to avoid them.
The latter part assumes you want to do something more than just start it, so
you can see it start up; it includes coverage of the commands that work with
the emulator's "DOS device" to do things like read files off the host machine
into the Unix; a serious problem on V6 Unix having to do with 21st Century
dates; a 'more' command for V6 Unix (Vanilla V6 was back before the days of
video terminals... :-); the ability to TELNET into the emulator; and some
useful Windows commands (e.g. to read files out of the Unix into the host
machine, and create blank disk pack files); and finally configuration file
for the E11 emulator.
There is more content/pages coming: the start of an 'advanced things you can
do to improve your V6 Unix' page, which includes the new C compiler [the
'vanilla' V6 C compiler does not handle longs, unsigned, casts, and a bunch
of other things]; tar; the Standard I/O library; etc is already there, but
unfinished. And I have some material on things you can trip over in porting
stuff back and forth (I found some doozies trying to make V6 commands run
under Windoze), etc. But that will be later.
For now, I'm interested in hearing: of any errors or issues with the first
page; whether people find it completely incomprensible, or totally fantastic
(or whereever on the axis between them it lies); what additional topics I
should cover; etc, etc.
Let me know! And enjoy your V6 experience!
Noel
> From: Doug McIlroy <doug(a)cs.dartmouth.edu>
> I didn't realize that MIT had PDP-11 Unixes.
Yes; I don't know exactly when the first one arrived, but I'm pretty sure it
was around the end of my freshman year (i.e. the summmer of '75), because I
remember a friend showing me Unix sometime in my sophmore year, and they
already had it as a going concern then.
The first one (I think) at MIT was the 11/70 belonging to the Domain-Specific
Systems Research group at LCS (DSSR). I got a copy of theirs for the Computer
Systems Research group (CSR) at LCS, that would have been in the fall of '77.
I don't think the AI Lab ever had one; with us all together in 545 Tech Sq I
think I would have heard (although maybe the Turtle guys on the third floor
had one).
There were probably others on campus, but Unixes could be pretty small, and
MIT is big enough that the left hand wouldn't know of the right (and 545 Tech
Sq was kind of insulated from the rest of campus anyway). One I recollect on
main campus later on was somewhere in the EE department - maybe Speech? They
had the CHAOS protocols installed on it - that was later, say '79-'80 or so.
> Other places didn't worry about it, with John Lyons' V6 book being the
> biggest leak.
Not to mention things like the ACM paper, which was public domain...
> From: Win Treese <treese(a)acm.org>
> As I understood it, MIT's main objection was that they didn't want to
> get entangled in anything that would require students to sign
non-disclosure agreements.
That sounds likely.
> At some point, MIT did have a license with Western Electric that did
> not have such a requirement. I'm pretty sure it was at least V7, and
> possibly 32V; not sure about V6.
Well, I don't know about the license (MIT had a student who was an intern at
Bell, and I think a lot of stuff slipped out the back door with him :-), but
MIT definitely had V6 in 1976 or so, and V7 wasn't released until 1979. So we
had it long before V7. Plus to which I have listings of the kernel; it's
definitely pre-V7, but it's not vanilla V6, it has some other stuff in it (I
think it's probably PWB).
Noel
> V6 ... on a number of machines at the Laboratory for Computer
> Science at MIT in the late 70s - early 80s
Interesting. I didn't realize that MIT had PDP-11 Unixes. When
university CS departments were snapping up licenses right and
left, MIT demurred because AT&T licensed it as a trade secret
and MIT's lawyers (probably rightly) feared there was no way
they could keep Unix knowledge from contaminating research
projects. Other places didn't worry about it, with John Lyons'
V6 book being the biggest leak. AT&T lawyers did clamp down
on general distribution of the book, but Bell Labs eagerly
hired Lyons for a sabbatical visit.
Did MIT's lawyers relent by V6 time, or did LCS somehow
circumvent them?
Doug