Difference between revisions of "ERIKA3 on the Jailhouse hypervisor"

From ERIKA WIKI
Jump to: navigation, search
(Building ERIKA3 for Jailhouse)
(Building ERIKA3 for Jailhouse)
Line 17: Line 17:
  
 
Additionally, in case of cross-compilation, you also need to put the cross-compiler in the <code>PATH</code> and set the <code>JAILHOUSE_AARCH64_GCCPREFIX</code> environment variable equal to the cross-compiler prefix (e.g., <code>aarch64-linux-gnu-</code>).<br>
 
Additionally, in case of cross-compilation, you also need to put the cross-compiler in the <code>PATH</code> and set the <code>JAILHOUSE_AARCH64_GCCPREFIX</code> environment variable equal to the cross-compiler prefix (e.g., <code>aarch64-linux-gnu-</code>).<br>
Note that RT-Druid allows to set these variables also from within Eclipse. Just press the right mouse button on the Eclipse project and select Proprerties as shown in the following figure.  
+
Note that RT-Druid allows to set these variables also from within Eclipse. Just press the right mouse button on the Eclipse project and select Properties as shown in the following figure.  
 
[[File:Eclipse_project_properties.png|thumb|center|Figure 1: Eclipse project properties.]]
 
[[File:Eclipse_project_properties.png|thumb|center|Figure 1: Eclipse project properties.]]
  

Revision as of 13:32, 6 April 2018

Introduction

Jailhouse is a type-1 hypervisor developed by Siemens and released as Open-Source software.

The ERIKA3 RTOS currently supports Jailhouse on the following platforms:


Building ERIKA3 for Jailhouse

To build ERIKA3 for Jailhouse, you need to export the following environment variables:

  • JAILHOUSE_DIR equal to the path of the directory containing the Jailhouse built objects
  • JAILHOUSE_VERSION equal to the Jailhouse versione (e.g., 0.7)

Additionally, in case of cross-compilation, you also need to put the cross-compiler in the PATH and set the JAILHOUSE_AARCH64_GCCPREFIX environment variable equal to the cross-compiler prefix (e.g., aarch64-linux-gnu-).
Note that RT-Druid allows to set these variables also from within Eclipse. Just press the right mouse button on the Eclipse project and select Properties as shown in the following figure.

Figure 1: Eclipse project properties.

Then, select Generator properties, enable project specific settings (as shown in the next figure), and set the desired values.

Figure 2: Generator properties.

The build process (started by the make command within the generated out directory) will link the ERIKA3 object file to the Jailhouse inmate library, and will create a .bin file.

Once Jailhouse has been started, you can:

  1. Create the jailhouse cell for ERIKA3:
    sudo jailhouse cell create <cell_file>
  2. Load the ERIKA binary file in the cell:
    sudo jailhouse cell load <cell_name> <binary_file>
  3. Start ERIKA:
    sudo jailhouse cell start <cell_name>

Please, refer to the platform-specific pages for detailed building instructions.