转载请注明出处
1 配置思路
由于编译器、汇编器等工具的更新,在Ubuntu16.04直接编译linux-0.11内核代码需要对源代码做很多的修改。为了减少工作量,本文使用了哈尔滨工业大学计算机学院在网易云课堂操作系统课中提供的实验环境,下载地址为 https://cms.hit.edu.cn/mod/folder/view.php?id=1716。
这个压缩包中带有bochs软件并设置好了bochs的运行参数,带有Linux-0.11源代码以及一个简易的运行脚本。其中linux-0.11源代码与原版的代码由哈工大的老师做了修改,主要是修改了make文件。要查看详细的修改信息,可以使用diff命令,来比较修改后的源码和原版linux-0.11代码。本文主要做的主要工作:实现在Ubuntu16.04 64位系统上编译上述内核,并在bochs中进行模拟。
2 安装gcc-3.4
上述内核代码中的make文件使用gcc-3.4编译器编译内核,因此我们需要手动安装低版本gcc-3.4编译器。由于gcc-3.4已经不再由官网维护,因此我们需要手动下载deb包进行安装。在ubuntu的归档网站 http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/ 下载如下包