Charon-AXP for Linux installation

Charon-AXP for Linux installation

Table of contents


Introduction

The Charon-AXP product is distributed as a self-extracting shell archive ("SHAR"). The SHAR is executed in order to unpack it. Before you can unpack the contents you must accept the EULA. The result is a set of RPM packages that are installed using the standard yum or dnf commands.

The RPM modules provide different components. Generally it is recommended to install all the RPM modules but it is possible to omit some RPM packages if they are not needed.

Charon installation consists of the following steps:

  • Host system checks (hardware and software) to ensure the host platform meets the minimum Charon-AXP installation requirements

  • Installation of any 3rd party material, for example, the utilities required for Charon-AXP

  • Running the SHAR to unpack the RPM modules and their individual installation

  • Installation of the Charon-AXP license (hardware dongle or software license)

  • Configuration of the Charon-AXP host system. It assumes creating a specific user, configuring the network, etc.


Hardware Requirements

Number of CPU cores

Each Charon-AXP emulated CPU requires a corresponding physical core. So the total number of the host CPUs must exceed the number of emulated CPUs since some of the host CPUs must be dedicated to serving Charon I/O operations and host operating system needs. If several Charon instances run in parallel, the required number of CPU cores is cumulative.

The following table lists the minimum and recommended number of CPUs required for each virtual Alpha instance (note that each Charon instance is able to run on 2 CPU cores hosts, but this configuration does not support emulation of all the virtual CPUs):

Charon-AXP product

Minimum number of host CPU cores

Recommended number of host CPU cores

Charon-AXP product

Minimum number of host CPU cores

Recommended number of host CPU cores

AlphaServer 400 - AlphaServer 4100

2

2

AlphaServer DS10/DS10L/DS15

2

2

AlphaServer DS20/DS25

4

4

AlphaServer ES40/ES45

6

8

AlphaServer GS80

10

16

AlphaServer GS160

18

32

AlphaServer GS320

34

48

When starting, the Charon-AXP software checks the available number of host CPU cores. This check is based on the maximum number of AXP CPUs that can be emulated if this number is not restricted by the "n_of_cpus" parameter. If the available number of host CPU cores is below this number, Charon-AXP will issue a warning message even if the requirements for the configured number of AXP CPUs are fulfilled. The Charon-AXP software will work despite this warning if the requirements for the configured number of AXP CPUs are fulfilled.

Disable Hyper-Threading

Hyper-threading should be switched off completely. Disable hyper-threading in the BIOS settings of the physical host or, for a VMware virtual machine, edit the virtual machine properties, select the Resources tab then select Advanced CPU. Set the Hyper-threaded Core Sharing mode to None.  If Hyper-threading cannot be disabled, please contact Stromasys support for alternative resource requirements and instructions.

CPU type and speed

Platform emulation is a complex and CPU-intensive task. The performance of the individual cores of the host processors is the single most important factor which determines the emulated CPU performance. For the best performance, Stromasys recommends using the fastest available x86_64 processors of the latest generation. At the time of writing, the current generation of Intel server processors is "4th Gen Intel Xeon® Scalable Processors". The current generation of AMD server processors is "4th Generation AMD EPYC™ Processors".

There is a trade-off between the number of cores a processor provides versus the base (or "sustained all-core") frequency – the higher the number of cores, the lower the frequency. In order to choose the best processor, you must understand the workload you wish to emulate. If your workload can be easily distributed across a large number of CPUs ("multi-threaded"), a host processor with a higher number of cores running at a lower frequency might be appropriate. If, on the other hand, your workload conists of single-threaded tasks, probably a host processor with a low number of cores running at the highest possible frequency would be best.

Both Intel and AMD processors have the capability of increasing the frequency on one or very few cores when the other cores are idle. Intel calls this "Max Turbo Frequency" and AMD calls it "Max. Boost Clock". Because the emulator consists of many threads that all need their own host CPUs, this single/few CPU turbo/boost frequency is of no consequence. You should consider only the "Base Frequency/Clock", or, if a processor is capable, the "all-core turbo/boost speed", which is the frequency that all cores can reach when under load.

in general we recommend that the CPU frequency be 3 GHz or higher.


Host memory

The minimum host memory size:

  • depends on the amount of Alpha memory to be emulated and on the number of Charon-AXP instances to be executed on one host.

  • is calculated according to the following formula:

Disk storage

The total amount of disk space required for Charon-AXP can be calculated as a sum of:

  • 500 MB for the Charon software

  • All the disk/tape image sizes plus 500 MB for the Charon software

  • The space required for the host operating system.

Keep in mind that Temporary disk storage is often needed when setting up a new emulator instance, for example for source disks backups storage, software installation kits, and others.

