xv6环境搭建

因为是第一次写博客,在搭完环境后靠回忆写下来这篇博客,有可能会有一些不准确的地方,欢迎各位大佬指正!

 浅浅记录一下花了两天时间完成的xv6环境搭建过程~也写下搭建过程中遇到的至今仍未解决的bug,希望有大佬看到能够给予解答

配置环境:windows10 x64 

使用工具:virtualbox  ubuntu desktop

一、软件下载

首先附上mit实验课程官网链接和官网截图,基本上需要的步骤在/Labs/tools里都有提到,点击链接跳转至相关页面下载需要的虚拟机和ubuntu版本

6.S081 / Fall 2020https://pdos.csail.mit.edu/6.828/2020/xv6.html

我下载的是virtualbox的windows hosts版本,在同一页面还可以下载拓展包,可以一起下载,后续调整虚拟机屏幕大小和共享主机粘贴板都会用到这个拓展包

 ubuntu下载页面,点击download即可

 ubuntu下载页面下拉可以看到相关教程,我基本上是根据第二个教程来安装的

 二、虚拟机创建

附上我参考的官方教程链接

How to run Ubuntu Desktop on a virtual machine using VirtualBox | Ubuntu

虚拟机创建过程基本上没有什么好说的,已经有很多大佬做过分享,说一下我的具体数值配置吧

虚拟机位置:D盘

        因为C盘已经快满了

主存:2048MB

        没有选择1024MB,在后续操作中虚拟机上安装系统的时候我看到很多人分享说swap区需要至少是主存2倍或者1.5倍大,但如果主存超过1024MB也可以不设置swap区

硬盘:

        创建动态硬盘

硬盘文件:

        VDI

硬盘存储:

        动态分配,据说这样会慢一些但是占用物理空间小一些

硬盘大小:

        此处建议大一些,文档里推荐的10GB根本不够用。我一开始选择了10GB结果在安装ubuntu磁盘分区的时候捉襟见肘,后来只好删了重建,选择了80GB(后续安装xv6工具时磁盘需要至少6GB的空间)

三、ubuntu安装

创建好虚拟机后点击start,系统会自动提示你选择含有需要安装的操作系统的iso文件,当然也可以后续在菜单——设备中选择分配光驱

选择好之后等一会,就会出现期待已久的ubuntu安装页面啦!

选择install Ubuntu,选择语言,安装方式我选择的正常安装+安装时更新+为其他媒体格式下载第三方软件

接下来是我踩坑的地方!一开始我选择了其他选项打算自己分区,尝试了分以下几个分区

/           (etx4,逻辑分区)   

/boot     (etx4,逻辑分区)

/home    (etx4,逻辑分区)

/swap     (etx4,逻辑分区)  

但是一直提示我没有efi分区和boot reserved分区,但是我上网查好像这两个东西是同一个功能(引导程序),也不知道我弄对没有。。。。。总之后来我就放弃了,选择了清除整个磁盘并安装ubuntu,反正磁盘文件也是特意为了安装ubuntu新建的 ,清空也没什么影响,然后发现系统只给我建了两个分区   /    和     /boot/efi

然后就是选择所在地区和创建用户和密码了!创建后记得自己的密码就好

接下来等待安装。点击skip可以跳过安装更新过程,之后还可以手动操作。

安装完成后根据提示重启。

重启过程中会黑屏提示拔出光驱后回车,在这一步两种方式都可以

VirtualBox管理器——虚拟机设置——存储——控制器(IDE),找到含有操作系统的光驱(命名类似ubuntu-22.04-desktop-amd64.iso),右键“移除盘片”

或者虚拟机运行页面——左上角设备——分配光驱,点击移除虚拟盘(我的图片是已经移除完之后的效果,可以看到ubuntu-22.04-desktop-amd64.iso前面没有✔)

 四、安装增强功能

虚拟机页面右上角设备——安装增强功能 

系统此时会报错,忽略

此时系统菜单栏会出现一个光盘,这就是我们之前在第一步软件安装中下载的拓展包,里面有所需要的VBoxLinuxAdditions.run

 在该页面右键打开终端

运行代码 

sudo ./VBoxLinuxAdditions.run

运行完成后根据提示重启

接下来常规设置中的高级处将共享粘贴板和拖放设置为双向

存储中SATA控制器勾选固态驱动器 (这一步我是看到有人分享可以这样解决文件拖放失败的问题,但似乎没有什么用。。。。。。)

总之,这样设置后我只能实现共享粘贴板,无法实现文件拖拽,无论是把文件拖拽到桌面上还是文件夹中都显示红叉,也无法实现宿主机和虚拟机同时截屏

分辨率的调整这里就略过了,可以根据其他大牛的分享按步骤操作即可

五、xv6工具链安装

再附一遍官网链接~

6.S081 / Fall 2020

工具链安装在/usr/local目录下 

需要注意的是,在使用下面这句git clone时,我查看了最新的md文档(GitHub链接:GitHub - riscv-collab/riscv-gnu-toolchain: GNU toolchain for RISC-V, including GCC),文档里提到子模块都会自动下载所以不需要--recursive,但是我没用--recursive下下来的文件只有5.9MB,所以最后还是用了官方文档里这一句

btw不用镜像源真的下的很慢,我下了足足一天,还是在好不容易连上服务器的情况下,后来连了VPN好像速度快一些,但是宿主机连VPN对虚拟机的网络有影响吗。。。。。。(网络小白无知发问)

$ git clone --recursive https://github.com/riscv/riscv-gnu-toolchain

接下来按照官网步骤走就行了!

注意在配置工具链的时候如果编译失败可以参考以下解决方案,附上原文链接

xv6实验课程--搭建环境 (qq.com)

=======================================

如果上述配置失败,请安装下列两个软件包:

$ sudo apt-get install libglib2.0-dev

$ sudo apt-get install libpixman-1-dev

然后重新配置。

=======================================

然后耐心等待就好了!

最后可以输入一下指令查看版本,确定是否已经安装成功!

$ riscv64-unknown-elf-gcc --version
riscv64-unknown-elf-gcc (GCC) 10.1.0
...

$ qemu-system-riscv64 --version
QEMU emulator version 5.1.0

附上一张成功的截图

 到这里环境安装和工具链安装就完成了!其实安装过程中还有很多地方本人都是一个人云亦云的懵逼状态,如果有说的不对的地方请大家帮助指正,不要误人子弟才好~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值