Public Repository

Last pushed: 6 months ago
Short Description
A containerized VAX simulator running NetBSD 6.1.5 (with network support)
Full Description

Image contents

This image contains a compiled VAX 8600 simulator (from SIMH) and a ready to run netBSD 6.1.5 image. The netBSD system is configured with a DZ terminal multiplexor, exposed as port 2323, and with tcp/ip networking. Warning: This is a quite big image!.

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

Create container and initial run:

docker run --name <containerName> -it \
                     -p <teminal_port>:2323 \
                     -p <console_port>:2324 \
                     [-e SIMH_USE_CONTAINER=yes] \
                     [-v <my_image_directory>:/machines] \
                     jguillaumes/simh-vaxnbsd

If you do not specify a local directory to store the OS image (using -v) you must define the SIMH_USE_CONTAINER environment variable. The idea is not using a host directory to store the OS is dangerous because it would be perishable (it would be deleted with the container). If you are OK with that, simply define the mentioned environment variable and the startup procedure will create a ready to run image inside the container.

The container will boot straight to BSD.

VAX 8600 simulator V4.0-0 Beta        git commit id: 7bd58c6d
Listening on port 2324
RQ1: creating new file
Eth: opened OS device eth0
Listening on port 2323
Modem control activated
Auto disconnect activated
LPT: creating new file
============================================================
= This container will boot straight into NetBSD 6.1.5      =
= The root account initial password is 'manager'           =
============================================================
Loading boot code from internal vmb.exe

>> NetBSD/vax boot [1.11] <<
>> Press any key to abort autoboot 0
nfs_open: must mount first.
open netbsd.vax: Device not configured
> boot netbsd
1831932+87180 [169584+159303]=0x225160
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 6.1.5 (VAX8600) #3: Thu May 19 11:12:13 CEST 2016
    root@macnetbsd.jguillaumes.dyndns.org:/usr/obj/sys/arch/vax/compile/VAX8600
VAX 8600
total memory = 127 MB
avail memory = 121 MB
mainbus0 (root)
cpu0 at mainbus0: KA860, S/N 1234, Rev. G, manufactured in Unknown.
cpu0: no FPA
abus0 at mainbus0
sbi1 at abus0: SBIA Rev. 0, base address 0x20000000
uba0 at sbi1 tr3: DW780
dz0 at uba0 csr 4004760100 vec 304 ipl 15
mtc0 at uba0 csr 174500 vec 774 ipl 15
mscpbus0 at mtc0: version 5 model 5
(...)
Mounting all filesystems...
Clearing temporary files.
Updating fontconfig cache: done.
Creating a.out runtime link editor directory cache.
Checking quotas: done.
Loaded entropy from disk.
Setting securelevel: kern.securelevel: 0 -> 1
swapctl: setting dump device to /dev/ra0b
Starting virecover.
Checking for core dump...
savecore: no core dump
Starting local daemons:.
Updating motd.
Starting ntpd.
May 19 20:35:27 vaxnbsd615 ntpd[279]: restrict: error in address '::1' on line 75. Ignoring...
May 19 20:35:27 vaxnbsd615 ntpd[279]: getaddrinfo: "0.netbsd.pool.ntp.org" invalid host address, ignored
May 19 20:35:27 vaxnbsd615 ntpd[279]: restrict: error in address '0.netbsd.pool.ntp.org' on line 114. Ignoring...
May 19 20:35:27 vaxnbsd615 ntpd[279]: getaddrinfo: "1.netbsd.pool.ntp.org" invalid host address, ignored
May 19 20:35:27 vaxnbsd615 ntpd[279]: restrict: error in address '1.netbsd.pool.ntp.org' on line 116. Ignoring...
May 19 20:35:27 vaxnbsd615 ntpd[279]: getaddrinfo: "2.netbsd.pool.ntp.org" invalid host address, ignored
May 19 20:35:27 vaxnbsd615 ntpd[279]: restrict: error in address '2.netbsd.pool.ntp.org' on line 118. Ignoring...
May 19 20:35:28 vaxnbsd615 ntpd[279]: getaddrinfo: "3.netbsd.pool.ntp.org" invalid host address, ignored
May 19 20:35:28 vaxnbsd615 ntpd[279]: restrict: error in address '3.netbsd.pool.ntp.org' on line 120. Ignoring...
postsuper: warning: inet_protocols: IPv6 support is disabled: Address family not supported by protocol family
postsuper: warning: inet_protocols: configuring for IPv4 support only
Starting inetd.
Starting cron.
The following components reported failures:
    /etc/rc.d/ntpdate
See /var/run/rc.log for more information.
Thu May 19 20:36:16 CEST 2016

NetBSD/vax (vaxnbsd615) (console)

login:

You can now login as root. The password is manager. The errors reported by ntpdate can be ignored for now (until you get a correct network setup).

You can also logon using the emulated multiplexor, using TELNET into the exposed 2323 port in the docker machine:

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


Connected to the VAX 8600 simulator DZ device, line 0


NetBSD/vax (vaxnbsd615) (tty00)

login:

Networking

The NetBSD 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.200 / 255.255.0.0
  • Default route: 172.17.0.1
  • Host name: vaxnbsd615
  • DNS Server: 8.8.8.8/8.8.4.4

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/ifconfig.qe0
/etc/rc.conf <== Be sure to edit this file!
/etc/resolvconf.conf <== This is NOT a typo. It is resolvconf.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)