When virtual disks/tapes are used to represent physical disk drives / magnetic tapes, the disk/tape image files have the same size as their hardware equivalent, regardless of their degree of utilization.

Ethernet adapters

Charon-AXP networking requires dedicated host Ethernet adapters; their number must be equal to the emulated adapters to be configured in Charon-AXP. One adapter (optionally) can be left to the host for TCP/IP networking, management interface, etc.

It is also possible to use virtual network interfaces, but for performance considerations, it is recommended to use physical ones only.

Software Requirements

  • Red Hat Enterprise Linux (RHEL) and Oracle Linux 7.x to 9.x (64-bit)

  • Rocky Linux 8.x and 9.x (64-bit)

  • CentOS 7.x (64-bit)

  • Hypervisors: VMware ESXi 5.5 – 8.0; Microsoft Hyper-V; KVM (require a supported Linux operating system running in the virtual machine).
    Note that prerequisites of additional products may limit the choice of hypervisors. For example, a VE license server VM requires VMware ESXi 6.5 or higher. Please refer to the appropriate documentation.

Host system preparation

The automatic installation of updates must be disabled.  Updates to the Charon host must be done only in specific service maintenance periods established by the system administrator. Before applying new updates one must shutdown the operating system running on Charon and stop all the running Charon instances and services.

If a network-wide license (red dongle or software license) is going to be used, do the following:

  • On the license server (where the network license will reside): open port 1947 for both TCP and UDP

  • On the client, if broadcast search for remote licenses is to be used, UDP traffic from port 1947 of the license server to ports 30000-65535 of the client must be permitted

    • If stricter firewall rules are required, it is possible to open the ports 30000-65535 and 1947 only for the "/usr/sbin/hasplmd" daemon.

  • Both on license server and client: set default gateway

Please consult with your Linux User's Guide on details.

Before installation

  1. .Create a directory for the Charon-AXP distribution as shown in the following example:

    .

  2. On RHEL/CentOS 7, and RHEL 8, the "libev" package is required. If it is reported as missing during Charon installation on RHEL 7/8, check that the repository "extras" is included and enabled, if not, include and enable it. Please refer to your Linux distribution administrator's guide. The "libev" package is included in the "Base-OS" repository for RHEL/Rocky Linux 9, so there is no need to enable or install an additional repository.

    Command to enable the "extras" repository for RHEL 7.x:

Please note:

  • If you plan to install Charon-VAX on the same server, both products, Charon-AXP and Charon-VAX, must have the same build number.

  • If you upgrade from a previous version of Charon-AXP, please stop all running Charon virtual machines, uninstall Charon products and reboot the Linux server (recommended) before proceeding with the installation steps described below.

Distribution preparation

Starting with version 4.12, Charon-AXP is delivered as a self-extracting shell-archive with a file name format as follows:

# cp /tmp/charon-axp-<VER>-<BN>.<ZZ>.sh /charon_dist

where:

Item

Description

Item

Description

VER

Version of Charon-AXP product, for example 4.12

BN

Build Number of Charon-AXP product, for example 21009

ZZ

Charon-AXP target operating system identifier where:

ZZ = "el90" for RHEL/Rocky Linux 9
ZZ = "el8" for RHEL/Rocky Linux 8
ZZ = "el74" for RHEL/CentOS/Rocky Linux 7

To unpack the archive, perform the following steps:

  • Copy the package file to some location in your filesystem, for example /var/tmp/charon-axp-4.12-21009-el90.sh

  • Go to the directory where you wish to unpack the package, for example /charon_dist

  • Run the archive shell script: # sh /path/to/<archive-name>
    For example: # sh /var/tmp/charon-axp-4.12-21009-el90.sh

  • Accept the EULA. To successfully unpack the archive, the end-user license agreement must be accepted.

  • After this, the software packages making up the Charon-AXP kit will be extracted into a version-specific sub-directory of the current working directory of the user.

Example command and output:

# sh /var/tmp/charon-axp-4.12-21009.el90.sh
Verifying archive integrity... 100% MD5 checksums are OK. All good.
Uncompressing Charon-AXP for Linux, Version 4.12 (Build 21009) 100%
End User License Agreement for : STROMASYS SOFTWARE.

<...lines removed...>

