BUAA OS实验环境配置指南-2020年版[2020.5.22更新]

更新内容

2020.5.22 v1.1

对gxemul编译好之后手动安装的命令进行了修改,且增加了Win上CLion SSH连接虚拟机的教程。

前言

时至2020年,实验指导书上的配环境方法有一部分已经不能使用,网上的资料很多也过时了。笔者踩了无数坑终于把OS环境配置好了,为了避免后人继续踩坑,故将配置经验分享出来。本文主要是面向像笔者一样的Linux新手。
本文也许也会在未来的某一天过时,因此读者阅读时,请注意本文的发布时间。
由于笔者水平有限,文中提到的一些解决方案可能是绕了弯路的,如果读者有更好的方案,欢迎联系笔者。如果文中有错误,也恳请指正。
为了照顾不同读者的阅读需求,笔者将本文中的教程部分与笔者的所思所想、所做所为分开,只想阅读教程的读者仅需阅读第三部分“完整配置教程”即可

为什么要配环境?

笔者写本文时,本学期的OS正处于Lab5的第二周。据说,Lab4是最难的,而Lab5简单很多。为什么最难的部分都熬过来了,却要在这样一个时间相对紧张的时候配环境呢?

实际上,笔者配置环境不是为了Lab5和Lab6,而是为了挑战性任务。笔者本学期的OS工具经历了如下的发展过程。

最开始完全在Jupyter里直接写代码、编译、调试、提交,但是Jupyter有屏幕小、无图形界面、连接不稳定等诸多不便之处,对笔者而言最大的不便是只能用vim,不能用自己用的顺手的IDE(笔者由于自身水平不足,不太会配置vim)。因此,当笔者得知可以将代码从Jupyter中下载到本地编写,再上传到Jupyter中后,笔者果断放弃了在Jupyter中写,从此进入第二阶段——下载到本地用IDE写,完后上传回Jupyter进行调试。

这一阶段对于效率的提升是显著的,到后面几次Lab,常常是反复在几十个文件之间进行切换。即使在Clion中开满了标签页,笔者依然觉得标签页数不够用,如果仍然在Jupyter中写,是什么样的体验可想而知。

但是这一阶段仍然有不足。笔者一直使用win系统,尽管可以用本地强大的IDE写代码,却无法编译和运行,因此调试工作仍然只能在Jupyter中进行,调试阶段在数十个文件之间切换依然不可避免,效率依然有待提高。

挑战性任务更加复杂,需要大量的调试,还需要自己构造测试数据。随着挑战性任务的发布,笔者更加觉得需要配置一个可以编写、编译、调试的闭环环境,实现除了提交以外的环节完全摆脱对Jupyter的依赖,从而将大屏、图形界面、自由分屏等优势运用到每个环节中,提高效率。因此,笔者下定决心配置一套完整的环境。

配置环境过程中的尝试

笔者首先想到的是把学期初助教Ausar分享的已经配置好的环境拿过来用,但是面临的第一个难关就是VirtualBox始终无法打开镜像,一直报错0x80004005。搜索错误代码,按其中的指示进行处理依然无果,考虑到可能是助教给的环境挂载了一些本机没有的镜像导致无法启动,于是暂时搁置。

接下来笔者考虑的是WSL,笔者的想法是:WSL毕竟是微软官方出的,稳定性肯定比VirtualBox有保障。由于笔者的电脑版本为1909,不能安装WSL2,于是就去安装WSL1。

安装好WSL后,笔者一边搜集安装GUI的方案,一边尝试安装ELDK交叉编译器。费了很大一番功夫终于把iso的镜像挂载上之后,输入安装命令,却报了如下的错:

$ sudo ./install  -d /OSLAB/compiler/
[sudo] password for brooks:
./install: 1: ./install: Syntax error: "(" unexpected

这样的错让笔者完全摸不着头脑,查阅资料后,发现可能原因是WSL1没有完整的Linux内核。另外从查阅的资料看来,在WSL上安装图形界面似乎也是件费力不讨好的事情,于是放弃WSL。

回到虚拟机方案,笔者高中时期为了OI曾经用VirtualBox装过Ubuntu,查阅资料后发现可能是这个VirtualBox版本过老,即使更新了也和旧的文件有冲突,因此笔者卸载并重装了最新版。尽管依然报错,但是报错的内容变成了找不到gxemul安装包的镜像,并且把预期的文件地址展示了出来。因此笔者将gxemul安装包放到指定位置后,终于打开了Ubuntu 12.04的镜像。

但是这个镜像没有GUI,笔者查阅资料后使用sudo apt-get ubuntu-desktop(并经过漫长的等待)安装上了GUI,这才终于有一个能看的图形界面。

由于给出的环境中ELDK编译器的安装路径与笔者的代码中使用的编译器路径不同,于是笔者另

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值