Public Repository

Last pushed: 5 months ago
Short Description
A containerized VAX-780 simulator running BSD 4.3 (with network support)
Full Description

Image contents

This image contains a compiled VAX 780 simulator (from SIMH) and a ready to run BSD 4.3 image. The BSD system is configured with a DZ terminal multiplexor, exposed as port 2323, and with tcp/ip networking.

WARNING This is not an official part of the simh project. I offer this image, and the others based on it, "as is", without no commitment to keep supporting it in the future (as though I will try my best). If you find a bug, please do not report it to the official simh mantainers unless you can reproduce it in a "non containerized" environment. If you suspect the bug is related to the containerization, please open an issue in the specific github project, git://github.com/jguillaumes/dockersimh.

Usage

The recommended way to use this image is to mount a local filesystem under the /machines volume. The container will provision automatically the BSD 4.3 disk images and will run the simulator from this directory.

Optionally, you can use an automatically provided docker volume, but please take into account the changes you make will not be consolidated by docker commit, so if you want to keep a copy of your BSD system you will have to extract the disk images using docker cp.

Create container and initial run, using a local directory to store the disk images:

docker run --name <containerName> -it -p 2323:2323 -p 2324:2324 -v <localdir>:/machines jguillaumes/simh-vaxbsd

If you want to use a docker volume, you must confirm it explicitly defining the SIMH_USE_CONTAINER environment variable:

docker run --name <containerName> -it -p 2323:2323 -p 2324:2324 -e SIMH_USE_CONTAINER=yes jguillaumes/simh-vaxbsd

The container will boot straight to BSD. The initial file system check can take a bit of time, so please be patient:

$ docker run -v ~/work/bsd:/machines -p 43023-43024:2323-2324 -it --name vaxbsd jguillaumes/simh-vaxbsd
Empty user container, providing initial OS image...
'/image/LICENSE.txt' -> './LICENSE.txt'
'/image/RA81.000.gz' -> './RA81.000.gz'
'/image/RA81VHD.001.gz' -> './RA81VHD.001.gz'
'/image/VAXBSD-README.txt' -> './VAXBSD-README.txt'
'/image/boot43' -> './boot43'
'/image/vax780.ini' -> './vax780.ini'
Uncompressing OS image file...
Uncompressing sources image file...
OS and/or source image files uncompressed, starting simulator.

VAX 11/780 simulator V4.0-0 Beta        git commit id: 7bd58c6d
Listening on port 2324
Listening on port 2323
LPT: creating new file
Eth: opened OS device eth0
================================================================
= This image will boot straight to BSD 4.3                     =
= The root account has no password set                         =
= Use the /usr/local/bin/hora command to set the correct       =
= system time and date (the builtin 'date' command is          =
= not Y2K-aware)                                               =
================================================================

Boot
: ra(0,0)vmunix
210280+67784+67648 start 0x1214
4.3 BSD UNIX #2: Fri May 22 19:08:31 MET DST 2015
    root@vaxbsd.jguillaumes.dyndns.org:/usr/sys/DOKVAX
real mem  = 67108864
SYSPTSIZE limits number of buffers to 44
avail mem = 65276928
using 44 buffers containing 360448 bytes of memory
mcr0 (el) at tr1
mcr1 (el) at tr2
uba0 at tr3
uda0 at uba0 csr 172150 vec 774, ipl 15
ra0 at uda0 slave 0
ra1 at uda0 slave 1
ra2 at uda0 slave 2
ra3 at uda0 slave 3
hl0 at uba0 csr 174400 vec 160, ipl 15
rl0 at hl0 slave 0
rl1 at hl0 slave 1
zs0 at uba0 csr 172520 vec 224, ipl 15
ts0 at zs0 slave 0
dz0 at uba0 csr 160100 vec 300, ipl 15
lp0 at uba0 csr 177514 vec 200, ipl 14
de0 at uba0 csr 174510 vec 120, ipl 15
de0: hardware address 08:00:2b:01:04:03
mba0 at tr8
hp0 at mba0 drive 0
hp1 at mba0 drive 1
hp2 at mba0 drive 2
hp3 at mba0 drive 3
Automatic reboot in progress...
Sun May 22 13:40:54 MET DST 2016
/dev/ra0a: 412 files, 4438 used, 2991 free (31 frags, 370 blocks, 0.4% fragmentation)
/dev/rra0h: 10109 files, 61890 used, 76694 free (622 frags, 9509 blocks, 0.4% fragmentation)
/dev/rra0g: 2 files, 9 used, 245216 free (16 frags, 30650 blocks, 0.0% fragmentation)
/dev/rra1c: 1990 files, 7376 used, 416926 free (350 frags, 52072 blocks, 0.1% fragmentation)
Sun May 22 13:41:29 MET DST 2016
checking quotas: done.
starting system logger
checking for core dump... /a/crash: No such file or directory

starting local daemons:May 22 13:41:30 vaxbsd savecore: /a/crash: No such file or directory
 sendmail.
preserving editor files
clearing /tmp
standard daemons: update         cronSun May 22 13:41:30 MET DST 2016
 accounting.
starting network daemons: rwhod inetd printer.
Sun May 22 13:41:31 MET DST 2016


4.3 BSD UNIX (vaxbsd) (console)

login:

You can now login as root, with no password.

To shut down the system, use:

# shutdown -h now

After shutdown the container will exit. To start again the same container, issue the command:

docker start <containerName> && docker attach <containerName>

You can also logon using the emulated multiplexor, using TELNET into the exposed 2323 port in the docker machine, which has been mapped to the port 42023 in the example:

telnet 192.168.99.100 43023
Trying 192.168.99.100...
Connected to dockerhost.
Escape character is '^]'.


Connected to the VAX 11/780 simulator DZ device, line 0




4.3 BSD UNIX (vaxbsd) (tty00)

login:

Networking

The BSD system has network support compiled in, and the simh configuration attaches the DEQNA simulated devide to eth0 in the container. It is configured as follows:

  • IP Address: 172.17.0.103 / 255.255.0.0
  • Default route: 172.17.0.1
  • Host name: vaxbsd
  • DNS Server: not set

You must update this setup to fit your configuration. If you are using the default Docker network configuration, the IP address and route will probably be OK. You will definitely have to update the nameserver information. The relevant files you will probably need to edit are:

/etc/hosts
/etc/networks
/etc/rc.local  <== Be sure to edit this file!
/etc/resolv.conf

Outbound IP access should just work. If you want to enable inbound access (ie, telnet into your VAX) you will have to add routing rules to your host OS and probably to your local router.

Copyright notice for SIMH

Copyright (c) 1993-2014, Robert M Supnik

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ROBERT M SUPNIK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Except as contained in this notice, the name of Robert M Supnik shall not be
used in advertising or otherwise to promote the sale, use or other dealings
in this Software without prior written authorization from Robert M Supnik.

Docker Pull Command
Owner
jguillaumes

Comments (0)