Difference between revisions of "ERIKA3 on the KVM hypervisor"
(Created page with " We are porting ERIKA3 on top of the KVM hypervisor on the x86-64 platform.<br> The porting will be released in the next weeks. Category:Hypervisors") |
|||
Line 1: | Line 1: | ||
+ | == Introduction == | ||
− | + | KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). | |
− | The | + | The following part of this tutorial will explain how to build and run ERIKA3 on top of the KVM hypervisor on the x86-64 platform. |
+ | |||
+ | == Build ERIKA3 for KVM == | ||
+ | Building ERIKA3 for Xen requires building an ERIKA3 image for bare-metal as described in the following tutorial: [http://www.erika-enterprise.com/wiki/index.php?title=Bare-metal_x86-64_image 'Building a bare-metal x86-64 image']. | ||
+ | |||
+ | With reference to the RT-Druid OIL configuration, set the the platform configuration parameters to generate the bare-metal image: | ||
+ | PLATFORM = BARE | ||
+ | As for the interrupt controller configuration, KVM supports the APIC or X2APIC with the NO_TSC_DEADLINE mode (note that the X2APIC in the TSC_DEADLINE mode is not currently supported on KVM hypervisor). That is the possible OIL configuration are: | ||
+ | INT_CONTROLLER = APIC | ||
+ | or | ||
+ | INT_CONTROLLER = X2APIC { X2APIC_MODE = NO_TSC_DEADLINE; } | ||
+ | |||
+ | == Run ERIKA3 on KVM == | ||
+ | The path of the generated [http://www.erika-enterprise.com/wiki/index.php?title=Bare-metal_x86-64_image ERIKA3 bare-metal image] (e.g., <code>erika3.iso</code>) has to be used to run the KVM. | ||
+ | |||
+ | The command to run the ERIKA3 on KVM is the following: | ||
+ | kvm erika3.iso -cpu host -smp 1 -serial stdio -m 1G -no-reboot -no-shutdown | ||
+ | |||
+ | In order to pin ERIKA3 on a given CPU, use the Linux <code>taskset</code> command as follows; | ||
+ | taskset -c $CPUID kvm erika3.iso -cpu host -smp 1 -serial stdio -m 1G -no-reboot -no-shutdown | ||
+ | where <code>$CPUID</code> is the identifier of the chosen CPU. | ||
[[Category:Hypervisors]] | [[Category:Hypervisors]] |
Latest revision as of 16:23, 7 December 2018
Introduction
KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). The following part of this tutorial will explain how to build and run ERIKA3 on top of the KVM hypervisor on the x86-64 platform.
Build ERIKA3 for KVM
Building ERIKA3 for Xen requires building an ERIKA3 image for bare-metal as described in the following tutorial: 'Building a bare-metal x86-64 image'.
With reference to the RT-Druid OIL configuration, set the the platform configuration parameters to generate the bare-metal image:
PLATFORM = BARE
As for the interrupt controller configuration, KVM supports the APIC or X2APIC with the NO_TSC_DEADLINE mode (note that the X2APIC in the TSC_DEADLINE mode is not currently supported on KVM hypervisor). That is the possible OIL configuration are:
INT_CONTROLLER = APIC
or
INT_CONTROLLER = X2APIC { X2APIC_MODE = NO_TSC_DEADLINE; }
Run ERIKA3 on KVM
The path of the generated ERIKA3 bare-metal image (e.g., erika3.iso
) has to be used to run the KVM.
The command to run the ERIKA3 on KVM is the following:
kvm erika3.iso -cpu host -smp 1 -serial stdio -m 1G -no-reboot -no-shutdown
In order to pin ERIKA3 on a given CPU, use the Linux taskset
command as follows;
taskset -c $CPUID kvm erika3.iso -cpu host -smp 1 -serial stdio -m 1G -no-reboot -no-shutdown
where $CPUID
is the identifier of the chosen CPU.