All Projects → qrush → Unix

qrush / Unix

Mirror of the Restoration of 1st Edition UNIX kernel sources from pdf document.

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Unix

Walk
A fast, general purpose, graph based build and task execution utility.
Stars: ✭ 108 (-79.39%)
Mutual labels:  make, unix
Lsp
lsp is like ls command but more human-friendly
Stars: ✭ 498 (-4.96%)
Mutual labels:  unix
Kirc
A tiny IRC client written in POSIX C99.
Stars: ✭ 416 (-20.61%)
Mutual labels:  unix
Mario
Powerful Python pipelines for your shell
Stars: ✭ 469 (-10.5%)
Mutual labels:  unix
Jtc
JSON processing utility
Stars: ✭ 425 (-18.89%)
Mutual labels:  unix
Sysinfo
A system handler to get information and interact with processes written in Rust
Stars: ✭ 479 (-8.59%)
Mutual labels:  unix
Aquila
AquilaOS: UNIX-like Operating System
Stars: ✭ 413 (-21.18%)
Mutual labels:  unix
Whipper
Python CD-DA ripper preferring accuracy over speed
Stars: ✭ 517 (-1.34%)
Mutual labels:  unix
Asynctasks.vim
🚀 Modern Task System for Project Building, Testing and Deploying !!
Stars: ✭ 495 (-5.53%)
Mutual labels:  make
Sloth
Mac app that shows all open files, directories, sockets, pipes and devices in use by all running processes. Nice GUI for lsof.
Stars: ✭ 4,549 (+768.13%)
Mutual labels:  unix
S6
The s6 supervision suite.
Stars: ✭ 452 (-13.74%)
Mutual labels:  unix
Websync
websync is intended to be an rsync manager, where rsync tasks can be added, scheduled and maintained in a sane manner.
Stars: ✭ 432 (-17.56%)
Mutual labels:  unix
Privilege Escalation Awesome Scripts Suite
PEASS - Privilege Escalation Awesome Scripts SUITE (with colors)
Stars: ✭ 7,144 (+1263.36%)
Mutual labels:  unix
Checkmake
experimental linter/analyzer for Makefiles
Stars: ✭ 420 (-19.85%)
Mutual labels:  make
Unix History Repo
Continuous Unix commit history from 1970 until today
Stars: ✭ 4,851 (+825.76%)
Mutual labels:  unix
Rm Protection
A safe alternative for "rm".
Stars: ✭ 416 (-20.61%)
Mutual labels:  unix
Elvish
Elvish = Expressive Programming Language + Versatile Interactive Shell
Stars: ✭ 4,568 (+771.76%)
Mutual labels:  unix
Gtfobins.github.io
GTFOBins is a curated list of Unix binaries that can be used to bypass local security restrictions in misconfigured systems
Stars: ✭ 6,030 (+1050.76%)
Mutual labels:  unix
Freac
The fre:ac audio converter project
Stars: ✭ 518 (-1.15%)
Mutual labels:  unix
Godirwalk
Fast directory traversal for Golang
Stars: ✭ 504 (-3.82%)
Mutual labels:  unix

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/. Make sure that you download version 3.8-0 or later; earlier versions need patches to work.

  2. Unpack Simh somewhere. Make the BIN/ directory in Simh at the top level. Do make pdp11 to make the pdp11 simulator in the BIN/ directory. Copy the BIN/pdp11 executable into the tools/ directory.

  3. Return to the 1st Edition top-level directory. 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 the kernel and build a bootable Simh memory image which is installed into the images directory. Finally, the make 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.8-0 ./simh2.cfg> #!tools/pdp11 Unknown command Disabling CR Disabling XQ RF: buffering file in memory TC0: 16b format, buffering file in memory Listening on port 5555 (socket 7)

    You will receive a login: prompt:

  2. Type in root followed by . 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 log in multiple times, telnet to localhost port 5555. The system is configured to allow 8 remote logins.

  6. 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: https://www.bell-labs.com/usr/dmr/www/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: https://www.bell-labs.com/usr/dmr/www/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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].