CHARON-VAX for Linux configuration


Product Documentation and Knowledge Base - Home 


Charon-VAXCharon-AXPCharon-PDPCharon-SSPCharon-PAR

CHARON-VAX for Linux configuration

Table of Contents

Creation of your own configuration file using a template

By default, all the CHARON templates are located in the "/opt/charon/cfg" folder. Copy the appropriate template configuration file(s) to your home directory (or to any directory intended for CHARON-VAX). Name them meaningfully and set proper privileges.

For example:

$ cp /opt/charon/cfg/mv3k6.cfg.template /my_charon_cfg/my_mv3k6.cfg
$ chmod 644 /my_charon_cfg/my_mv3k6.cfg

Please do not edit the original template configuration files since they can be updated or even removed on update/deinstallation of CHARON-VAX

Once the file has been created you can open it in your favorite editing tool and proceed with modification to reflect the exact features of the system you are going to emulate.

We will review all the parameters step by step issuing some recommendations and guidelines.

Note: lines preceeded by the comment sign "#" inside the configuration files will not be interpreted. You can use this sign to debug your configuration.

VAX model specification

The first configuration statement is the specification of the exact VAX hardware model to emulate, for example:

set session hw_model = MicroVAX_3600

You must leave this line untouched.

If you create the CHARON-VAX configuration file from scratch it must be the very first uncommented line in the configuration file.

Configuration name

The next configuration statement is the "Configuration name" option:

#set session configuration_name = MicroVAX_3600

You can optionally uncomment this line to differentiate this CHARON-VAX instance from all others in a multi-instance environment. The configuration name can be any label that is meaningful. The example below shows the configuration name incorporated into the log file name.

Log file parameters

Execution of CHARON-VAX creates one log file or a set of log files reflecting the progress of its start-up and ongoing operation - start and end time of execution, system information, license and configuration details, warnings, reports on problems that may occur, etc. In case of possible problems either with the running CHARON-VAX or the emulated system configuration (such as the absence or malfunction of certain devices), the log file(s) is the primary source to be analyzed for troubleshooting. If it becomes necessary to contact Stromasys for support, the cfg and log files often will be requested to begin problem resolution.

Here is an example of a field test CHARON-VAX log file:

20150922:083215:INFO :0:000003A5:hexane.cxx(5312): session is loading built-in configuration "VAX_6610"...
20150922:083215:INFO :0:000003A6:hexane.cxx(5336): session has finished loading built-in configuration "VAX_6610".
20150922:083215:INFO :0:000003AA:hexane.cxx(5425): session is loading configuration file "vx6k610.cfg"...
20150922:083215:INFO :0:000003AB:hexane.cxx(5455): session has finished loading configuration file "vx6k610.cfg".
20150922:083215:INFO :0:000003F2:sesmgr.cxx(1394): session: default log file size limit is 4194304 bytes
20150922:083215:INFO :0:0000032B:hexane.cxx(2547): Start request received.
20150922:083216:INFO :0:000003AC:hexane.cxx(1287): session's process affinity is 000000000000000F, system affinity is 000000000000000F.
20150922:083216:INFO :0:000003D1:hexane.cxx(1541): session's I/O domain affinity is 0000000000000001, CPU domain affinity is 000000000000000E
20150922:083216:INFO :0:000003BA:ll_sentine( 725): Looking for a license key ...
20150922:083217:INFO :0:000003DC:ll_sentine( 820): ... found license key 1422726238.
20150922:083217:INFO :0:0000024D:hexane.cxx(2688): STROMASYS SA, (C) 2009-2015
20150922:083217:INFO :0:00000350:hexane.cxx(2734): CHARON-VAX (VAX 6000 Model 610), V 4.7 B 17101, Sep 22 2015 / 000.msc.sanity.tests / 1422726238
20150922:083217:INFO :0:00000336:hexane.cxx(2761): The end user of this software has agreed to STROMASYS' Terms and Conditions for Software License and Limited Warranty, as described at: http://www.stromasys.com/pub/doc/30-17-033.pdf
20150922:083217:INFO :0:0000009D:hexane.cxx(2838): License info:
CHARON product code: "CHVAX-460xx-WI".
Licensed to: "MSC".

