BOCHS是一个对X86硬件进行模拟的虚拟机, 使用它可以对操作系统进行模拟硬件调试。
从而可以加深理解炒作系统的设计和工作原理。
google之,发现都是介绍在ubuntu上面安装的方法。
由于手头没有 ubuntu的系统, 只有一个 CentOS6.0(32位)的版本,于是尝试:
yum list *bochs*, 失败,什么都没有。看来用yum是不能解决问题了。而且yum安装的方式不能启用 bochs的调试功能。那就源码安装吧。
bochs2.5的版本编译安装比较简单(只需要gtk2和libx11库即可),而低版本则安装比较麻烦。
===============================================================
1.bochs-2.5.1 源码编译安装。
#tar xzvf bochs-2.5.1.tar.gz
#cd bochs-2.4.6
#./configure --enable-debugger --enable-disasm --with-x11
编译得到的Makefile中有点问题,缺少pthread库支持,手工加上:
#vi Makefile 然后在92行修改:
LIBS = -lm -lgtk-x11-2.0 - ... 前加上-lpthread, 如下:
LIBS = -lpthread -lm -lgtk-x11-2.0 - ...
#make
#sudo make install
成功!
2) 遇到的问题及解决:
(i) X window library 未找到!
#sudo yum install libX11-devel
(2) gtk 2 未找到
#sudo yum install gtk2-devel
==============================================================
2.bochs-2.3.7 源码编译安装
0) 编译之前先安装如下的库: gtk2,libXt,libXpm
#sudo yum install gtk2 gtk2-devel
#sudo yum install libXt libXt-devel
#sudo yum install libXpm libXpm-devel
1)然后编译安装:
#tar xzvf bochs-2.3.7.tar.gz
#cd bochs-2.3.7
#./configure --enable-debugger --enable-disasm
#make
#sudo make install
其中报错误:"map"类型错误。解决的办法是修改: bx_debug/symbols.cc。
定位到 97行“using namespace std;” 下面,加入如下内容:
#ifdef __GNUC__ //修改
using namespace __gnu_cxx; //修改
#endif //修改
结果如下:
93 #elif BX_HAVE_SET_H
94 #include <set.h>
95 #endif
96
97 using namespace std;
98
99 #ifdef __GNUC__ //修改
100 using namespace __gnu_cxx; //修改
101 #endif //修改
102
103
104 struct symbol_entry_t
105 {
106 symbol_entry_t (Bit32u _start = 0, char* _name = 0)
107 {
108 start = _start;
109 name = _name;
110 }
111
112 char* name;
113 Bit32u start;
114 };
2) 重复1)的步骤,即可编译通过。运行,一切OK。
分享到:
相关推荐
CentOS 6.0最小化编译安装Nginx+MySQL+PHP+Zend ======================================================================引言: 操作系统:CentOS 6.0 32位 下载地址:...
centos 6.0最简化编译安装Nginx+Mysql+PHP+Zend
U盘安装CentOS 6.0 实现目的:用U盘安装CentOS 6.0到服务器 工具软件: 1、U盘一只,我这里用到的是“朗科(Netac)USB3.0高速优盘 U903 16G” 2、CentOS 6.0系统镜像,我这里下载的是32位的系统CentOS-6.0-i386-...
在服务器配置安装lamp架构,Centos6.0安装lamp.linux apache mysql
centos6.0下配置本地yum
CentOS6.0安装oracle说明
CentOS 6.0安裝gcc,Linux安装gcc
最新的CentOS6.0下安装Oracle10g详细文档,其他地方你看不到的。已在服务器上安装使用了。绝对物超所值。
很多做服务器的程序员都因为在linux下安装linux而头痛不已,确实是很麻烦的一件事,此文档讲解了在CentOs6.0下安装Oracle11g的详细步骤,希望能帮到大家。
CentOS 6.0安装图解教程 引言: 用光盘或者U盘成功引导后,按键盘上面的ESC键,出现boot: 输入linux text,进入文本安装模式; 直接按回车,进入图形安装模式; 如果不按ESC键,则默认进入图形安装模式。 下面以图形...
centos 6.0安装MySQL mysql-5.1.59全过程 linux 安装同理 mysql 同理
Linux CentOS6.0是目前CentOS家族最新版的服务器系统,因为自己工作的关系经常接触到,今天把图文安装过程截图
CentOS 6.0下vncserver安装配置
iredmail安装Centos6.0下安装说明
VMware 10安装CentOS6.0 ,linux,虚拟机
CentOS_6.0的安装教程,里面每一个步骤都有截图,一看就懂。
CentOS6.0-Hadoop安装手册,详细介绍centos下hadoop的搭建过程
.
CentOS 6.0安装指南
包含CentOS6.0安装说明(图文)、Oracle11gR2在CentOS6.0上的安装说明(图文),以及相关的RPM。内容详实,简单移动