两个实验操作系统-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(变成你的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的更多相关文章
- Ubuntu中安装配置 JDK与apache
一,前期准备: 1.下载apach网址:https://tomcat.apache.org/download-90.cgi 3.下载:jdk网址:http://www.oracle.com/techn ...
- # Ubuntu子系统安装配置
目录 Ubuntu子系统安装配置 安装配置 终端美化 卸载 和win10之间的交互 Ubuntu子系统安装配置 亲测启动速度毫秒之间 安装配置 系统升级到一周年正式版及以上(1607) 依次在 设置 ...
- 一网成擒全端涵盖,在不同架构(Intel x86/Apple m1 silicon)不同开发平台(Win10/Win11/Mac/Ubuntu)上安装配置Python3.10开发环境
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_200 时光荏苒,过隙白驹,即将进入2022年,著名敏捷开发语言Python也放出了3.10最终版,本次我们来展示一下在不同的系统和 ...
- ubuntu 软件安装配置使用总结(由xmind:Depends:java8-runtime but is not installed引出)
ubuntu 软件安装总结(由xmind:Depends:java8-runtime but is not installed引出) 不知道抽什么风,这几天PC上又用起了linux操作系统.其实之前断 ...
- Ubuntu下安装配置android sdk及其环境变量
同理,这里介绍的是手动安装方法~ *系统;Ubuntu 16.4 1.下载Android sdk,直接在系统自带的firefox浏览器输入 http://tools.android-studio.or ...
- Ubuntu下安装配置java及环境变量
这里的办法不是在线安装,因为需要更新源(你懂的,费时费事~),so这里介绍在Ubuntu上手动下载安装配置Java环境变量 *系统:Ubuntu 16.4 1.下载jdk,直接用系统的Firefox浏 ...
- ubuntu下安装配置OpenCV
Cmake的安装 我用的是ubuntu-software自动下载安装的. Ubuntu 下安装 OpenCV 首先下载安装相关包,然后下载OpenCV 系统:ubuntu16.04 OpenCV:2. ...
- [学习笔记]Ubuntu下安装配置SQLSERVER2017
摘要自微软官网: https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu 安装步骤: 1. 导入公共秘 ...
- Ubuntu下安装配置SQLSERVER2017
摘要自微软官网: https://docs.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-ubuntu 安装步骤: 1. 导入公共秘 ...
随机推荐
- 打开excel2007文档时显示“excel无法打开文件~$book.xltm”
此问题的出现是因为意外情况导致Excel临时文件没有删掉,把C:\Program Files\Microsoft Office\Office12\XLSTART里面的临时文件“~$book”给删除就好 ...
- H面试程序(4):翻转句子中单词的顺序 .
题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变. 句子中单词以空格符隔开.为简单起见,标点符号和普通字母一样处理. 例如输入“I am a student.”,则输出“stude ...
- HealthKit开发教程Swift版:起步
原文:HealthKit Tutorial with Swift: Getting Started 作者:Ernesto García 译者:Mr_cyz ) HealthKit是iOS 8中的新的A ...
- 三次握手wireshark抓包分析,成功握手和失败握手
启动 点击start出现下面的对话框 wireshark是捕获机器上的 某一块网卡的网络包,当机器上有多块网卡的时候,需要选择一个网卡进行捕获操作. 选择网卡 >主页面上,直接点击选中后star ...
- html name id, 与服务器交互必须有name
html name id, 与服务器交互必须有name 在HTML中元素的ID和Name的区别和联系. 今天写了个测试,在php脚本里怎么也获取不到$_POST['userName']的值,经检查在h ...
- 高效 Java Web 开发框架 JessMA v3.2.3 beta-1 发布
JessMA(原名:Portal-Basic)是一套功能完备的高性能 Full-Stack Web 应用开发框架,内置可扩展的 MVC Web 基础架构和 DAO 数据库访问组件(内部已提供了 Hib ...
- c# listview导出excel文件
首先在工程中需要添加对Microsoft Excel office 11.0 object的引用 生成excel的类代码如下 using System; using System.Collection ...
- C++内存管理学习笔记(6)
/****************************************************************/ /* 学习是合作和分享式的! /* Auth ...
- MySQL分区技术 (一)
4:MySQL 分区技术(是mysql 5.1以版本号后開始用->是甲骨文mysql技术团队维护人员以插件形式插入到mysql里面的技术) 眼下,针对海量数据的优化主要有2中方法: 1:大表拆成 ...
- Linux查看硬盘使用时间等信息
查看硬盘信息的很多命令,都需要root权限,如果普通用户无法看到信息,请切换至root: 1.查看硬盘使用时间等信息 硬盘使用时间很重要,硬盘理论寿命是3万小时以上 $ sudo smartctl - ...