如何在Windows上编译和运行xv6?

我们正在接受xv6课程。 目前我们使用windows中的putty来login我们学校的linux服务器。

在那里我们改变了xv6的源码(使用vim),然后在qemu中编译和运行

make clean make make qemu-nox 

它并不总是可以连接到他们的服务器,所以我想能够编译和运行Windows(显然在某些模拟器)的xv6。

上面那种工作我可以用什么模拟器? (编辑代码,编译和运行)以及如何?

你可以在VirtualBox里面运行Linux,这样可以为你的机器提供与学校服务器上相同的环境。 然后你可以继续在qemu中运行xv6。 你需要一台性能合理的机器,尽管如此,具有4G内存的双核CPU是最低限度的尝试。

下面是如何在Windows 7(32位)上设置xv6构建环境的说明,不需要Cygwin或虚拟机。

1.安装MSYS

MSYS提供了构建所需的几个工具( bashmakeddperlgitrm

下载msys + 7za + wget + svn + git + mercurial + cvs-rev13.7z

解压到任何地方,例如~/tools/msys/

2.安装原生工具链

工具链包提供了一个gcc和binutils版本,用于构建像xv6/mkfs这样的32位Windows程序。

下载i686-w64-mingw32-gcc-4.8.0-win32_rubenvb.7z

解压到任何地方,例如~/tools/mingw32/ 。 将~/tools/mingw32/binPATH

3.安装32位ELF工具链

解压到任何地方,例如~/tools/ia32-2012.09/

4. 安装Qemu

我不确定这个Qemu二进制文件是否包含这里提到的改进的调试支持http://pdos.csail.mit.edu/6.828/2012/tools.html

5.启动bash

双击~/tools/msys/msys.bat

6.配置git和克隆xv6库

 git config --global core.autocrlf false git config --global core.eol lf git config --global core.filemode false git clone git://pdos.csail.mit.edu/xv6/xv6.git 

7.把这个补丁应用到xv6树上

  • 指向上面安装的工具
  • 修复mkfs.c所以它建立并正常工作

(使用ff2783442ea2801a4bf6c76f198f36a6e985e7dd进行修补程序测试)

8. make qemu

这将编译xv6并启动Qemu

我会去找一些类似的VM解决方案(正如TMN所建议的那样),但是如果你没有硬件来运行一个足够精确的虚拟机,那么可以尝试在Cygwin上构建它。