操作系统实验二-ubuntu下安装配置pintos

安了两次才弄好, 蛋疼的操作系统实验..

先总结下第一次的错误。

在最后使用gdb调试pintos的时候, 会报这样的错误:

bochsrc.txt:8: Bochs is not compiled with gdbstub support

百度了好久没找到解决办法。 后来通过设置 ubuntu 64位 兼容32位 , 解决了问题。

具体解决办法如下: (依次执行如下三条指令即可)

(要先执行这三条指令, 再安装配置pintos)


$ sudo apt-get install libc6:i386 libgcc1:i386 gcc-4.6-base:i386 libstdc++5:i386 libstdc++6:i386
$ sudo apt-get install libncurses5:i386
$ sudo apt-get install g++-multilib

之后就是pintos的安装了。

安装过程

 

一.安装bochs

总的步骤:

Install bochs
• $ tar zxvf bochs-2.4.5.tar.gz
• $ cd bochs-2.4.5
• $./configure --enable-gdb-stub • $ make
• $ sudo make install


详解:

Bochs和pintos下载到ubuntu系统下的home/qing(变成你的用户名)

打开终端(应用程序---附件---终端),输入命令:sudo passwd root,系统提示你输入root用户的新密码,输入两次后成功激活root用户,以后你就可以用root用户登陆了。

 

通过终端进入bochs所在的位置:cd /home/qing(最前面加/,表示绝对路径)

解压bochs:tar zxvf bochs-2.4.5.tar.gz

解压后,从位置--计算机----file system---home----qing,可以看到文件已经被解压成为文件夹

接下来按照如下操作:

进入bochs解压后的文件夹:cd bochs-2.4.5

配置bochs:./configure –enable-gdb-stub(注意最前面的点)

常见错误:

1.configure: error: C++ preprocessor "/lib/cpp"fails sanity check

解决方法:联网状态下在终断输入sudo aptitude install build-essential

2.X windows gui was selected, but Xwindows libraries were not found.",

解决方法:联网状态下在终端输入sudo apt-get install libx11-dev

sudo apt-get install xserver-xorg-dev

sudo apt-get install xorg-dev(分条执行)

编译:make(注意编译后有没有error信息,如果有根据提示安装某些包后,重新编译)

安装:sudo makeinstall

Bochs安装完了。

 

二.下面我们安装和运行pintos

总的步骤:

• Install and run Pintos
• $ tar zxvf pintos2011.tar.gz
• $ cd pintos/src/threads
• $ make
• $cd build
• $ ../../utils/pintos -- run alarm-multiple


详解:

首先和bochs一样,进入所在的位置,解压

解压后进入pintos/src/threads,编译

编译后,进入build目录,运行测试用例alarm-multiple


三.用gdb来调试pintos

总的步骤:

• $ cd /pintos/src/threads/build
• $ ../../utils/pintos --gdb -s -- run alarm-multiple 

• bochs stops and waits gdb connection


详解:

输入如下命令:../../utils/pintos --gdb -s -- run alarm-multiple(注意run和前面的横杠之间有空格)(配置好环境变量后可直接用pintos命令)

终端中显示等待连接。

这时候,我们打开另一个终端,进入pintos的build目录,输入命令:gdb kernel.o(注意是英文字母o,不是数字0)

这样我们就进入了gdb

输入命令:targetremote localhost:1234,连接刚刚开启的程序(注意冒号后有空格)

然后输入:continue

你将看到等待的程序继续运行了。

但是gdb命令还有很多,这个留给你们来探索它们的用途。例如:l, b, c, r,p, n, s, bt


最后结果:


 

  • 24
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Colin丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值