2. Installation and basic configuration

The hypervisor has to be installed onto an empty installation media. It is directly booted from the BIOS. Side-by-side installation with an existing Windows or Linux is not recommended, but possible. If an existing Windows or Linux system shall be used, assure a free partition for booting the hypervisor is required. The minimum required size for the installation media is 10 GByte.

2.1. USB stick boot medium creation

We simply recommend the Rufus tool to create the boot medium stick.

Rufus Settings for boot stick generation.

Fig. 2.1 Settings to create an acontis Hypervisor BOOT stick.

2.2. Installation

Currently, a light-weight Ubuntu derivate (Xubuntu) is used as the Hypervisor service operating system.

  • Select Install acontis RTOSVisor to install the Hypervisor, other options are not supported.

  • Follow the installation instructions.

  • Do not keep any existing Windows or Linux installation, let the installer erase previously installed OSes.

  • A user account must be created while installing the Hypervisor.

Note

A password MUST be defined!

  • After the installation has finished, you have to reboot the system.

  • When the BIOS startup finished, a boot menu is shown and the default entry Ubuntu is selected, keep this and do not boot the Hypervisor entry. This entry will be activated automatically after the first-time configuration.

  • After the first login, you may be asked to upgrade the Xubuntu version. Select Don't Upgrade

2.3. Access Hypervisor PC using Remote Desktop Connection

It’s recommended to access the hypervisor system through xrdp, if a Windows development PC is used. Windows provides a feature RDP for remote desktop access. It’s easier to copy-paste the successive shell commands through (x)RDP.

The following steps must be done in case of using xrdp:

Open shell (right click on desktop and select ‘Open Terminal here’ or press CRTL + ALT + T)

Allow firewall to open required port. All other required packages are yet included.

sudo ufw allow 3389

Now its possible to access the hypervisor system through Windows RDP.

Hint

Use the user account, which was created at install state.

Caution

To log-in remote into the hypervisor through xrdp, no other user must be logged-in into the hypervisor.

Screenshot of xrdp remote login screen.

Fig. 2.2 xrdp remote login screen.

2.4. Basic system configuration

Open shell (right click on desktop and select ‘Open Terminal here’ or press CRTL + ALT + T)

Next step we need the memory assignment (rtos-depend!) and the CPU count through the inithv script:

cd /hv/config
sudo ./inithv.sh 64 16 2

The first parameter of the inithv.sh describes the amount of assigned memory of the Rtos and the second one the shared memory pool size in MB. The third parameter (2) describes the number of CPU cores for the Rtos’es. In this example 2 cores are assigned to the rtos part.

Caution

If you get the message WARNING: CPU frequency not stable... through the execution of the inithv.sh script, you did not properly disable power settings in the BIOS. Please follow the respective instructions above (Prerequisites).

A second run of the inithv script may help in that case after! a reboot.

2.5. Setup processor count

The setup of our hypervisor assigns the last core automatically to the Rtos. In a multi OS enviroment more than the last core is needed by the Rtos’es. In this case for each additional Rtos 1 core is subtracted from the remaining count for the hypervisor.


Check grub configuration:

gedit /etc/grub.d/40_custom

Search entry linux /boot/... and check parameter maxcpus if maxcpus=2. This is the default value in our example configuration (quad-core) in this tutorial. For a quad-core CPU the first 2 cores are assigned to the hypervisor and the next 2 cores each to 1 Rtos.


Update grub:

sudo update-grub

2.6. Setup memory.config

The file memory.config describes the memory distribution of the hypervisor and the guest OS. The supplied values are in hex.

gedit /hv/config/memory.config

Change entry [Rtos] "MemorySize" to value 2000000

 [Rtos]
     "MemorySize"=dword:2000000              ; 1st RTOS
 [Rtos-End]

2.7. Setup cpu.config

The file cpu.config describes, which CPU core is assigned exclusivly to which Rtos. This is a bit mask (flags) and the supplied values are in hex.

gedit /hv/config/cpu.config

The default in this tutorial is based on a quad-core CPU. Core 1 and 2 are assigned to the Hypervisor (0x3), core 3 to RTOS2 (0x4) and core 4 to RTOS (0x8).

;-----------------------------------------------------------------------
; HV guest and Windows guest
;-----------------------------------------------------------------------
[Windows]
  "ProcessorMask"=dword:3      ; 0x3 = 0011b = core 0 + core 1 to hypervisor

;-----------------------------------------------------------------------
; RTOS
;-----------------------------------------------------------------------
[Rtos]
  "ProcessorMask"=dword:8      ; 0x8 = 1000b = core 4 to RTOS      (bit mask, bit 0 = core 0, bit 1 = core 1, ...)

[Rtos2]
  "ProcessorMask"=dword:4      ; 0x4 = 0100b = core 3 to RTOS2     (bit mask, bit 0 = core 0, bit 1 = core 1, ...)

Caution

You need to uncomment the [Rtos2] entries!

2.8. Setup hwdevbase_rtos2.config

Caution

This section shouldn’t be modified - only in special cases!

gedit /hv/config/hwdevbase_rtos2.config

Change all entries (at least 4 occurences) of [...\Rtos2\...] "Destination" to value 0x4.

Example:

 [Devices\Rtos2\RTOS Local Apic Timer\Interrupt\1]
     "Type"=dword:2
     "Id"=dword:1A
     "LocalApicType"=dword:0
     "DestinationFormat"=dword:0
     "Destination"=dword:4
     "Vector"=dword:F6

2.9. Reboot system

To get the changes effective, a reboot is required:

sudo reboot now