20150922:083217:INFO :0:00000097:hexane.cxx(2847): OS Environment: Linux 3.19.8-100.fc20.x86_64 #1 SMP Tue May 12 17:08:50 UTC 2015 x86_64.
20150922:083217:INFO :0:00000098:hexane.cxx(2852): Host CPU: GenuineIntel, Family 6, Model 42, Stepping 1, Intel Xeon E312xx (Sandy Bridge), 1 Cores per Chip, 1 Threads per Core, at ~2593 MHz, 4 cpu's available
20150922:083217:INFO :0:00000099:hexane.cxx(2857): Host Memory: 4096Mb
20150922:083217:INFO :0:00000348:mscpdisk.c( 333): PUA0 is being set OFFLINE
20150922:083217:INFO :0:00000001: tpool.cxx(1370): cpu: The ACE option is omitted; enable ACE as license default.
20150922:083218:INFO :0:00000133: tpool.cxx(1602): Advanced CPU Emulation (ACE) enabled.
20150922:083218:INFO :0:0000032C:hexane.cxx(2589): "VAX_6610" started.
20150922:083300:INFO :0:00000347:mscpdisk.c(3656): PUA0 is being set ONLINE
container = "/home/charon/Charon/test/performancecomparison-66x0.vdisk"
media_type = ""
geometry = ""
use_io_file_buffering = false

The next group of parameters defines the name of CHARON-VAX log file and how CHARON-VAX will use it:

#set session log_method = append
#set session log_method = overwrite
#set session log = "MicroVAX_3600.log"

Rotating log (default)

By default CHARON-VAX utilizes a so called "rotating log". This means that a new default log file is always created each time CHARON starts and can switch to another log file if the size of the log file exceeds 64Kb (This behavior can be changed with "set session log_file_size" and "set session log_rotation_period" commands; see more details in "General Settings" chapter of this guide). This mode is turned on if all the log parameters above are disabled (commented out) or the "session_log" parameter is pointing to a directory rather than to a file. If a directory is specified, the log files will be created in that directory.

Names of the rotating log files are composed as follows:

configuration_name-YYYY-MM-DD-hh-mm-ss-xxxxxxxxx.log

If the "Configuration name" parameter described before is omitted (commented out), the log name has the following format instead:

hw_model-YYYY-MM-DD-hh-mm-ss-xxxxxxxxx.log

Note that "xxxxxxxxx" is an increasing decimal number starting from "000000000" to separate log files with the same time of creation.

Single log

Alternatively it is possible to use just a single log file. Uncomment the "set session log" line and specify the desired CHARON-VAX log file name. Optionally, a path can be added to the log file name. 

The log file can be extended ("log_method = append") or overwritten ("log_method = overwrite") by CHARON-VAX.

Below is a specification of a CHARON-VAX log file located in the "/my_logs" directory which will be overwritten each time CHARON-VAX starts:

set session log_method = overwrite
set session log = "/my_logs/my_vax.log"

TOY, ROM and EEPROM containers

The next objects to be configured are TOY, ROM and EEPROM containers (their presence depends on the VAX model). It is always recommended to enable them. If a container file of the given name does not exist, CHARON-VAX will create it. Specific paths can be added to the file name specification.

TOY means "Time of Year"; its container records time, date and some console parameters while CHARON-VAX is not running. To enable, uncomment the following line:

set toy container="charon.dat"

The ROM container stores an intermediate state of the Flash ROM and some console parameters. So its container is also recommended to keep uncommented:

set rom container="vx4k106.rom"

EEPROM stores the NVRAM content, so its container is also recommended to keep uncommented:

set eeprom container="charon.rom"

 

Emulated memory (RAM) size

The next parameter defines the amount of host memory the chosen CHARON-VAX model  reserves for the emulation:

set ram size=64

The amount of RAM is specified in MB. It cannot exceed or be lower than certain values specific for each VAX model. It is very important to keep the listed predefined increment between possible memory values.

The following table shows all the parameters:

Hardware Model

RAM size (in MB)

 

Min

Max

Default

Increment

MicroVAX_II

1

16

16

1,8,16

MicroVAX_3600

16

64

16

16

MicroVAX_3900

16

64

16

16

VAXserver_3600

16

64

16

16

VAXserver_3900

16

64

16

16

VAXserver_3600_128

32

128

32

32

VAXserver_3900_128

32

128

32

32

MicroVAX_3100_Model_96

16

128

16

16

VAXstation_4000_Model_90

16

128

16

16

VAX_4000_Model_106

16

128

16

16

VAX_6000_Model_310

32

512

32

32

VAXserver_3600_512

32

512

32

32

VAXserver_3900_512

32

512

32

32

MicroVAX_3100_Model_98

16

512

16

16

VAX_4000_Model_108

16

512

16

16

VAX_4000_Model_700

64

512

64

64

VAX_4000_Model_705

64

512

64

64

VAX_6610

128

3584

128

128

VAX_6620

128

3584

128

128

VAX_6630

128

3584

128

128

VAX_6640

128

