This page contains information about a 2.11 BSD image that have been created for the PiDP-11.

Content

Information

The PiDP-11 is a miniature replica of the PDP-11/70 console, usually coupled with simh. The disk image documented on this page is actually usable with any PDP-11 emulation/simulation, but represents a version of 2.11 BSD with all of the latest patches applied. This image represent an already patched and running system, which makes the whole updating problem already solved for the normal user.

If you have any questions about the information on this page, the system image discussed here, or about 2.11 BSD in general, please contact me: Johnny Billquist, bqt@softjar.se.

Image content/configuration

The image have a generated 2.11 BSD system on it, with the following configuration: Of particular note is that both de and qe driver is installed. On boot, the system figures out if this is a Unibus or a Qbus system, and sets up the correct interface based on this.

So unless a more specialized system is generated, the image will boot and run fine on both Unibus and Qbus systems, without any changes to the image required (however, an initial configuration is still required - see below).

Getting the image

The image is available via ftp from ftp://ftp.dfupdate.se/pub/pdp11/2.11BSD/pidp/

There are two images available:

Both images are compressed with gzip.

pidp.bsd.dsk

The .dsk image is a ready to boot 1G disk image of 2.11 BSD. Nothing more is required to use this disk image. However, it is not easy to use if you already have a running system which you want to upgrade to this image. It is also already setup with a 1G disk. If it is desired to have any other size of the disk, this image is also not that suitable.

pidp.bsd.tap

The .tap image is an e11 format tape image that is bootable. There is very little required in order to install from the tape image, and it will allow you to freely choose how large a file system you want to have. It is also more suitable for upgrading an existing system with this new version of the system, without affecting other things you might already have on your system.

Configuration of simh

The configuration file for simh is nothing very special. An example, very simple config is shown below:
---8<---
set cpu 11/70
set cpu 4096
set cpu idle
set rq0 rauser=1024
set tq0 write
att -f tq0 e11 pidp.bsd.tap
att rq0 pidp.bsd.dsk
set clk 50
set dz lines=8
att dz 42,speed=*32
set xu ena
set xu type=delua
set xu mac=aa:00:04:00:ea:04
att xu en0
---8<---
Using this configuration, you can then boot either tq0 or rq0, depending on if you want to boot from the disk or the tape. Note that here it is assumed you want rq0 to be a 1G disk. Just change the number after "rauser=" to whatever size you want the disk to be, in megabytes.

Another note is that this configuration does not actually enable all the hardware that has been configured into the 2.11 BSD system. If you want to add a RP06 disks, or other magtapes, it can be a good exercise to figure this out on your own. But feel free to ping me for hints if you can't figure it all out. (And don't worry if it takes a few trials and errors, it's not immediately obvious to everyone.)

Finally, in that example config, the ethernet of the host machine is called en0. You should put in whatever is appropriate for your system.

Installing from tape

Next follows an exampe session on how to install to disk, in case you start from the tape image (user input in bold):
---8<---
sim> boot tq

70Boot from tms(0,0,0) at 0174500
: 

(See the installation instructions for 2.11 BSD for the steps
after this)
---8<---

Booting the system

The first time the system is booted, it will enter single user mode, since the system have not been configured.

If the system have been configured, it will automatically do an fsck, and then go into multiuser mode. If you desire to actually go into single user mode, you can either abort the starting up by hitting ^C at the appropriate time, or add -s as an argument to boot after aborting the automatic boot sequence.

Any change to the configuration done after the system have completed the booting will only take effect after the next boot.

Configuring 2.11 BSD

After the system have been booted, but while in single user, (especially after the first time booting), the system should be configured for your particual environment. This configuration consists of editing a number of files, listed below.

All files are provided in template form, so you just need to go into each file and change actual content.

Before editing, you will need to setup a few things in the single user environment:

The files you always should edit initially are: In addition to this, other files that you might want to edit are: Finally, there are a couple of more things you should do at first boot:

Operating the system once booted

Once the system have completed booting, the console is logged out, and you will need to log in. There are two accounts existing on the system image, and these are root and user.

You can create addition accounts, and change passwords on accounts as much as you want. There is no need to preserve the initial accounts.

Updating your running system with this image

Updating an existing system with this disk image can be fairly straight forward, assuming you are happy with the basic content and configuration of the image.

If you restore the root file system from a new tape image, remember to preserve content under /etc. Everything else should be fine to just replace. If you have built your own kernel, you want to preserve /unix and /netnix as well, and possibly rebuild these after an update.

The rest of the distribution tape are the tar files of sources, which should be fine to just unpack on a running system, and then reboot.

If you want to update, and just do that via a restore of the tar files, then remember to rebuild the system after the restore.

Generating your own system based on this image

In case you want a different configuration of your system, the existing binaries in the distrubution will not be sufficient for you. You will instead need to generate your own system.

This is a more complex task, but rest assured that all the sources and libraries for the patched versions of all components of 2.11 BSD have been included in the distribution.

For generating your own system, it is recommended that you read the appropriate 2.11 BSD document on the topic.

Additional information and suggestions

Hopefully you now have your 2.11 BSD system up and running. You may then ask yourself, where do I go from here, what can I do with this, or how does xxx work?