Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Page breaks added

Anchor
TopConfigurationPage
TopConfigurationPage
Include Page
KBCOMMON:KB-CSSstyle
KBCOMMON:KB-CSSstyle

...

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 , name them meaningfully and set proper privileges.

For exampleExample:

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

...

Once the file has been created you can open it in your favorite editing tool and proceed with modification modifications 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: the lines preceeded preceded by the comment sign "#" inside the configuration files will not be interpreted. You can use this sign to debug your configuration.

...

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

Example:

set session hw_model = MicroVAX_3600

...

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

...

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

Example:

#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 instances environment. The configuration name can be any label that is meaningful. The example below shows the configuration name incorporated into  It is reported in the log file and is used to set the log file name for rotating log (see further: Rotating log (default) ).

Back to Table of Contents

...

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 configuration and log files often , plus the license number, will be requested to begin problem resolution.

...

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

...

By default CHARON-VAX utilizes a so called "rotating log" mechanism. 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 this behavior can be changed with the "set session log_file_size" and "set session log_rotation_period" commandsparameters; see more details in the "General Settings" chapter of this guide). This  

This mode is turned on if all the log parameters above are disabled (commented out) or the "session_log" parameter is pointing to a an existing directory rather than to a file. If a directory is specified, the log files will be created in that directory.

Names The names of the rotating log files are composed as follows:

...

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

Note

Only an existing directory can be used as a value of the "log" parameter.

...

Alternatively it is possible to use just a single log file. Uncomment : 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.  If the path is not specified, the log file is created in the directory from where the guest (emulated machine) is started.

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 appended each time CHARON-VAX starts:

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

...

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

...

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

set rom container="vx4k106.rom"

EEPROM stores the NVRAM content, so its container is also recommended to keep uncommented. It is highly recommended to define its location:

set eeprom container="charon.rom"

...

classpagebreak

...

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

Example:

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 lists all the parameters per model:

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

...

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

Example:

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

load operator_console OPA0

...

OptionDescription
physical_serial_line

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

MappingDescription
/dev/tty<N>
- virtual
Virtual serial lines
/dev/ttyS<N>
- onboard
Onboard serial lines
/dev/ttyUSB<N>
- modem
Modem or usb serial lines adapters
Note

The specific account for running CHARON ("charon") does not allow the usage of physical consoles, "/dev/tty<N>", as CHARON consoles. If you plan to map the CHARON console to "/dev/tty<N>" use only the "root" account for to run CHARON running.

virtual_serial_line

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

operator_consoleMapping to the current TTY 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 IF VAX 4000 and MicroVAX 3100 models are used, it is possible to configure up to 4 independent console lines: OPA0, TT0, TT1 and TT2. The main one is OPA0.

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

Exit on pressing F6

...

key

A hot key can be defined to stop the execution of the CHARON-VAX virtual machine:

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" buttonkey.

Back to Table of Contents

Disk subsystem

The next step is the configuration of the disk subsystem and mapping it to the 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, and CI controllers - in this section.

MSCP disk controllers (RQDX3, KDB50, KDM70)

...

Type of mappingDescription
"<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.

(info) 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. 

Note

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. (warning) 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")

(warning) 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 The numbers in the square brackets represent unit numbers associated with each container of the MSCP controller. For example, the line 3 of the configuration sample above, referring container #2, creates disk the "DUA2" disk. 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 the 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).

...

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.

...

# 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>" 

Div
classpagebreak


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

...

Note that versions of VAX/VMS older than 5.5-2H4 do not support the optional SCSI controller and might fail to boot if it is loaded.

Follow this link for details of NCR53C94 SCSI controller controllers configuration.

Back to Table of Contents

...

Some MSCP and SCSI controllers support tape devices, however CHARON-VAX also emulates specific MSCP tape devices such as TQK50 and TUK50.

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

TQK50 controller

Example statements to configure TQK50 are shown below:

...

The first line loads a UNIBUS BI adapter "DWBUA". Then configure Configure then the "TUK50" tape controller the same way as the TQK50.

Back to Table of Contents

Div
classpagebreak


Serial Lines

CHARON-VAX supports the following serial lines controllers: CXA16, CXB16, CXY08, DHQ11, DHV11, DZV11, DZQ11, DL11, DLV11, DZ11, DHW42-AA, DHW42-BA and DHW42-CA.

All of them are configured according to using the following template:

#load DHV11/DHV11 TXA
load DHQ11/DHV11 TXA
#load CXY08/DHV11 TXA
#load CXA16/DHV11 TXA
#load CXB16/DHV11 TXA

