« Previous 1 2 3 4 Next »
VAX emulation with OpenVMS
Time Machine
First Login
You can now log in for the first time with the system
account and the previously assigned password. The login prompt is not shown automatically at the system console. You must first press the Enter key to make it visible. Now you can initialize and mount the other two configured disks with the following:
$ initialize dua1: DATA1 $ Initialize dua2: DATA2 $ mount/system dua1 data1 %MOUNT-I-MOUNTED, DATA1 mounted on _ADVAX$DUA1: $ mount/system dua2 data2 %MOUNT-I-MOUNTED, DATA2 mounted on _ADVAX$DUA2:
To mount the disks at every boot, you need to add them to the startup file, which OpenVMS runs on every reboot. To do so, define the terminal settings and then open the file in the editor:
set term/vt100 edit sys$manager:systartup_vms.com
You can use the mouse buttons and even the scroll buttons to move through the file. Go to the very end and add two new lines in front of $ **EXIT
:
$ mount/system dua1 data1 $ mount/system dua2 data2
You need the dollar signs, too (comment lines start with $!
). Pressing Ctrl+z saves the file and exits the editor. Alternatively, pressing F4 enters command mode; then, type write
to store and exit
to quit. The @sys$system:shutdown
command shuts down the system after you have answered a few questions.
The VMS filesystem model takes some getting used to for Unix users [3] because it has no standard filesystem tree, just several drives (duaX
) in a style similar to DOS and Windows. However, VMS stays in the same subdirectory when you change drive. For example, if you are in dua1:[ofr]
and you change to dua3
, VMS assumes dua3:[ofr]
. To do this, you would use set default
(Unix: cd
) and show default
(pwd
). In VMS, commands can be abbreviated as long as they are unique, so they are usually shortened to set def
and sh def
. All of this is case-insensitive. An overview can be found in Table 1.
Table 1
VMS Survival Kit
Unix Command | VMS Command |
---|---|
cd <dir>
|
SET DEF [.DIR]
|
cd <dir>/<subdir>
|
SET DEF [.DIR.SUBDIR]
|
cd ..
|
SET DEF [-]
|
pwd
|
SH DEF
|
ls
|
DIR
|
mkdir <dir>
|
CREATE/DIR [DIR]
|
rm
|
DEL
|
User Management
As on Linux, the system user account is only used for administrative tasks. To create a new account, first type
set def sys$system r authorize
to change to the system directory and go to the interface for editing the User Authorization File (UAF). Once there, enter the command:
UAF> add Login/password=temp/owner="FirstnameLastname"/dev=dua1/dir=[Homedir]/uic=[200,201]/flag=nodisuser/priv=all
The last part, priv = all
, basically gives the user all available privileges; the user can then type
set proc/priv=all
to escalate privileges, as with sudo
on Ubuntu Linux. exit
finishes editing the UAF. You still don't have a home directory; but you can create one with
create/dir dua1:[Homedir]
Permissions are set as follows:
set directory/owner=Login dua1:[Homedir]
When you reboot, you can log in with the new user account and use it.
Network
Right now, your VAX is an island, so it's time find a connection to the network. With the libpcap code built in, the SIMH emulator can use the computer's network interface card. However, you need to start the emulator with root privileges or ensure access to the device in some other way. The configuration is in vax.ini
, which if called with normal user privileges, gets a File open error
from SIMH. If you start vax
as root, you should see a success message:
vax.ini> attach xq eth0 Eth: opened eth0
Your VAX now has a network card.
For a long time, DEC relied on its proprietary DECnet, but at some point, it finally gave way to the facts and offered customers an optional TCP/IP stack (now, even with IPv6). Because it requires slightly more resources than the DECnet stack, you need to create a new system image with more virtual memory before you start up TCP/IP. To do so, either you can type
set proc/priv=all set def sys$system edit MODPARAMS.DAT
to assume the necessary privileges, change to the system directory, and enter edit (if your screen is full of garbage, remember to set term/vt100
), or you can use the system account and enter edit. Paste the following lines into the MODPARAMS.DAT
file
ADD_GBLPAGES=10000 ADD_GBLSECTIONS=100 ADD_NPAGEDYN=800000 ADD_NPAGEVIR=800000 MIN_SPTREQ=6000
and quit the editor by pressing Ctrl+z. Now, type
set def sys$update @autogen getdata shutdown nofeedback
to change to the update directory and generate a new system.
After the shutdown, you end up back at the emulator prompt, where you can reboot the machine using boot cpu
. Log in again as the system
user and restart the system generation utility to change another parameter:
r sys$system:sysgen SYSGEN> SET INTSTKPAGES 20 SYSGEN> WRITE CURRENT SYSGEN> EXIT
Now, when you reboot the system, all the requirements for installing TCP/IP are met. On the installation CD, a directory named TCPIP_VAX05
has the necessary software. To install it, mount the CD, go to the kit
subdirectory in TCPIP_VAX051
, and start the install:
mount/over=id dua3: set def [.TCPIP_VAX051.kit] product install * The following product has been selected: DEC VAXVMS TCPIP V5.1-15 .... Do you want to continue? [YES]
When installation is complete, you need to license the product. You can do this interactively – as described earlier – or use a call that you can copy from the email sent you by the Hobbyist program: The entire attachment is a single batch file that you could run if you manage to copy it to your VMS emulation. The TCP/IP product is called UCX, and the necessary command lines are between $ LICENSE REGISTER UCX -
and / CHECKSUM = ...
. Finally, you can type:
load UCX license @sys$manager:tcpip$config
to load the license and start the menu-driven configuration. You can then set the IP address (or choose DHCP), network mask, DNS servers, and so on. When you are done, start the services by selecting the main menu item 6. If all goes well, the result looks like Figure 3.
To enable logging in to the computer, enable the Telnet daemon in the TCP/IP menu below Client components
. It should be clear that the emulated VAX has no place on the Internet without further action.
To enable the TCP/IP services at each system boot, add @sys$manager:tcpip$config
to the startup script (as described above when mounting the disks). The entry already exists, so you just need to uncomment by removing the !
from the line with the call.
« Previous 1 2 3 4 Next »
Buy ADMIN Magazine
Subscribe to our ADMIN Newsletters
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Most Popular
Support Our Work
ADMIN content is made possible with support from readers like you. Please consider contributing when you've found an article to be beneficial.