ACRN是一款机动的、轻量级的参考hypervisor,构建时充实思量了及时性和要害安详性,并通过开源平台优化精简了嵌入式开拓,劳务派遣管理系统,其主要由两个部门构成:hypervisor软件和设备模子,支持浩瀚的I/O设备共享。该项目为各行业的率领者提供了一个参考设计框架,可以用来构建一个开源的嵌入式hypervisor。ACRN项目标参考代码可以在GitHub( https://github.com/projectacrn)上找到。
近期,ACRN宣布了v0.1版本,该版本成果包罗:硬件支持、GVT-g、Virtio尺度、设备直通、Hypervisor 设置、ACRN新东西,以及对多个已知问题的具体说明。
v0.1版本新成果
硬件支持
硬件平台是ACRN的运行载体,除了Apollo Lake NUC,ACRN项目还支持Apollo Lake UP Squared (UP2)开拓板,UP2是一款基于英特尔Apollo Lake平台的x86制造商开拓板,主要用于物联网、家产自动化、数字标牌等应用,UP2回收了英特尔Celeron N3550 和英特尔Pentium N4200 SoC,两者都可以运行ACRN。
针对ACRN的GVT-g
该版本添加了虚拟图形支持,针对用于ACRN的GVT-g(a.k.a AcrnGT),增加了GPU共享成果,Service OS和User OS可以同时运行GPU事情负载;AcrnGT支持直接显示,Service OS和User OS可以被分派给差异的显示器,同时显示输出。显示端口支持eDP和HDMI。
支持Virtio尺度
Virtio是一个针对网卡和磁盘设备的虚拟化尺度,也可以用于其他设备的虚拟化,只有Guest的设备驱动“知道”它运行在虚拟情况中,而且与hypervisor协作。SOS和UOS能共享用一个物理网卡和物理eMMC存储设备。
ACRN Hypervisor遵循虚拟I/O设备类型,昆山软件开发,在ACRN项目中为许多要害机能设备实现I/O虚拟化。回收virtio尺度使我们可以或许重用基于Linux User OS的许多前端virtio驱动措施,大大淘汰了前端virtio驱动措施潜在的开拓事情量。为了进一步淘汰后端virtio驱动措施的开拓事情量,hypervisor提供virtio后端处事(VBS)API,昆山软件开发,从而简化了在hypervisor中直接实现virtio设备。Virtio API分成三组:DM API、virtio 后端处事(VBS)API和virtqueue (VQ)API。
支持设备直通
UOS支持如下设备的直通:
USB节制器(包罗USB2.0和3.0磁盘、键盘、鼠标);
SD卡(直接在UOS中安装、读取和写入);
融合安详引擎(CSE);
Hypervisor 设置
开拓者可以通过Kconfig参数设置hypervisor。Kconfig文件描写了构建系统中所支持的设置标记,将菜单和子菜单中的标记举办分组的逻辑组织和布局,以及打点有效设置组合的差异设置标记之间的干系。Kconfig文件漫衍在构建目次树中,这些文件按照它们的配合特征以及它们添加到设置菜单中的新标记举办组织。
ACRN新东西
该版本添加了一系列支持东西,包罗acrnctl、acrntrace、acrnlog、acrn-crashlog、acrnprobe。
已知问题
Issue 663:启动SOS/UOS后显示黑屏
ACRN(来自Clear Linux)利用的Weston显示处事器、窗口打点器和合成器大概未适当安装和启动。在ACRN GitHub Issue 663中描写了办理要领。
Issue 667:SOS/UOS间的SSD磁盘ID纷歧致
当SSD设备直通到UOS时,UOS中的SSD磁盘ID和SOS中的磁盘ID差异。在从头启动后ID也会变革。这是一个Bug。办理要领:无。对成果没有影响。这个问题将在下一个版本获得修复。
Issue 676—Hypervisor和DM版本号不正确
呼吁/usr/bin/acrn-dm—版本没有显示正确的内部版本号。办理要领:无。这个问题将在下一个版本获得修复。
作为开源项目,开拓者们在不绝地对ACRN举办优化和完善,我们等候更多开拓者插手ACRN开源社区,并向我们提交新的补丁。