Please confirm EULA (yes/no) > yes
EULA accepted
gpg: directory `/home/root/.gnupg' created
gpg: new configuration file `/home/root/.gnupg/gpg.conf' created
gpg: WARNING: options in `/home/root/.gnupg/gpg.conf' are not yet active during this run

<...lines removed...>


Example Command:

# cd /charon_dist
sh /var/tmp/charon-axp-4.12-21009-el90.sh



As a result, the new subdirectory "charon-axp-<VER>-<BN>.<ZZ>" will be created.

Switch to that directory:

# cd charon-axp-<VER>-<BN>.<ZZ>

Example:

# cd charon-axp-4.12-21009.el90

The distribution directory contains the following RPM files:

File name

Description

File name

Description

aksusbd-8.13-1.x86_64.rpm

HASP Run-time *

charon-axp-VER-BN.ZZ.x86_64.rpm

Charon-AXP

charon-license-VER-BN.ZZ.x86_64.rpm

Charon Libraries *

charon-mtd-VER-BN.ZZ.x86_64.rpm

MTD utility

charon-utils-VER-BN.ZZ.x86_64.rpm

Charon Utilities

* These packages are only required if you play to use HASP licensing. If you plan to use VE licensing, you should not install these packages.

Example:

# ls
aksusbd-8.13-1.x86_64.rpm
charon-axp-4.12-21009.el74.x86_64.rpm
charon-license-4.12-21009.el74.x86_64.rpm
charon-mtd-4.12-21009.el74.x86_64.rpm
charon-utils-4.12-21009.el74.x86_64.rpm

Installation

Issue the following command to install all the RPM files present in the directory:

yum install *.rpm

If you plan to use VE licensing, you can use the following command to only install the packages required for that:

# yum install charon-{axp,mtd,utils}-*.rpm

Enter "y" to agree to install all the listed packages.

Example:

Dependencies Resolved  

================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
aksusbd x86_64 8.13-1 /aksusbd-8.13-1.x86_64 2.9 M
charon-axp x86_64 4.12-21009 /charon-axp-4.12-21009.el74.x86_64 260 M
charon-license
x86_64 4.11-20404 /charon-license-4.12-21009.el74.x86_64 2.9 M
charon-utils
x86_64 4.11-20404 /charon-utils-4.12-21009.el74.x86_64 1.8 M
charon-mtd 
x86_64 4.11-20404 /charon-mtd-4.12-21009.68704.el74.x86_64 1.2 M 

Transaction Summary
================================================================================
Install 4 Packages

Total size: 267 M
Installed size: 267 M
Is this ok [y/d/N]: y

Check the installation process has completed successfully.

Example:

Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction (shutdown inhibited)
Installing : aksusbd-8.13-1.x86_64 1/4
Starting aksusbd (via systemctl): [ OK ]
Installing : charon-utils-4.12-21009.x86_64 2/5
Installing : charon-mtd-4.12-21009.x86_64 3/5 
Installing : charon-license-4.12-21009.x86_64 4/5 
Installing : charon-axp-4.12-21009.x86_64 5/5
Verifying : aksusbd-8.13-1.x86_64 1/5 
Verifying : charon-license-4.12-21009.x86_64 2/5 
Verifying : charon-axp-4.12-21009.x86_64 3/5 
Verifying : charon-utils-4.12-21009.x86_64 4/5
Verifying : charon-mtd-4.12-21009.x86_64 4/5 

Installed:
aksusbd.x86_64 0:8.13-1 charon-axp.x86_64 0:4.12-21009
charon-license.x86_64 0:4.12-21009 charon-utils.x86_64 0:4.12-21009
charon-mtd.x86_64 0:4.12-21009

Complete!

Re-login (as "root") to apply the PATH settings or execute the following command:

# . /etc/profile.d/charon.sh

If "PuTTY" terminal emulator is going to be used as an additional option copy the following file to your home directory:

# mkdir -p $HOME/.config/putty/sessions (if it does not already exist)
cp /opt/charon/putty/sessions/CHTERM-VT100 $HOME/.config/putty/sessions



Note that the "charon-utils" package has the following dependencies:

  • ethtool

  • bridge-utils

  • net-tools

  • iproute

  • NetworkManager

During "charon-utils" installation using "yum", these packages, with the exception of "bridge-utils", will be installed automatically from the standard repository if some of them are absent on the host system. In order to install the "bridge-utils", you must first install the EPEL (Extra Packages for Enterprise Linux) repository. Please see the EPEL web page for how to do this:

Charon-AXP home directory

By default Charon is installed in the "/opt/charon/" directory. It has the following subdirectories:

Directory

Description

/bin

Contains all the executable files

/cfg

Contains the configuration files templates

/doc

Contains the documentation

/log

Contains the log files

/disks

Contains the disk containers

/drivers

Contains the Charon drivers

The most important directory at this stage is the "/cfg" directory since it contains template configuration files with examples of typical configuration parameters and comments. This will be described in the next chapter.

Non-privileged user account creation

Create a non-privileged user account named "charon" for running Charon:

useradd -G disk,tape,cdrom,dialout,lock -c "Charon User" -m charon
# passwd charon

Any existing user can also be used to run Charon. In this case issue the following command to include this existing user into these specific groups:

usermod -G disk,tape,cdrom,dialout,lock -g <user name> <user name>

Example:

usermod -G disk,tape,cdrom,dialout,lock -g tommy tommy

If PuTTY is required for the non-privileged user, repeat the installation steps for CHTERM-VT100 (above) for the user.

Re-login to apply changes.

Please note: If the emulator will be configured to use a physical serial port ("/dev/ttyNN"), it must either be run as the root user or the non-privileged user must be a member of the dialout group. The non-privileged account created above does not allow the use of FC presentation mode (kgpsa_generic_storage). If you plan to use either of this feature, you should plan to run Charon-AXP as the root user.

Charon License Installation

Charon-AXP requires a valid product license to run the emulator. You have the choice of "VE" or "HASP" licensing. These are mutually exclusive. More information can be found below and in the CHARON-AXP for Linux Licensing section.

VE Licensing

VE licensing requires that a license server be installed and running that can serve a valid license. Stromasys recommends that you deploy a separate, dedicated system for the license server. If you need to set up a license sever, please refer to Virtual Environment (VE) License Server Documentation. If you already have a running VE license server, see the following and if necessary the CHARON-AXP for Linux Licensing section.

For Charon-AXP/VAX, the configuration of primary and (optionally) backup license server must be specified in the emulator configuration file using a text editor.

Configuration file general format:

set session license_key_id = "VE://<license-server-IP-Address>[:<port>]/[<passphrase>/]"

Description of the parameters:

  • <license-server-IP>: the IP address of the VE license server (127.0.0.1 if the VE license server is on the same host).

  • <port>: the TCP port on which the license is served (if not specified, the default port 8083 will be used).

  • <passphrase>: the passphrase of the correct product section on the license (optional). The parameter may be required for the emulator in some cases to identify the correct section.

To configure a backup license server, add the backup license server information to the same line after the primary license server information:

set session license_key_id = "VE://<primary-licserv-IP-Address>[:<port>]/<passphrase>/, VE://<backup-licserv-IP-Address>[:<port>]/<passphrase>/"

Only one backup server can be configured. The backup server typically provides a license limited to a certain number of runtime hours should the primary server become unavailable. If all valid licenses are lost or removed while an emulator is running, there is a grace period (configured on the license; default: 2 hours). The grace period is the time period during which the emulator continues to run after its license has been lost or removed. If there is no valid license after the grace period ends, the emulator will stop (this could cause data loss for a running guest system).

HASP Licensing

Regular HASP USB dongle

If the Charon license is located on a regular USB dongle, it must be connected to a "local" host USB port. "local" means either a USB port directly connected to the emulator-host, or one belonging to a USB-over-IP device, such that the USB port appears local to the emulator-host.

Please note:

  • If the Charon host is accessed remotely (Remote Desktop for example), please note that regular HASP licenses cannot be displayed or used to start a Charon virtual machine. As a workaround it is possible to install Charon as a daemon (service). This procedure will be described later.

  • The network HASP (red dongles) licenses have no restrictions with respect to remote access.

Network HASP USB dongle

If the Charon license is a network license (red USB dongle), it is possible either to connect it to the host USB port (to use it locally and provide it to other hosts on the local network at the same time) or to install it on a local network "license server" for remote access from this particular host.

If a remote license server is to be used:

  • Copy the aksusbd-8.13-1.x86_64.rpm and charon-license-4.12-<build>.<OS identifier>.x86_64.rpm files to the server (see Installation section above), for example to "/tmp".

  • Login as "root" on the server.

  • Switch to that directory.

  • Install the copied files using "yum".
    Example:

  • Connect the network HASP dongle to one of the server USB ports.

Software license

If the Charon license is a software license (SL), it is installed on the host using the following procedure:

  1. Run the hasp_srm_view utility in the following way to get the host fingerprint file ("my_host.c2v" in this example):

  2. Send the resulting file to STROMASYS. In return STROMASYS will provide you with a ".v2c" file, for example "your_license.v2c".

  3. Copy the received file to any folder on the Charon host, invoke the system default web browser and enter the URL http://localhost:1947 to display the "Sentinel Admin Control Center" (ACC) web interface. This interface allows you to view and manage the Charon licenses.

  4. In the ACC perform the following steps: select Update/Attach from the menu on the left pane then use the Browse button to select the received file and click on the Apply File button to install the license.

  5. Ensure that the software license is now visible in the "Sentinel Keys" section of the ACC.



© 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

Vadim Model
December 9, 2023

x86_64