Run the first edition of Unix (1972) through Docker by running 1 command

A couple of days ago I was looking for a way to run the first edition of Unix just so I could play around with it. To my surprise, a Docker image already existed to set everything up.

I documented everything (along with a little history on things like TTY) at https://nickjanetakis.com/blog/run-the-first-edition-of-unix-1972-with-docker.

Basically you can get everything up and running with `docker run --rm -it bahamat/unix-1st-ed` and logging in as root (this is all explained in more detail in the article).

6 thoughts on “Run the first edition of Unix (1972) through Docker by running 1 command”

  1. So, just out of curiosity – why would you want to do this? I mean, I get nostalgia and whatnot, but this isn’t like playing an old NES game or something. What would you do with this?

    Reply
  2. Add proper backspace handling, maybe `man` and it’d actually be quite usable :).

    Sure, lot of the usual tools are still missing, but .. yeah, it’s a unix system, I know this!

    Also, it still has some cool stuff, you can `cat` a dir and actually get usable results, ~~I’m guessing you could also have a lot of `ln` fun too.~~ (OTOH `cat dev/mem` seems to hang the machine)

    EDIT:
    Oh wow, no pipes yet! And redirection only works as `ls >foo`, not `ls > foo`.

    Reply
  3. The C compiler’s missing some parts 😉

    # echo “int main() { printf \”I am here!\”; return 0; } ” >/tmp/x.c
    # cat x.c
    int main() { printf “I am here!”; return 0; }
    # cc x.c
    Can’t find /usr/lib/c0
    Can’t find /usr/lib/c1
    I
    /tmp/ctm3a?
    move failed: x.o

    Reply

Leave a Comment