编译和运行Singularity操作系统

Singularity是微软研究院(Microsoft Research)的一项创新的操作系统研究项目,它几乎完全使用C#语言编写,通过开发新的技术和工具来监督和验证应用程序的执行,以达到一个更加稳固和可靠的软件平台。Singularity已在CodePlex上发布了它全部的源代码和构建工具,本文介绍了如何配置和构建Singularity,以及使用Virtual PC运行它。

前提:

1.       SingularityCodePlex站点下载源码和工具包,或者在本地下载

2.       下载和安装.NET Framework本地下载.NET Framework 3.5

3.       下载和安装Virtual PC,这可以在DreamSpark软件资源中下载得到

4.       因为源代码数量很大,所以需要保障源代码所在的分区有1.5GB以上的空间,为保证虚拟机的正常运行,你需要有512MB以上的空闲内存。

OK,准备完毕,开始配置环境吧!

解压缩Singularity的文件到一个新的文件夹,比如E:\Projects\Singulatrity

运行命令行cmd.exe(如果是Vista用户,则需要使用Administrator权限),转到Singularity的根目录,依次运行

configure.cmdbase\setenv.cmd

下一步便是执行编译源码的脚本:在当前目录(Singularity\base)执行msb Distro\Tiny.proj,此时MSBuild工具将调用Tiny.proj文件中的构建脚本,编译过程大约需要十多分钟。

使用Virtual PC运行Singularity是通过PXE来启动的,所以主机(Host)需要配置一个Loopback的网络,步骤如下:

1.       进入控制面板->添加新硬件

2.       点击下一步,选择“是”,点击下一步

3.       选择“添加新新硬件”,点击下一步

4.       选择“从列表中手动选择”,点击下一步

5.       在硬件类型中选择“网络适配器”,制造商选择“Microsoft”,在网络适配器列表中选择“Microsoft Loopback adapter

6.       点击下一步,直到完成

7.       在“网络连接”中选择刚才新添加的连接,右键点击“属性“,双击TCP/IP,更改IP地址为10.99.99.1,子网掩码为255.255.255.0,点击确定:

8.       在此网络连接对话框中选择高级,进入防火墙设置,点击“添加端口”,添加UDP端口67以及UDP端口69,点击确定。

必须的配置都已完成,最后需要复制Singularity生成的虚拟机文件并使用它的boottest脚本运行Virtual PC并载入Singularity系统:

Singularity 操作系统在虚拟机中运行的画面: