目录
一、了解层次关系
老师给的任务描述如下:在Windows中安装VMWare虚拟机、在虚拟机中编译安装Qemu、最终建立建立xv6运行环境、使用open, read, write, close等进行文件操作;使用fork, wait, exec, exit等系统调用实现进程控制。
一开始我根本分不清楚VMWare、Qemu、xv6等的关系,通过查阅资料终于弄清楚了整个系统的架构,我是根据这张图来搭建环境的:
根据这张图可以知道,现在我们所处的位置就是电脑自带的Windows或者MacOS系统,接下来可以通过安装VMWare或者Virutalbox虚拟机软件来配置Ubuntu等其他操作系统(Ubuntu其实就类似Windows,只是另一种操作系统而已),就可以实现在不破坏原有Windows操作系统的情况下,虚拟使用其他操作系统了(后续还会安装华为操作系统玩玩)。
二、安装VMWare虚拟机软件
了解了整个系统的层次结构后,就可以开始安装虚拟机软件了,这里推荐安装VMVare。安装VMWare虚拟机软件在市面上有很多经验贴,可以参考着来,跟着一步步走不会有错,这里就不过多赘述了。提供一下VMWare下载地址:VMware下载地址。
三、在VMWare中安装Ubuntu系统
1、下载 Ubuntu 镜像:Ubuntu 镜像下载地址链接。
本人使用的是 Ubuntu 20.04.4 版本,提前下载到这个文件就可以了。
2、在VMWare中安装Ubuntu系统:
首先打开刚刚安装好的VMWare,在主页点击“创建新的虚拟机”:
选择【自定义】:
下一步:
下一步:
选择【Linux】,【Ubuntu64位】(这是因为刚刚安装的Ubuntu映像文件就是64位):
为虚拟机起一个合适的名字及合适的位置,点击下一步:
处理器一般是2个cpu加两个内核,下一步:
配置虚拟机的内存,最少要给2GB,不过建议尽量给多一点,因为你不知道后续的实验要使用多大的空间,如果空间满了会遇到打不开虚拟机的bug,我当时是重装了一遍系统。注意内存要是4MB的倍数:
虚拟机的网络方式,选择nat,不然虚拟机可能会上不了网:
一直点下一步,到分配空间,选择【拆分为多个文件】,这样就不会一次性占用20gb的内存了,会根据实际需要的内存来分配。
一直点下一步,直至完成,VMWare主页会出现刚刚配置好的Ubuntu系统,双击【CD/DVD】配置映像文件(我之前已经安装过了所以会有使用的文件):
使用第一步中提前安装好的iso映像文件,点击确定就安装完成了:
接下来安装Ubantu系统。点击【开启此虚拟机】,选择语言【中文(简体)】,【安装Ubuntu】,【清除整个磁盘并安装Ubuntu】,时间选择【Shanghai】,设置用户名和密码,点击【继续】,等待系统安装。按提示重启虚拟机完成安装,重启后,系统就安装成功了,出现如下界面:
四、在Ubuntu系统中配置xv6环境
1. 要想配置xv6环境,必须先下载好一系列需要的软件。首先打开Ubuntu系统的终端:
2. 认识名词:①sudo:系统级权限,不带这个很多命令执行不了
②apt-get:安装软件、更新操作等都通过改命令来执行
接着在终端中输入一系列命令
3. 安装gcc:
sudo apt-get install gcc
4. 下载x86版本的qemu:
sudo apt-get install qemu-system-x86
5. 下载Git:
sudo apt-get install git
6. clone git中的xv6官方repo:
git clone https://github.com/mit-pdos/xv6-public.git
7. 全部安装完成后,cd进入刚刚clone的文件夹中:
cd xv6-public
然后运行qemu
make qemu
就可以看见qemu的xv6环境已经搭建起来了:
五、可能会遇到的问题
xv6的编译用的是gcc,但是如果使用过于新版本的gcc,会导致make报错:
Error message: -Werror=array-bounds