项目1 搭建系统开发环境
本课程实验基于开源教学操系统pintos,后续实验课内容将围绕pintos展开。实验中,我们将在现有pintos项目代码的基础上,开发完善操作系统功能。 为了能够顺利开发与调试系统,首先需要搭建实验环境。系统开发的操作系统平台为Ubuntu 20.04,实验环境为开发调试pintos需要两类工具集:
32位架构的80x86交叉编译工具链(ToolChain),包含C语言编译器、汇编器、链接器和调试器。
X86虚拟机软件QEMU和Bochs。
提示
无特别说明时,实验所在文件夹为用户家目录即/home/whoami,其中whoami为当前用户名。
#
获取pintos项目代码开始实验,你需要从Gitee源代码管理网站克隆或下载pintos的项目源代码,操作如下:
#
1. 系统开发环境本课程实验项目在Ubuntu系统下进行,你可以使用16.04、18.04、或20.04版本。实验课时,你可以将Ubuntu系统安装在 你自已的笔记本电脑上,你可以自己决定是安装成双系统或将Ubuntu安装到虚拟机中。
如果你有云主机,你也可以直接在你的云主机上进行实验操作。
我们也将尽力争取提供学校的云服务器供大家使用。
在后续步骤开始前,我们假设你已经安装好了Ubuntu系统。
#
2. 编译器工具链(ToolChain)#
自已动手编译开发工具事先准备好的osutil项目提供了pintos工具链(Tool Chain)的源码包及编译脚本;另外此项目中还包含bochs虚拟机源码包及其编译脚本。 按下述步骤操作可以获得pintos项目所需的工具链和虚拟机。
- 安装依赖包
在执下面操作前,你需要为Ubuntu系统更新国内镜像源。
- 获取工具链程序源代码 我们已经将工具链程序gcc, gdb等的源代码放在了Gitee上的osutils项目中,直接clone项目即可获得各工具链程序的源代码。
- 运行工具链(Tool Chain)编译脚本编译安装工具链(需将whoami换成你的用户名)
- 编译安装Bochs虚拟机
#
验证系统环境系统工具链应该被安装在/home/whoami/OSToolChain文件夹中(whoami为用户名),且i386-elf-gcc的版本需要为6.2.0
验证前需设置好环境变量PATH
- 并闭终端并重新打开一个终端,并运行下面的命令验证系统环境。
#
3. 虚拟机#
QEMUQEMU是一款现代而又高效的虚拟机平台,我们在后续项目实验中会使用它。使用如下命令安装QEMU:
#
Bochs- Bochs比QEMU运行速度慢,但他的模拟精度更高.
- 除了项目2默认的虚拟用Bochs外,后续项目默认的虚拟机为QEMU. 尽管这样,在项目3至6中,你也可以选用Bochs作为虚拟机。
- 课程项目使用的Bochs的版本是6.2.0.
#
4. pintos实用工具pintos源码中附带有一些方便易用的工具脚本。它们位于pointos项目代码的src/utils文件夹中。最常用的一个是Perl语言的pintos脚本, 你经常需要使用它来运行和测试你编译的pintos操作系统。
另外,在src/misc/gdb-macros中提供了大量的GDB调试宏,当你调试pintos时,你会发现它非常有用。pintos-gdb是对i386-elf-gdb 的封装,它起动时读取了gdb-macros中的调试宏。
提示
无特别说明时,实验所在文件夹为用户家目录即/home/whoami,其中whoami为当前用户名。
安装pintos实用工具的命令如下:
再次设置环境变量
#
5. 其它- 必须安装Perl 5.8.0或更新版本。