完整的 Jailhouse 组件主要由内核模块(jailhouse.ko)、虚拟机管理程序固件(jailhouse*.bin)、管理工具(jailhouse 命令行程序及一些 Python 脚本)以及配置文件(.cell)这四部分组成。用户使用它们来启用虚拟机管理程序、创建 Cell、加载 inmate 二进制文件以及运行和停止它等。
 
使能 Jailhouse
  要使用 Jailhouse,必须首先在宿主 Linux 系统中使用 jailhouse enable SYSCONFIG.cell 加载一个全局配置文件告诉 Jailhouse 当前平台总共有哪些可用的硬件资源。执行后,原来的宿主 Linux 系统就变为了 Jailhouse 的 Root Cell。
 
   整个使能过程就是围绕如上所示的内存布局来进行的,下面我们详细分析整个过程。
enable()
 
  对于 jailhouse enable SYSCONFIG.cell 这个命令,首先会来到 tools/jailhouse.c 的 static int enable(int argc, char *argv[])