3584

128

128

VAX_6650

128

3584

128

128

VAX_6660

128

3584

128

128

It is possible to leave the RAM line commented out. In this case the model's default RAM amount is used.

 

Console

Mapping to system resources

The next step is the specification of VAX console (OPA0) serial line:

#load physical_serial_line OPA0 line="/dev/ttyN"
#load virtual_serial_line OPA0 port=10003
load operator_console OPA0

The goal of this configuration step is to tell CHARON-VAX what host device to use as the virtual system console. The following options are available:

Option

Description

Option

Description

physical_serial_line

Mapping to host serial line, both physical and virtual. Use the following mapping for different types of host serial lines:

  • /dev/tty<N> - virtual serial lines

  • /dev/ttyS<N> - onboard serial lines

  • /dev/ttyUSB<N> - modem or usb serial lines adapters

virtual_serial_line

Mapping to an IP port of CHARON-VAX host.
Using this mapping it is possible to connect to CHARON-VAX console and disconnect from it at any time.

operator_console

Mapping to the current TTY console

The default setting is "operator_console".

Note that the VAX 4000 and MicroVAX 3100 models have a 4-line QUART adapter onboard, so their configuration for the console line looks a bit different:

#load physical_serial_line/chserial TTA0 line="/dev/tty<N>"
#load virtual_serial_line/chserial TTA0 port=10000
#set quart line[0]=TTA0 
... 

#load physical_serial_line/chserial TTA2 line="/dev/tty<N>"
#load virtual_serial_line/chserial TTA2 port=10002
#set quart line[2]=TTA2

#load physical_serial_line OPA0 line="/dev/tty<N>"
#load virtual_serial_line OPA0 port=10003

load operator_console OPA0
set quart line[3]=OPA0

In case of VAX 4000 and MicroVAX 3100 models it is possible to configure up to 4 independent console lines: OPA0, TT0, TT1 and TT2. The main one is OPA0.

Note there are a number of additional parameters for CHARON-VAX serial line configuration. Follow this link for details.

Exit on pressing F6 button

The next parameter in the template configuration file relevant to the console is the specification of a hot key to trigger an exit from CHARON-VAX:

set OPA0 stop_on = F6

It is strongly recommended to uncomment this line to provide CHARON-VAX the ability to exit by pressing the "F6" button.

Disk subsystem

The next step is configuration of the disk subsystem and mapping it to system resources using the samples given in the template configuration files.

CHARON-VAX supports MSCP, DSSI, CI and SCSI disk controllers. The examples below are for MSCP and SCSI controllers only. DSSI controllers are discussed in details in the following section, CI controllers - in this section.

MSCP disk controllers (RQDX3, KDB50, KDM70)

Below is a typical configuration sample for MSCP disk controller RQDX3:

load RQDX3 DUA

#set DUA container[0]="<file-name>.vdisk"
#set DUA container[1]="/dev/sdN"
#set DUA container[2]="/dev/srN"
#set DUA container[3]="<file-name>.iso"

#load RQDX3 DUB address=...
#load RQDX3 DUC address=...

The first line ("load RQDX3 DUA") loads disk controller RQDX3 with name DUA, followed by 4 lines showing different ways of mapping to the host resources:

Type of mapping

Description

Type of mapping

Description

"<file-name>.vdisk"

Mapping to files representing physical disks of the VAX system (disk images). 
These files can be created from scratch with "mkdskcmd" utility. Data and OS disk backups are transferred from the original system via tapes or network and restored into these container files. 
Mapping may also include the full path, for example: "/my_disks/my_boot_disk.vdisk" 

"/dev/sd<L>"

Mapping to physical disks. "L" is letter here. Be careful not to destroy all the information from the disk dedicated to CHARON-VAX by mistake! These disks can not be formatted by the host OS.

 It is also possible to use not a whole disk, but previously created partitions on it. In this case the syntax is the following: "/dev/sd<L><N>" where N is the number of partition to be used. 

Since "/dev/sd<L>" addressing is not persistent, so it is strongly recommended to use "/dev/disk/by-id/wwn-*" syntax instead to refer the disk by its WWID - especially in the enviroments utilizing FC and SAN storages (see below).

"/dev/dm-<N>"
"/dev/mapper/mpath<N>"
"/dev/mapper/disk<N>"

Mapping to multipath disk.  Be careful not to destroy all the information from the disk dedicated to CHARON-VAX by mistake.  

These disks must not be formatted by the host OS.

"/dev/disk/by-*"

