【问题标题】:How to compile and run xv6 on windows?如何在windows上编译和运行xv6?
【发布时间】:2011-11-23 23:09:47
【问题描述】:

在我们的课程中,我们正在学习xv6。目前我们在windows中使用putty登录我们学校的linux服务器。

我们在 xv6 的源代码中进行更改(使用 vim),然后在 qemu 中简单地编译和运行它

make clean
make
make qemu-nox

并不总是可以连接到他们的服务器,因此我希望能够在 windows 下编译和运行 xv6(显然在某些模拟器中)。

我可以使用什么模拟器来完成上述工作? (编辑代码,编译和运行)以及如何?

【问题讨论】:

标签: windows unix compilation virtual-machine xv6


【解决方案1】:

您可以在VirtualBox 中运行 Linux,这将在您的机器上为您提供与学校服务器上相同的环境。然后你可以继续在 qemu 中运行 xv6。不过,您需要一台功能相当强大的机器——我会尝试使用具有 4G 内存的双核 CPU。

【讨论】:

  • 我只有 1 GB 内存。这可能无济于事,因为我将在模拟器 (VirtualBox) 中运行模拟器 (qemu)
  • VirtualBox 不是模拟器,它是虚拟机。很大的区别。鉴于如今 RAM 如此便宜,升级笔记本电脑的 RAM 可能是值得的。
【解决方案2】:

我也会选择某种 VM 解决方案(如 TMN 建议的那样),但如果您没有运行足够规格的 VM 的硬件,则可能值得尝试在 Cygwin 上构建它。

【讨论】:

  • 我觉得Cygwin很难用,安装后,能不能按照我问题里说的做(make and run on qemu)?
  • 嗯,有windows的qemu版本,构建xv6需要gcc。 GCC 由 Cygwin 提供。它会工作吗?我不知道,但您可以尝试一下。
【解决方案3】:

嗯,网站http://www.cs.mta.ac.il/~carmi/Teaching/OS.xv6/index.html有关于如何在Windows下构建和使用XV6环境的合理说明。 他们用于实际运行它的模拟器是 Bochs。

【讨论】:

  • 链接失效
【解决方案4】:

我已经尝试过上述方法,但 make qemu-nox 给了我这个错误:

Cannot set up guest memory 'pc.ram': Cannot allocate memory

我打开Virtual Box GUI,右键单击VM,当它关闭(停止)时,我右键单击VM,然后单击“系统”选项卡,然后将主板内存更改为超过 2000MB。

之后我跑了:

make
make qemu-nox

这对我有用,即使没有其他方法。

【讨论】:

    【解决方案5】:

    如果您想在 Windows 10 上使用 WSL(Linux 的 Windows 子系统),这可能会有所帮助。

    Follow Instructions regarding Windows here

    第 1 步:this 之后启用和设置 WSL。

    第 2 步: 运行 WSL bash 并在 WSL 上安装所需的东西。

    • 打开CMD
    • 输入cd <xv6-source-path>
    • 输入bash,这会将CMD切换到WSL bash
    • 然后sudo apt-get update && sudo apt-get install git nasm build-essential qemu gdb

    第 3 步: Makefile 中为 qemu 禁用视频设备

    • 使用任何文本编辑器打开 xv6 源目录中的 Makefile。

    • 找到以

    • 开头的行

    QEMUOPTS =

    • 追加 -display none 到这一行并保存文件。

    第 4 步: 在该终端中输入类似 linux 的命令,即

    • 第一个make
    • 然后make qemu

    现在,如果一切正常,您应该在 xv6 终端中

    【讨论】:

      猜你喜欢
      • 2011-11-23
      • 2016-12-27
      • 1970-01-01
      • 2011-06-29
      • 1970-01-01
      • 2016-03-11
      • 2017-10-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多