Adding Linux To A PDP-11

The UNIBUS architecture for DEC’s PDPs and Vaxxen was a stroke of genius. If you wanted more memory in your minicomputer, just add another card. Need a drive? Plug it into the backplane. Of course, with all those weird cards, these old UNIBUS PDPs are hard to keep running. The UniBone is the solution to this problem. It puts Linux on a UNIBUS bridge, allowing this card to serve as a memory emulator, a test console, a disk emulator, or any other hardware you can think of.

The key to this build is the BeagleBone, everyone’s second-favorite single board computer that has one feature the other one doesn’t: PRUs, or a programmable real-time unit, that allows you to blink a lot of pins very, very fast. We’ve seen the BeagleBone be used as Linux in a terminal, as the rest of the computer for an old PDP-10 front panel and as the front end for a PDP-11/03.

In this build, the Beaglebone’s PRU takes care of interfacing to the UNIBUS backplane, sending everything to a device emulator running as an application. The UniBone can be configured as memory or something boring, but one of these can emulate four RL02 drives, giving a PDP-11 an amazing forty megabytes of storage. The real killer app of this implementation is giving these emulated drives a full complement of glowing buttons for load, ready, fault, and write protect, just like the front of a real RL02 drive. This panel is controlled over the I2C bus on the Beaglebone, and it’s a work of art. Of course, emulating the drive means you can’t use it as the world’s largest thumb drive, but that’s a small price to pay for saving these old computers.

14 thoughts on “Adding Linux To A PDP-11

  1. I worked for DEC back in the day, and back when the prop time of signals over a bit of wire wasn’t such a big deal, the asynchronous nature of the Unibus was indeed genius. It was easy to have multiple bus masters, varying response speeds for things, and as long as you didn’t drive a bus already in the middle of a cycle, it was yours to toy with. I reused the…hmm, protcol?… in several later designs with motorola 68k chips and bit-slice as it was so useful even in multi processor setups even if they weren’t all the same kind.
    When the first winchester disks came out, an outfit even hired me to help them design controllers for Unibus as it was “mysterious” to their engineers ;~). Nice paycheck, but I moved on. It’s a really simple, elegant design.

    1. In my undergrad computer systems architecture class (back in 1979), we used the PDP-11 as a case-study for the class. I really did come to appreciate the UNIBUS design from a theoretical viewpoint (and then, later with much more hands-on with bus grant cards and wire-wrap tools). I have a vivid memory of an example question where we were to describe what the SSYN (Slave Sync) signal on the bus was used for. I knew the answer to that question at the time, not quite a sure these days..

  2. Yesh. Am I the only one to not get nostalgic when I hear PDP-x? I still get an eye twitch thinking about the old PDP-8 that we had to use in our lab. Octal bootstrap entered from the front panel, 8″ floppies with hundreds of K of storage (Wow! :-P), programs on paper tape that we traded on DECUS, 1K of core memory that would have to be scrubbed (literally) to knock off the rust, etc.
    Actually thinking about it now those experiences makes me appreciate modern computing MUCH more.

    Reading this article makes me think that there is somebody out there who has in fact gotten Linux to run on a dead badger. He or she is probably not posting it for fear of PETA.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.