[Simh] running on Debian

Bailey, Scott scott.bailey at hpe.com
Fri Mar 4 09:58:44 EST 2016


I agree with everything Mark said. (Particularly installing libpcap-dev...)

I'm running a simh VAX 8650 on Debian stretch (although nothing has changed 
appreciably of late except maybe systemd); here are some additional 
operational notes that you might or might not find useful -- these are about 
using the executable once you've built it successfully.

1. in /etc/rc.local, I have this snippet to make sure the network tap device I 
need is ready to go:

if ! ip link show tap0 ; then
  tunctl -t tap0
  ifconfig tap0 up
  brctl addif br0 tap0
fi

Here, tap0 is the device I am setting up for my virtual VAX and br0 is my 
physical interface. (As a reminder, going through this rather than putting 
simh directly on the physical interface is what enables your virtual VAX and 
your Debian host to talk to each other.) Run this manually the first time 
(since of course it wasn't there when your system last booted, lol).

2. In my vax8600.ini file, I attach the network device like so:

set xu enable
set xu type=delua
attach xu tap:tap0

Obviously (?) if you're using an emulated Q-bus system, you'd use xq instead 
of xu (and I believe the set xu type can just be deleted).

3. I do this to my simh vax8600 executable (each time I build a new one) so 
that I can run it as a non-root user and still bind to the network device:

sudo /sbin/setcap cap_net_raw,cap_net_admin=eip /vax/vax8600

4. I use a script called "screen-vax" to start the VAX with the console 
attached to a screen session, so I generally can ignore it but have the option 
of attaching (via "screen -dr") when I actually want to do something on the 
console -- like enter a new VMS license PAK. ;-)

#!/bin/sh
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
cd /vax

# Start the simulator...

if [ "$1" = service ] ; then
  # "detach" process but do not fork (so systemd can track it)
  FLAG="-D"
else
  # detach and fork so we can go on about our business
  FLAG="-d"
fi

screen $FLAG -mh 500 /vax/vax8600

echo "Simulator terminated."
exit 0

5. If you want systemd to start your VAX automatically when your host boots, 
you can use something like this, which sits in 
/etc/systemd/system/oasis.service: (OASIS:: is the emulated VAX 8650)

[Unit]
Description=Emulated VAX OASIS::
After=network.target auditd.service
Requires=network.target
RequiresMountsFor=/vax

[Service]
Type=simple
User=sbailey
ExecStart=/vax/screen-vax service
#ExecStop=
KillMode=process

[Install]
WantedBy=multi-user.target
Alias=simh.service

A few notes about this:

- I can't remember why I put auditd.service into the "After=" directive;
- Don't forget to do "systemctl daemon-reload" after creating or editing this 
file;
- This does *NOT* do a clean shutdown of the system; luckily VMS is very 
forgiving... ;-)

Happy computing,
Scott
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5801 bytes
Desc: not available
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20160304/f51c711e/attachment.bin>


More information about the Simh mailing list