Mapping to physical disk.

  • by-id (addressing by the disk ID, for example "/dev/disk/by-id/ata-ST1000DM003-9YN162_S1D01QJ4")

  • by-label (addressing by the disk label, for example "/dev/disk/by-label/MyStorage")

  • by-uuid (addressing by the disk UUID, for example "/dev/disk/by-uuid/0e808a2f-cdd3-4944-a245-f729ffd73882")

 Be careful not to destroy all the information from the disk dedicated to CHARON-VAX by mistake.

 These disks must not be formatted by the host OS.

"/dev/sr<N>"

Mapping to CD-ROMs. There are some variants of this mapping: "/dev/cdrom<N>" or "/dev/cdrom"

"<file-name>.iso"

Mapping to an ISO file for reading distribution CD-ROM images.

Numbers in the square brackets represent unit numbers associated with each container of the MSCP controller. For example, line 3 of the configuration sample above creates disk "DUA2". The maximum unit number allowed is 9999, significantly more than the original hardware provided.

It is possible to load several RQDX3 controllers DUB, DUC, etc. (see lines 6-7, above) by configuring specific addresses for them on the Qbus. Use the "CONFIGURE" utility available on the VAX console to determine the addresses. Please refer to specific HP documentation for further information.

Please also refer to HP documentation for information on placement of additional KDM70 controllers on an XMI bus (VAX 6000 models) and additional KDB50 controllers on a BI bus (VAX 6310).

Note that the KDM70 controller is capable of mapping to files representing tapes (tape images) and physical tape devices:

set PUA container[600] = "<file-name>.vtape"
set PUA container[601] = "/dev/sg<N>" 

Follow this link for details of (T)MSCP controllers configuration.

Back to Table of Contents

SCSI controller NCR53C94

The VAX 4000 and MicroVAX 3100 have an NCR53C94 SCSI controller onboard for support of different types of SCSI devices including disks and tapes. Optionally a second controller can be added.

Below is a typical configuration template for a preloaded "PKA" NCR53C94 SCSI controller:

# Mapping to disk image
load virtual_scsi_disk pka_0 scsi_bus=pka scsi_id=0
set pka_0 container="<file-name>.vdisk"

# Mapping to physical disk
load virtual_scsi_disk pka_1 scsi_bus=pka scsi_id=1
set pka_1 container="/dev/sd<L>"

# Mapping to some SCSI device connected to the host
load physical_scsi_device pka_2 scsi_bus=pka scsi_id=2
set pka_2 container="/dev/sg<N>"

# Mapping to host CD-ROM or DVD-ROM
load virtual_scsi_cdrom pka_3 scsi_bus = pka scsi_id = 3
set pka_3 container = "/dev/cdrom<N>"
#set pka_3 container = "/dev/sr<N>"

# Mapping to *.ISO image
load virtual_scsi_cdrom pka_4 scsi_bus=pka scsi_id=4
set pka_4 container="<file-name>.iso"

# Mapping to tape drive
load physical_scsi_device pka_5 scsi_bus=pka scsi_id=5
set pka_5 container="/dev/sg<N>"

# Mapping to tape image
load virtual_scsi_tape pka_6 scsi_bus=pka scsi_id=6
set pka_6 container="<file-name>.vtape"

# Include this line to get access to "PKB" adapter
include kzdda.cfg

# Mapping to host floppy drive
load virtual_scsi_disk pkb_6 scsi_bus=pkb scsi_id=6
set pkb_6 container="/dev/fd<N>" 

 

Note that NCR53C94 SCSI controller mapping to system resources is done via specific auxiliary objects:

Mapping Object

Description

Mapping Object

Description

virtual_scsi_disk

Mapping to a file representing VAX disk (disk image) on the host physical disk:

  • "<file-name>.vdisk"
    These files can be created from scratch with "mkdskcmd" utility. Data and OS disk backups are transferred from the original system via tapes or network and restored into these container files. Mapping may also include the full path, for example: "/my_disks/my_boot_disk.vdisk"

  • "/dev/sd<L>" - name of a physical disk. "L" is letter here.

  • "/dev/dm-<N>", "/dev/mapper/mpath<N>", "/dev/mapper/disk<N>" - for multipath disks. N is 0,1,2...

  • "/dev/disk/by-id/..." - addressing by the disk ID, for example "/dev/disk/by-id/ata-ST1000DM003-9YN162_S1D01QJ4"

  • "/dev/disk/by-label/..." - addressing by the disk label, for example "/dev/disk/by-label/MyStorage"



© Stromasys, 1999-2025  - All the information is provided on the best effort basis, and might be changed anytime without notice. Information provided does not mean Stromasys commitment to any features described. 
Need fast, reliable migration? We have done it countless times. Talk to an expert