一直在实验楼上做的哈工大Linux0.11的实验,但是最近觉得在上面不能保存实验环境。而且有时候一下子卡了,所有的功劳就白费了。所以想在自己电脑上弄一个实验环境,方便自己做记录,也能有更多“自主权”了。
由于那个实验的源码里面东西不错,有bochs,也不用自己配了,况且也用习惯了。因此就下载下来压缩包:
hit-oslab-linux-20110823.tar.gz 下载地址:
https://github.com/hoverwinter/HIT-OSLab/blob/master/Resources/hit-oslab-linux-20110823.tar.gz
下载之后,解压:
解压完成后,可以看到多了一个oslab文件夹,进入到解压的oslab文件夹中,
可以看到里面有这些文件夹,进入到linux-0.11文件夹中,make all编译源代码,在编译的时候会出现错误:
问题一:as86:命令未找到
解决方法:sudo aptitude install bin86
但是,有时候你的系统里面可能没有aptitude,无妨,我们把它加上就行sudo apt-get install aptitude
效果如下:
安装aptitude:
安装bin86:
此时问题一已经解决了。接着输入make all命令
问题二:gcc-3.4命令未找到
解决方法:这是由于我们的系统自带的gcc编译器版本比较高,可输入ls /user/bin/gcc*查看gcc版本
可以看到我的编译器没有gcc-3.4版本的,所以会报错,怎么办呢?
解决方案:
http://old-releases.ubuntu.com/ubuntu/pool/main/g/gcc-3.4/ 打开这个网址,在里面找到这几个deb安装包:
gcc-3.4-base_3.4.6-6ubuntu2_i386.deb //第一个安装
cpp-3.4_3.4.6-6ubuntu2_i386.deb //第二个安装
gcc-3.4_3.4.6-6ubuntu2_i386.deb //第三个安装
下载这三个安装包后,依次进行安装 sudo dpkg --force-depends -i xxx.deb
之后在检查一下gcc的版本,发现此时系统里面已经有了gcc-3.4版本,so,let's go on!
到此,问题二已经解决。
接着,make all ,可以看到一路顺风,再无拦路虎。
自此,完整的编译完成。
退到oslab下,输入./run
可以看到,bochs成功进入到linux0.11环境中。