飞道的博客

山东大学 2020秋季 操作系统课设nachos环境搭建教程整合 ubuntu12.04.5 32位

762人阅读  评论(0)

经过两天的努力,终于把nachos在Ubuntu虚拟机上跑起来了。感觉老师给的教程不是很全面,索性自己补全其中没有提到的地方。
环境准备:
vmware虚拟机软件。
ubuntu 12.04.5LTS 下载地址http://releases.ubuntu.com/12.04/

下载成功后,你的DVD驱动器会自动加载这张虚拟光盘。
然后我们新建虚拟机,安装配置很简单,可以自行百度。(建议分配固态空间,UI响应快)
Ubuntu安装成功后,进入这个界面

按ctrl+alt+t呼出终端

输入uname -a查看ubuntu版本对不对

然后查看gcc版本

这里你们肯定和我不一样,我这是已经配好的gcc3.4.6,你们应该是4.6左右,由于nachos3.4需要3.几的gcc,所以需要像我这样降版本。

下面介绍gcc降版本以及安装g++等其他编译工具。

这是老师给的文件内容,我稍加修改

( 1 )下载 deb 安装包,我下载的包为:

gcc-3.4-base_3.4.6-6ubuntu3_i386.deb

gcc-3.4_3.4.6-6ubuntu3_i386.deb

cpp-3.4_3.4.6-6ubuntu3_i386.deb

g++ -3.4_3.4.6-6ubuntu3_i386.deb

libstdc++6-dev_3.4.6-6ubuntu3_i386.deb

下载地址为: http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/ 注:此地址已失效,可使用下述地址:
http://old-releases.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/

(2)安装他们

把上面下载的几个文件放到一个目录下,比如~/Downloads/
然后使用下面命令安装他们

sudo dpkg –-force-depends –i ~/Downloads/*.deb

安装成功后,试试gcc -v,还是4.6的版本,因为没有将gcc-3.4与gcc指令绑定。
所以需要这样做

 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 30

然后设置3.4为gcc显示调用版本

sudo update-alternatives --config gcc

执行上述指令后会出现这样的情况

我这里按1,gcc 就用的3.4版本了。gcc -v也会是3.4.6

然后你可以写个helloworld.c用gcc编译一下,如果成了,恭喜你,人品不错。但是大部人我估计会出现各种配置文件找不到,stdio.h里面报出大量错的情况。

如果你是后者,可以试试下面的方法。

首先输入下面指令,打开/etc/bash.bashrc文件

sudo gedit /etc/bash.bashrc

在该文件末尾加上这三行(加之前最好看看这些目录下是不是真的有相应的文件)

export LIBRARY_PATH=/usr/lib/i386-linux-gnu
export C_INCLUDE_PATH=/usr/include/i386-linux-gnu
export CPLUS_INCLUDE_PATH=/usr/include/i386-linux-gnu


保存,退出,关闭终端重新打开一个新终端
再用gcc编译一下你之前的的helloworld.c,
然后你会发现之前那么多stdio.h里报的错没有了,然而会出现

/usr/bin/ld: cannot find -lgcc_s

此时不要慌,去/usr/lib/gcc/i486-linux-gnu/3.4.6/文件夹下查找libgcc_s.so文件。libgcc_s.so是一个链接文件,链接到对应目录的libgcc_s.so.1文件。打开libgcc_s.so弹出提示链接已损坏
先定向libgcc_s.so.1,然后重新设置链接(你可以看看你的4.6版本的该文件是链接到哪里的,右键属性)

locate libgcc_s.so.1      
ln -sf /lib/i386-linux-gnu/libgcc_s.so.1 /usr/lib/gcc/i486-linux-gnu/3.4.6/libgcc_s.so

然后再用gcc编译helloworld.c,编译就会成功(反正到这我就成功了,没成功的好好反思一下自己的rp~~,百度吧)

然后你可以g++ -v一下,显示的gcc版本也是3.4.6(由于nachoes需要用到gcc,g++联合编译)

到此为止,gcc降版本成功,可以进行gcc-2.8.1-mips和nachos安装了,这部分具体内容请看老师发的ppt,位置在:OSCP\课件\32位Ubuntu安装Nachos-3.4.pptx,之后我会把他上传到自己的个人空间(也许也会上gitee,我的gitee主页https://gitee.com/trailofstar)。

给你们看一下我make编译成功并运行的图:

吐槽一下:我换了各种源,但是apt-get update就是报错,有一个安全约束包死活下不了。然后发现,ubuntu12.04.5在17年已经停止更新…


转载:https://blog.csdn.net/WindandDust/article/details/109497428
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场