Minos - 面向移动及嵌入式平台的轻量级开源ARMv8-A Hypervisor

Minos是一款面向移动和嵌入式平台的轻量级Type 1 Hypervisor,支持ARMv8-A架构。它能在同一硬件上运行多个VM,提供CPU、中断、内存、定时器和外设虚拟化。本文介绍了如何在Marvell Esspressobin和ARM FVP上编译运行Minos,以及mvm工具的使用和自定义bootimage的方法。
摘要由CSDN通过智能技术生成

Minos - Type 1 Hypervisor for ARMv8-A

笔者今天给大家介绍一款开源的轻量级的Type-1 Hypervisor,项目地址:
https://github.com/minos-project/minos-hypervisor

Minos是一款轻量级的面向移动及嵌入式系统的开源Type 1 Hypervisor, 直接运行于裸机环境。Minos实现了一套完整的虚拟化框架,可以在同一硬件平台上同时运行多个不同操作系统的VM(Linux or RTOS). Minos提供了包括CPU虚拟化; 中断虚拟化; 内存虚拟化; Timer虚拟化; 以及一些常用外设虚拟化的支持。

Minos提供一个运行于VM0上的应用程序"mvm"来支持Guest VM的管理。同时mvm提供基于virtio的半虚拟化解决方案, 支持virtio-console, virtio-blk,virtio-net等设备,当前已经同时支持64位和32位的guest VM。

Minos适用于移动及嵌入式平台,目前只支持ARMv8-A架构。硬件上支持Marvell的Esspressobin开发板,且理论上ARMv8-A + GICV3或者GICV2组合的硬件平台都可以被支持。软件调试平台支持ARM官方的Fix Virtual Platform (简称FVP), 开发者可以用ARM DS5工具来进行仿真和调试。

Download Source Code And Tools for Minos

  1. 创建工作目录

     # mkdir ~/minos-workspace
     # cd ~/minos-workspace
    
  2. 安装gcc交叉编译工具

     # wget https://releases.linaro.org/components/toolchain/binaries/latest/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
     # tar xjf gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
     # sudo mv gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu /opt
     # echo "export PATH=/opt/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu/bin:$PATH" >> ~/.bashrc
     # source ~/.bashrc
    
  3. 安装abootimg工具

     # sudo apt-get install abootimg
    

    abootimg 工具用来制作Linux VM的bootimge,mvm使用此格式image来加载linux内核,ramdisk和dtb文件

  4. 安装device tree代码编译工具

     # sudo apt-get install device-tree-compiler
    
  5. 下载Minos sample

     # git clone https://github.com/minos-project/minos-samples.git
    

    minos-sample提供了Guest VM的dts/dtb文件,以及制作好的Guest VM boot.img文件

  6. 下载Minos hypervisor 源码

     # git clone https://github.com/minos-project/minos-hypervisor.git
    
  7. 下载Linux Kernel 源码

     # git clone https://github.com/minos-project/linux-marvell.git
     # cd linux-marvell
     # git checkout -b minos origin/minos
    

    默认下载的是添加了Minos驱动的Marvell平台的Linux Kernel, 如果用的是别的硬件平台,只需要添加Minos驱动就行,下面命令可以获取Minos驱动以及必要的Kernel Patch

     # git clone  https://github.com/minos-project/minos-linux-driver.git
    
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值