mirror of
https://github.com/DoctorWkt/unix-jun72.git
synced 2026-02-13 19:44:53 +00:00
- build directory has a Makefile which does the building instead
of using various scripts in tools.
- top level Makefile builds tools and the build subdirectory
- images get installed in an images directory
- simplified build instructions documented in Readme
- tape image no longer needed in svn. built by build.
- simh now references files in the images directory.
100 lines
4.0 KiB
Plaintext
100 lines
4.0 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. Do a make. This will do several things. It will build tools/mkfs,
|
|
tools/ml and tools/apout/apout. These tools are required to build the
|
|
filesystems for 1e UNIX, and the kernel. It will create kernel sources
|
|
with some necessary patches, assemble it and build a bootable Simh memory
|
|
image which is installed into images. Finally it will build the rf0.dsk,
|
|
rk0.dsk and tape images and install these in images.
|
|
|
|
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.
|