Running Version 7 Unix on a PDP-11 emulator
Oldskool, UNIX July 20th, 2009
Version 7 Unix, released in 1979, was the last Bell Laboratories release to see widespread distribution before the commercialization of Unix by AT&T in the early 1980s. It was originally developed for Digital Equipment Corporation‘s PDP-11 minicomputers and was later ported to other platforms.
At http://simh.trailing-edge.com I found not only a PDP-11 emulator but also a disk dump of a real 7th Edition Unix system. Yep, that UNIX is now close to 30 years old. But what’s missing are instructions on how to make it work.
So here is what I have figured out by trial and error.
First, download the source code and compile it (Linux) or if you are running Windows download the executables from here. Next, download the Version 7 Unix image and unpack it into the same directory as the PDP-11 emulator files.
Should look like this

Start the PDP-11 emulator with pdp11.exe.

Great, a whole rack of equipment in a command shell
Next, we have to set the CPU we want to emulate and the terminal interface. Type in the following commands:

The PDP-11′s CPU is now a 11/45 and our terminal has the “high-order bit” cleared. Now let’s mount the disk image and boot from the image.

Ok, it boots but something is wrong. Let’s have a quick look at the file system.

This was a very hard nut to crack but after reading the V7 manual I figured out that there are (at least) two things missing. A temp directory and a user + a user directory. Let’s fix that

ok, tmp directory fixed, let’s see what’s in the passwd file.

There is a user called dmr with a home directory set to /usr/dmr. Let’s create that. Press CTRL-D after the last unix command (^D if you use Linux)

Great, a logon prompt!

Yeah, it works! There is even a C compiler (cc) installed.
:-)