load physical_serial_line/chserial TXA0 line="/dev/tty0"
#load virtual_serial_line/chserial TXA0 port=10010
set TXA line[0]=TXA0

#load physical_serial_line/chserial TXA1 line="/dev/tty<N>"
#load virtual_serial_line/chserial TXA1 port=10011
#set TXA line[1]=TXA1

...

#load DHV11 TXB address=...
#load DHQ11 TXB address=...
#load CXY08 TXB address=...
#load CXA16 TXB address=...
#load CXB16 TXB address=...

The first 5 lines of the example above demonstrate loading serial line controllers of different types. The name of the controller ( in this example ) will be "TXA".

Once the controller is loaded it can be mapped to system resources (lines 6-11). The following options are available:

OptionDescription
physical_serial_line

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

MappingDescription
/dev/tty<N>
- virtual
Virtual serial lines
/dev/ttyS<N>
- onboard
Onboard serial lines
/dev/ttyUSB<N>
- modem
Modem or usb serial lines adapters
virtual_serial_line

Mapping to an IP port of CHARON-VAX.
This mapping makes it possible to connect to and disconnect from the CHARON-VAX console at any time.

The example above loads a DHQ11 serial line controller with one "TXA0" line mapped to the host virtual serial line "/dev/tty0".

Look at the line "set TXA line[0]=TXA0" in the example. This : this one and the following lines of similar syntax map the loaded virtual controller ("TXA") to instances of host serial lines ("TXA<N>").

The number of serial lines possible for each controller depends on its type and corresponds to the HP specification on of a given controller.

It is possible to load several CXA16, CXB16, CXY08, DHQ11, DHV11, DZV11, DZQ11, DL11, DLV11 and DZ11 controllers (see the lines 12-16) 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.

Div
classpagebreak


VAX 4000 and MicroVAX3100 support DHW42-AA, DHW42-BA and DHW42-CA serial lines adapters:

...

In the example above the first line loads a DELQA virtual adapter with a name named "XQA"; the . The following 2 lines map it to the host network interface "eth1".

Note that the mapping is performed in 2 steps:

  1. A mapping object "packet_port" with a name named "XQA0" is loaded and connected to the host interface "eth1" , so CHARON-VAX will use this interface for its networking
  2. The loaded DELQA virtual adapter "XQA" is connected to the "packet_port" object "XQA0"

It is possible to load several DEQNA, DESQA, DELQA, DEUNA and DELUA controllers (see the lines 4-5) 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 the HP specific HP documentation for further information.

...

Info

CHARON supports VLAN adapters. If used, proceed with their installation and configuration according to the network adapter vendor User's Guide and then use the resulting VLAN interface the same way as the regular network interface. 

Follow this link for more details of CHARON-VAX network controllers configuration.

Back to Table of Contents

Div
classpagebreak


Auto boot

CHARON-VAX can be configured to automatically boot an operating system at start up.

The MicroVAX 3100,  VAX 6310 and VAX 4000 models boot automatically if the correct boot flags are set with at the VAX console level:

>>>set halt reboot

Please check that the TOY, EEPROM and ROM containers (see above) are enabled so the console command changes are saved between upon reboots.

The ROM of certain VAXes VAX models (MicroVAX II, MicroVAX 3600, MicroVAX 3900, VAXserver 3600 and VAXserver 3900) does not allow the SRM console to accept the commands above command to enable auto booting. In this case, use a configuration file setting insteadAs a workaround, a specific setting can be defined in  the configuration file:

set bdr boot=auto

The CHARON-VAX 6000 models have a similar configuration setting:

...

Host load balance for SMP systems

The VAX 6620 through VAX 6660 models emulate 2-6 CPUs respectively. In this situation, loading of the host system can be tuned with the following configuration file settings:

SettingDescriptionExample
affinity

This setting binds the running instance of the emulator CPUs to particular host CPUs. This should be used for soft partitioning host CPU resources or for isolating multiple CHARON instances on the same host from each other.

By default the emulator instance allocates as many host CPUs as possible. 

“Affinity” overrides the default and allows explicit specification of which host CPUs will be used by the instance. Affinity does not reserve the CPU for exclusive use.

Section
Column
width320px

set session affinity = "0, 2, 4, 6"

n_of_io_cpus

Reserves host CPUs (of those specified by “affinity” parameter, if any) for use by the emulator for I/O handling.

By default the emulator instance reserves one third of available host CPUs for I/O processing (round down, at least one).

The “n_of_io_cpus” overrides the default by specifying the number of I/O host CPUs explicitly.

Section
Column
width320px

set session n_of_io_cpus = 2


Back to Table of Contents

...