mirror of
https://github.com/qrush/unix.git
synced 2025-07-23 19:19:05 +00:00
522ca282f2d9778e78026b2662de4b7a9c904664

git-svn-id: http://unix-jun72.googlecode.com/svn/trunk@271 44b2186c-a14b-0410-8c95-595313601b93
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 the images directory. You can also do a "make clean" to clean out the images/ and build/ directories. A "make clobber" will clean out the images/, build/ and tools/ directories. 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 change directories, use chdir, e.g. chdir /usr. The only editor installed is `ed'. You can find an ed tutorial in notes/edtut.txt. 5. 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 images/ - final disk and tape images to be used by the Simh simulator 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.
Languages
C
56%
Assembly
39.1%
Python
1.3%
Makefile
1.3%
Roff
1.2%
Other
1.1%