安前两次莫名其妙, 蛋疼的实验操作系统..

首先下错了总结第一次。

使用最后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(变成你的username)

打开终端(应用程序---附件---终端)。输入命令:sudo passwd root,系统提示你输入root用户的新password,输入两次后成功激活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

最后结果:

版权声明:本文博客原创文章,博客,未经同意,不得转载。

两个实验操作系统-ubuntu在安装配置pintos的更多相关文章

  1. Ubuntu中安装配置 JDK与apache

    一,前期准备: 1.下载apach网址:https://tomcat.apache.org/download-90.cgi 3.下载:jdk网址:http://www.oracle.com/techn ...

  2. # Ubuntu子系统安装配置

    目录 Ubuntu子系统安装配置 安装配置 终端美化 卸载 和win10之间的交互 Ubuntu子系统安装配置 亲测启动速度毫秒之间 安装配置 系统升级到一周年正式版及以上(1607) 依次在 设置 ...

  3. 一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_200 时光荏苒,过隙白驹,即将进入2022年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和 ...

  4. ubuntu 软件安装配置使用总结(由xmind:Depends:java8-runtime but is not installed引出)

    ubuntu 软件安装总结(由xmind:Depends:java8-runtime but is not installed引出) 不知道抽什么风,这几天PC上又用起了linux操作系统.其实之前断 ...

  5. Ubuntu下安装配置android sdk及其环境变量

    同理,这里介绍的是手动安装方法~ *系统;Ubuntu 16.4 1.下载Android sdk,直接在系统自带的firefox浏览器输入 http://tools.android-studio.or ...

  6. Ubuntu下安装配置java及环境变量

    这里的办法不是在线安装,因为需要更新源(你懂的,费时费事~),so这里介绍在Ubuntu上手动下载安装配置Java环境变量 *系统:Ubuntu 16.4 1.下载jdk,直接用系统的Firefox浏 ...

  7. ubuntu下安装配置OpenCV

    Cmake的安装 我用的是ubuntu-software自动下载安装的. Ubuntu 下安装 OpenCV 首先下载安装相关包,然后下载OpenCV 系统:ubuntu16.04 OpenCV:2. ...

  8. [学习笔记]Ubuntu下安装配置SQLSERVER2017

    摘要自微软官网: https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu 安装步骤: 1. 导入公共秘 ...

  9. Ubuntu下安装配置SQLSERVER2017

    摘要自微软官网: https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu 安装步骤: 1. 导入公共秘 ...

随机推荐

  1. XP教育网用户免费上网

      本文针对 XP 教育网用户免费上网,其他系统未作测试.若有疑问百度空间留言 http://hi.baidu.com/itas109 http://blog.csdn.net/itas109 步骤 ...

  2. 【ASP.NET Web API教程】5.2 发送HTML表单数据:URL编码的表单数据

    原文:[ASP.NET Web API教程]5.2 发送HTML表单数据:URL编码的表单数据 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本系列教程,请先看前面的内 ...

  3. adb 之android的神器am

    am命令,am全称activity manager,你能使用am去模拟各种系统的行为,例如去启动一个activity,强制停止进程,发送广播进程,修改设备屏幕属性等等 命令窗口通过adb shell ...

  4. C++中出现的计算机术语1

    access labels(訪问标号) 类的成员能够定义为 private,这能够防止使用该类型的代码訪问该成员. 成员还能够定义为 public,这将使该整个程序中都可訪问成员.  address( ...

  5. 无法安装vmware tools的解决方PLEASE WAIT! VMware Tools is currently being installed on your system. Dependin

    VMware安装unbuntu 12.04 LTS时,当你使用VMware的Easy Mode安装时,提示须要安装VMware Tools,屏幕会出现下方的文字: installed unbuntu ...

  6. C++ Primer 学习笔记_76_模板和泛型编程 --模板定义[继续]

    模板和泛型编程 --模板定义[续] 四.模板类型形參 类型形參由keywordclass或 typename后接说明符构成.在模板形參表中,这两个keyword具有同样的含义,都指出后面所接的名字表示 ...

  7. Swift - 复杂数据类型说明(数组,字典,结构体,枚举)

    1,数组 - Array 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 var types ...

  8. IE缓存的BUG 和其他浏览器的缓存问题

    原文:IE缓存的BUG 和其他浏览器的缓存问题 1 .IE浏览器在异步请求的时候 为了偷懒  第二次请求的时候不会给后台请求相应,这样我们就无法从后台拿值,  这样的话 ,我们可以画个妆,蒙骗IE我们 ...

  9. javascript启示录英文单词生词

    odd:奇怪的 represent:代表 primitive:原始的 trivial:平凡的 demonstrate:证明 keep this at the forefront of your min ...

  10. js下读取input中的value值

    很多人(包括我),总想像以前操作js一样,读取到input中的值:document.getElementById('').value; 结果事实证明这样读到得是null. eval(document. ...