本机系统:macOS Big Sur
虚拟机:Parallels Desktop 16
Linux系统:Ubuntu 18‘
概要:
在Ubuntu下,基于qemu的pintos环境搭建完成,可以运行pintos。
在没有任何代码修改的情况下跑了第一次make check,用时15分钟,一共有7个pass,20个fail,符合预期。
下图为环境搭建完之后第一次make check的结果:
参考链接:
博客园-斯坦福大学操作系统pintos-laiy
pintos安装指南-geeeeeker
pintos原版代码-Stanford-BenPfaff(有更新)
配置环境的过程主要是按照第二个链接来做的。亲测有效,没有问题。
!!!配置环境的流程如下(重点):
- 在Ubuntu下配置好qemu
- 代码git到本地(请见上方第三个链接)
- 做一遍第二个链接的所有内容
- 特别注意要配置好路径,
export PATH=$PATH:/home/parallels/****/pintos/src/utils
- export PATH之后去跑一下pintos(例如
pintos run alarm-multiple
),正常会弹出qemu的窗口 - 上一条可以的话跑一下make(在threads目录下)和make check(在threads/build目录下)
- 若发现error,原因一般是Make.vars里面bochs没有换成qemu,改完之后跳转回5
- 若发现只test了第一项就报错停止了,需要重新跳转回2
- 如果再次运行看到程序运行明显变慢了,并且有一项一项test的判断,说明check正在运行中,环境配置已经基本没有问题了
- 接下来就可以着手开始做thread了,一步步参照博客园laiy大神的教程做即可,做完即可通过threads的27个test!好耶!
TIPS:
- 跑make check的时候可以在threads里面先make clean,然后在make,然后cd到bulid目录里面去make check。注意,此处会有一个漫长的等待,大约是15分钟,才能跑出27个结果(因为很多东西都没做)。
- 初次执行pintos命令,也就是运行pintos的时候可能会报错,要注意export PATH有没有做对。失败的话,第一个原因可能是版本太旧,建议换一个新版本的pintos;第二个就是因为PATH没有配置好,要把export语句配置到
~/.bashrc
里面去,然后执行source ~/.bashrc
,如果还是不行只能在做一遍第二个链接的教程了。
下图为报错结果: