FreeBSD下的虚拟技术bhyve(TheBSDHypervisor)包含在了FreeBSD10.0发行版中。而这个xhyve是基于bhyve的MacOSX移植版本,也就是说我们想在Mac上运行Linux的话除了VirtualBox,VMwareFusion外,现在有了第三种选择。xhyve超级小,只有230KB,不依赖其他软件或库。下面的步骤基本按照xhyve作者的文档xhyve–LightweightVirtualizationonOSXBasedonbhyve实现,不过跟着别人的文档并不总会一帆风顺,虽然文档已经很详细,总有碰到自己的问题的时候,有人报告说在自己的Macbook(OSX10.10.3)上运行不成功。我在测试的过程中遇到的一个问题是硬盘分区问题,稍后会提到。我的编译和测试环境是OSXYosemite10.10.4+Xcode6.3.2.xhyve发布的是源代码,需要编译后运行,所以Mac上没有安装Xcode的话需要先到AppStore安装。使用git下载源码后编译,运行xhyverun.sh后会启动一个简单的TinyCoreLinux虚拟机:$gitclonehttps://github.com/mist64/xhyve.git$cdxhyve$make$./xhyverun.sh
架构:
+----------------------------------------------------------+ | xhyve | | | | I/O | | | | | | | |+--------------------------------------------------------+| || vmm VMX guest || || Timers || || Interrupts || |+--------------------------------------------------------+| +----------------------------------------------------------+ +----------------------------------------------------------+ | Hypervisor.framework | +----------------------------------------------------------+ A | user ------------------------------┼------------------------------ |syscall xnu kernel V VMX host VMX nested paging
评论