jailhouse命令及用法

安装 jailhouse.ko 后,会给系统注册jailhouse 命令。jailhouse 虚拟化都需要用jailhouse 命令来操作。

scilogyhunter@ubuntu1804:~/jailhouse$ sudo  insmod /lib/modules/5.3.0-28-generic/extra/driver/jailhouse.ko
scilogyhunter@ubuntu1804:~/jailhouse$ jailhouse
Usage: jailhouse { COMMAND | --help | --version }

Available commands:
   enable SYSCONFIG
   disable
   console [-f | --follow]
   cell create CELLCONFIG
   cell list
   cell load { ID | [--name] NAME } { IMAGE | { -s | --string } "STRING" }
             [-a | --address ADDRESS] ...
   cell start { ID | [--name] NAME }
   cell shutdown { ID | [--name] NAME }
   cell destroy { ID | [--name] NAME }
   cell linux CELLCONFIG KERNEL [-i | --initrd FILE]
              [-c | --cmdline "STRING"] [-w | --write-params FILE]
   cell stats { ID | [--name] NAME }
   config create [-h] [-g] [-r ROOT] [--mem-inmates MEM_INMATES]
                 [--mem-hv MEM_HV] FILE
   config collect FILE.TAR
   hardware check
scilogyhunter@ubuntu1804:~/jailhouse$

jailhouse 子命令说明:

子命令说明
hardware check检查硬件条件
cell list列出 cell 列表
config create创建配置文件
enable使能/启动 虚拟化模式
cell create创建 cell 虚拟机
cell load给虚拟机加载执行镜像
cell stats启动 cell

基础操作

  1. 安装 内核模块

sudo insmod /lib/modules/5.10.153-phytium-embeded-v2.0/jailhouse/driver/jailhouse.ko
sudo insmod /lib/modules/4.19.246-phytium-embeded-v2.0/jailhouse/driver/jailhouse.ko

  1. 启动 jailhouse

sudo jailhouse enable /etc/jailhouse/e2000q.cell

  1. 查看 cell 列表

jailhouse cell list

  1. 创建非 root cell

sudo jailhouse cell create /etc/jailhouse/e2000q-inmate-demo.cell
sudo jailhouse cell create /etc/jailhouse/e2000q-inmate-rtos64.cell;

  1. 加载非 root cell 镜像

sudo jailhouse cell load 1 /usr/local/libexec/jailhouse/demos/gic-demo.bin
sudo jailhouse cell load 1 /usr/local/libexec/jailhouse/demos/ivshmem-demo.bin
sudo jailhouse cell load 1 /usr/local/libexec/jailhouse/demos/uart-demo.bin
sudo jailhouse cell load 1 freertos64.bin --address 0x80100000;

  1. 启动非 root cell

sudo jailhouse cell start 1;

scilogyhunter@ubuntu1804:~/jailhouse$ jailhouse --help
Usage: jailhouse { COMMAND | --help | --version }

Available commands:
   enable SYSCONFIG
   disable
   console [-f | --follow]
   cell create CELLCONFIG
   cell list
   cell load { ID | [--name] NAME } { IMAGE | { -s | --string } "STRING" }
             [-a | --address ADDRESS] ...
   cell start { ID | [--name] NAME }
   cell shutdown { ID | [--name] NAME }
   cell destroy { ID | [--name] NAME }
   cell linux CELLCONFIG KERNEL [-i | --initrd FILE]
              [-c | --cmdline "STRING"] [-w | --write-params FILE]
   cell stats { ID | [--name] NAME }
   config create [-h] [-g] [-r ROOT] [--mem-inmates MEM_INMATES]
                 [--mem-hv MEM_HV] FILE
   config collect FILE.TAR
   hardware check
scilogyhunter@ubuntu1804:~/jailhouse$
scilogyhunter@ubuntu1804:~/jailhouse$ jailhouse --version
Jailhouse management tool v0.12
scilogyhunter@ubuntu1804:~/jailhouse$
scilogyhunter@ubuntu1804:~/jailhouse$ sudo jailhouse hardware check
Feature                         Availability
------------------------------  ------------------
Number of CPUs > 1              ok
Long mode                       ok
x2APIC                          ok

VT-x (VMX)                      ok
  VMX outside SMX               ok
  VMX inside SMX                missing (optional)
  IA32_TRUE_*_CLTS              ok
  NMI exiting                   ok
  Preemption timer              ok
  I/O bitmap                    ok
  MSR bitmap                    ok
  Secondary controls            ok
  Optional CR3 interception     ok
  Virtualize APIC access        ok
  RDTSCP                        ok
  Unrestricted guest            ok
  INVPCID                       ok
  XSAVES                        ok
  EPT                           ok
    4-level page walk           ok
    EPTP write-back             ok
    2M pages                    ok
    1G pages                    ok
    INVEPT                      ok
      Single or all-context     ok
  VM-exit save IA32_PAT         ok
  VM-exit load IA32_PAT         ok
  VM-exit save IA32_EFER        ok
  VM-exit load IA32_EFER        ok
  VM-entry load IA32_PAT        ok
  VM-entry load IA32_EFER       ok
  Activity state HLT            ok

VT-d (IOMMU #0)                 ok
  39-bit AGAW                   missing (optional)
  48-bit AGAW                   ok
  2M pages                      ok
  1G pages                      ok
  Queued invalidation           ok
  Interrupt remapping           ok
  Extended interrupt mode       ok

VT-d (IOMMU #1)                 ok
  39-bit AGAW                   missing (optional)
  48-bit AGAW                   ok
  2M pages                      ok
  1G pages                      ok
  Queued invalidation           ok
  Interrupt remapping           ok
  Extended interrupt mode       ok

Check passed!
scilogyhunter@ubuntu1804:~/jailhouse$
scilogyhunter@ubuntu1804:~/jailhouse$ sudo jailhouse config create rootcellcfg.c
scilogyhunter@ubuntu1804:~/jailhouse$ ls
ci               COPYING        FAQ.md      inmates       Makefile        pyjailhouse    scripts   tools
configs          Documentation  hypervisor  Kbuild        modules.order   README.md      setup.py  VERSION
CONTRIBUTING.md  driver         include     LICENSING.md  Module.symvers  rootcellcfg.c  TODO.md
scilogyhunter@ubuntu1804:~/jailhouse$
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ScilogyHunter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值