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

10
我们的课程中正在教授 xv6。目前,我们使用Windows中的putty登录我们学校的Linux服务器。在那里,我们使用vim更改xv6的源代码,然后简单地在qemu中编译和运行它。
make clean
make
make qemu-nox

由于无法始终连接到他们的服务器,因此我希望能够在Windows中编译和运行xv6(在某个模拟器中显然)。

我可以使用什么类型的模拟器进行上述工作?(编辑代码,编译和运行)以及如何操作?


可能是如何在Windows上编译和运行xv6?的重复问题。 - Foo Bah
6个回答

6

5
链接失效。 - OrenIshShalom

6
如果您想在Windows 10上使用WSL(Windows子系统Linux),这可能会对您有所帮助。
请按照此处的Windows说明进行操作,或者:
步骤1:启用并设置WSL,请参考此处
步骤2:在WSL上运行bash并安装所需软件。
- 打开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终端中。

4
你可以在VirtualBox内运行Linux,这样你就可以在自己的机器上使用与学校服务器相同的环境。然后您可以在qemu中继续运行xv6。不过,您需要一台性能足够好的机器——双核CPU和4G内存是我尝试此操作的最低配置要求。

1
我只有1 GB的内存。这可能不会有帮助,因为我将在一个模拟器(qemu)中运行另一个模拟器(VirtualBox)。 - SMUsamaShah
1
VirtualBox不是一个模拟器,而是一个虚拟机。两者之间有很大的区别。考虑到如今内存价格便宜,升级笔记本电脑的内存可能是值得的。 - Timo Geusch

1
我会选择一些虚拟机解决方案(如TMN所建议的),但如果您没有足够规格的硬件来运行虚拟机,尝试在Cygwin上构建它可能是值得一试的。

我觉得使用Cygwin很困难,安装后,我能按照我的问题所述的做所有事情吗(在qemu上进行编译和运行)? - SMUsamaShah
好的,有一个适用于Windows的QEMU版本,而要构建XV6,则需要GCC。GCC由Cygwin提供。它会起作用吗?我不知道,但这是您可以尝试的选项。 - Timo Geusch

0

我已经成功地在Windows 10上使用命令提示符(cmd.exe)构建和运行了xv6。这就是我所做的。不是在Linux上,也不是在Windows10 + WSL环境下,也不是在Windwos10 + Cygwin或MSYS环境下,我是在Windows10上使用命令提示符构建的。 你需要以下工具来在Windows上进行操作:MinGW、BusyBox和QEMU。我修改过的xv6源代码可以从以下网址下载。

https://github.com/mirokuuno/xv6-windows

详细信息已记录在《如何在Windows上使用命令提示符构建和运行Unix-xv6》中。


0

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

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

我打开了Virtual Box GUI,右键点击VM,在它关闭(halt)时,我右键点击了VM,然后点击了“系统”选项卡,接着将主板内存更改为2000MB以上。

之后我运行了:

make
make qemu-nox

即使其他方法都不起作用,这个对我很有效。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接