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 18: Line 18:
 
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 Proprerties as shown in the following figure.  
 +
[[File:Eclipse_project_properties.png|thumb|center|Figure 1: Eclipse project properties.]]
  
 
Then, select Generator properties, enable project specific settings (as shown in the next figure), and set the desired values.
 
Then, select Generator properties, enable project specific settings (as shown in the next figure), and set the desired values.
 +
[[File:Generator_properties.jpg|thumb|center|Figure 2: Generator properties.]]
  
 
The build process (started by the <code>make</code> command within the generated <code>out</code> directory) will link the ERIKA3 object file to the Jailhouse inmate library, and will create a <code>.bin</code> file.
 
The build process (started by the <code>make</code> command within the generated <code>out</code> directory) will link the ERIKA3 object file to the Jailhouse inmate library, and will create a <code>.bin</code> file.

Revision as of 14:31, 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 Proprerties 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.