1
0
mirror of https://github.com/DoctorWkt/unix-jun72.git synced 2026-01-20 18:07:32 +00:00
2008-05-07 06:27:28 +00:00

104 lines
4.1 KiB
Plaintext

Welcome to the 1st Edition UNIX repository. Here you will find the kernel
source code and userland binaries which will allow you to run 1e UNIX on
a PDP-11 simulator.
Build Instructions
------------------
Unless otherwise noted, file and directory names refer to this repository.
1. Download the source code for the Simh simulator from here:
http://simh.trailing-edge.com/. Unpack it somewhere. Make the
BIN/ directory in Simh at the top level.
2. Copy misc/pdp11_ke.c into the Simh PDP11/ directory, and apply
the misc/KE.diff patch to the source code:
patch -l < misc/KE.diff
We have had some reports that to patch and compile on Ubuntu, you will
need to do this:
patch -p0 -l < misc/KE.diff
OSTYPE=macos make pdp11
3. In Simh, do make pdp11 to make the pdp11 simulator in the BIN/ directory.
Copy the BIN/pdp11 executable into the tools/ directory.
4. Go into tools/ and do a make. This should build tools/mkfs, tools/ml
and tools/apout/apout. Now go back up to the top level.
5. You should now have the tools required to build the filesystems for
1e UNIX, and the kernel. Run tools/imgbuild, which builds the rf0.dsk
and rk0.dsk disk images. They should be size 483328 and 2490368.
6. Run tools/assemv2 to create the kernel source with some necessary
patches in build/, to assemble it as build/a.out, and to build a
bootable Simh memory image as build/loadfile.
Running 1st Edition UNIX
------------------------
1. Run ./simh.cfg which starts the pdp11 simulator. You should see this:
PDP-11 simulator V3.7-3
./simh.cfg> #!tools/pdp11
Unknown command
Disabling CR
Disabling XQ
RF: buffering file in memory
TC0: 16b format, buffering file in memory
You will receive a login: prompt:
2. Type in root followed by <RETURN>. You should receive a # prompt.
3. Type in an ls -l command. You should see something like this:
total 6
43 sdrwr- 2 root 620 Jan 1 00:00:00 bin
42 sdrwr- 2 root 250 Jan 1 00:00:00 dev
104 sdrwr- 2 root 110 Jan 1 00:00:00 etc
114 sdrwr- 2 root 50 Jan 1 00:00:00 tmp
41 sdrwr- 7 root 70 Jan 1 00:00:00 usr
4. To shut the system down, enter ctrl-E to stop the simulator, and q to quit.
You do not need to sync the system before shutdown.
Documentation
-------------
The manuals for 1st Edition UNIX are available here:
http://www.cs.bell-labs.com/who/dmr/1stEdman.html, and
http://www.bitsavers.org/pdf/bellLabs/unix/UNIX_ProgrammersManual_Nov71.pdf
Some documentation of the internals of the 1st Edition UNIX are available here:
http://www.bitsavers.org/pdf/bellLabs/unix/PreliminaryUnixImplementationDocument
_Jun72.pdf
Details of the PDP-11/20 architecture and its peripherals can be found at:
http://www.bitsavers.org/pdf/dec/pdp11/handbooks/PDP1120_Handbook_1972.pdf
http://www.bitsavers.org/pdf/dec/pdp11/handbooks/PDP11_PeripheralsHbk_1972.pdf
The C compiler from 2nd Edition UNIX is also installed and works, but the
language is a very early dialect of C. The closest reference to the language
at this point in time is this, but it is probably 2 years too late:
http://cm.bell-labs.com/cm/cs/who/dmr/cman74.pdf
The userland binaries come from a period somewhere between the 1st and 2nd
Edition of UNIX. You may find the 2e manuals useful too:
http://www.bitsavers.org/pdf/bellLabs/unix/Unix_2nd_Edition_Manual_Jun72.pdf
Repository Layout
-----------------
pages/ - OCR'd pages from the PreliminaryUnixImplementation document
rebuilt/ - kernel source rebuilt from the OCR'd pages, as asm files
patches/ - patches to rebuilt/ files to get kernel to run
fs/ - userland binaries and files, used to make rf0.dsk and rk0.dsk
src/ - source code for userland: there is not much available
tools/ - tools and scripts to build the kernel and filesystem
build/ - build area: patched kernel files, patched filesystems
misc/ - misc. files, e.g. the Simh patch for KE11A support
notes/ - notes on the work done to get 1e UNIX to run again
diffs/ - Differences between pages/* and the high quality OCR
done by James Markevitch. Includes headers and footers.