xhyve —— Mac 的虚拟技术

简介:

FreeBSD 下的虚拟技术 bhyve (The BSD Hypervisor) 包含在了 FreeBSD 10.0 发行版中。而这个 xhyve 是基于 bhyve 的 Mac OS X 移植版本,也就是说我们想在 Mac 上运行 Linux 的话除了 VirtualBox, VMware Fusion 外,现在有了第三种选择。

xhyve 超级小,只有 230 KB,不依赖其他软件或库。下面的步骤基本按照 xhyve 作者的文档 xhyve – Lightweight Virtualization on OS X Based on bhyve 实现,不过跟着别人的文档并不总会一帆风顺,虽然文档已经很详细,总有碰到自己的问题的时候,有人报告说在自己的 Macbook (OS X 10.10.3) 上运行不成功。我在测试的过程中遇到的一个问题是硬盘分区问题,稍后会提到。我的编译和测试环境是 OS X Yosemite 10.10.4 + Xcode 6.3.2.

xhyve 发布的是源代码,需要编译后运行,所以 Mac 上没有安装 Xcode 的话需要先到 App Store 安装。

使用 git 下载源码后编译,运行 xhyverun.sh 后会启动一个简单的 Tiny Core Linux 虚拟机:

$ git clone https://github.com/mist64/xhyve.git
$ cd xhyve
$ make
$ ./xhyverun.sh

架构:

+----------------------------------------------------------+
   | xhyve                                                    |
   |                                                          |
   |                            I/O                           |
   |                                                          |
   |                                                          |
   |                                                          |
   |+--------------------------------------------------------+|
   ||  vmm                   VMX guest                       ||
   ||                          Timers                        ||
   ||                        Interrupts                      ||
   |+--------------------------------------------------------+|
   +----------------------------------------------------------+
   +----------------------------------------------------------+
   |                   Hypervisor.framework                   |
   +----------------------------------------------------------+
                                 A
                                 |                         user
   ------------------------------┼------------------------------
                                 |syscall            xnu kernel
                                 V

                              VMX host
                          VMX nested paging

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
Web App开发
Mac 技术篇-触控板双指前进后退手势设置方法,mac关闭chrome浏览器双指返回手势实例演示
Mac 技术篇-触控板双指前进后退手势设置方法,mac关闭chrome浏览器双指返回手势实例演示
2169 0
Mac 技术篇-触控板双指前进后退手势设置方法,mac关闭chrome浏览器双指返回手势实例演示
|
2月前
|
TensorFlow 算法框架/工具 iOS开发
手把手教你-MAC虚拟环境搭建TensorFlow开发环境
手把手教你-MAC虚拟环境搭建TensorFlow开发环境
72 0
|
6月前
|
网络协议 安全 Linux
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
【内网安全】隧道技术&SSH&DNS&ICMP&SMB&上线通讯Linux&Mac
101 0
|
Java 应用服务中间件
Mac配置Tomcat及Servlet虚拟目录设置
Mac配置Tomcat及Servlet虚拟目录设置
314 0
Mac配置Tomcat及Servlet虚拟目录设置
|
Python
Mac 技术篇-Geany编辑器批量设置制表符为空格,geany设置默认制表符替换为空格
Mac 技术篇-Geany编辑器批量设置制表符为空格,geany设置默认制表符替换为空格
317 1
Mac 技术篇-Geany编辑器批量设置制表符为空格,geany设置默认制表符替换为空格
|
Web App开发 存储
Mac 技术篇-通过AppScript编写脚本实现设置快捷键打开指定程序实例演示
Mac 技术篇-通过AppScript编写脚本实现设置快捷键打开指定程序实例演示
515 0
  Mac 技术篇-通过AppScript编写脚本实现设置快捷键打开指定程序实例演示
Mac 技术篇-苹果笔记本休眠启动后WIFI连接转圈卡死置灰不可用解决方法,mac通过终端杀进程实例演示
Mac 技术篇-苹果笔记本休眠启动后WIFI连接转圈卡死置灰不可用解决方法,mac通过终端杀进程实例演示
1221 0
Mac 技术篇-苹果笔记本休眠启动后WIFI连接转圈卡死置灰不可用解决方法,mac通过终端杀进程实例演示
|
Linux Python Windows
Python 技术篇-用flask服务实现mac本地文件上传至windows服务器指定文件夹下实例演示
Python 技术篇-用flask服务实现mac本地文件上传至windows服务器指定文件夹下实例演示
396 0
Python 技术篇-用flask服务实现mac本地文件上传至windows服务器指定文件夹下实例演示
|
数据安全/隐私保护
Mac 技术篇-应用程序被锁定无法进行卸载问题解决方法,文件、文件夹被锁定无法移入废纸篓处理方法,卡巴斯基被锁定如何进行卸载演示
Mac 技术篇-应用程序被锁定无法进行卸载问题解决方法,文件、文件夹被锁定无法移入废纸篓处理方法,卡巴斯基被锁定如何进行卸载演示
2016 0
Mac 技术篇-应用程序被锁定无法进行卸载问题解决方法,文件、文件夹被锁定无法移入废纸篓处理方法,卡巴斯基被锁定如何进行卸载演示
|
数据安全/隐私保护
mac 技术篇-修改hosts文件,hosts文件位置
mac 技术篇-修改hosts文件,hosts文件位置
2750 0
mac 技术篇-修改hosts文件,hosts文件位置