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.
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
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 email@example.com:/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:
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.