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 在IT行业,尤其是网站开发与管理领域,搭建一个稳定、高效的服务环境是至关重要的。CentOS 6.0作为一款广泛使用的Linux发行版,提供了丰富的功能和稳定性,...
CentOS 6.0 安装教程 CentOS 6.0 是目前 CentOS 家族最新版的服务器系统,本教程将带您一步步完成 CentOS 6.0 的安装过程。 一、前提条件 * 一张 Linux CentOS 6.0 光盘或者 ISO 镜像文件 二、安装步骤 1.1、...
本文档详细介绍了如何在CentOS6.0操作系统上安装Oracle10g,这是一个非常实用的技术教程,尤其适合那些希望在最新版本的Linux发行版上部署旧版本Oracle数据库的用户。 首先,让我们深入了解CentOS6.0。这是一个基于...
4. **CPP**:预处理器,通常用于C和C++源代码文件。 ```bash sudo rpm -ivh cpp-4.4.4-13.e16.i686.rpm ``` 5. **GLIBC**:GNU C库,提供基本的C库功能以及POSIX兼容的标准接口。 - `glibc-devel`:包含开发...
至此,我们已经完成了在Centos 6.0上安装LAMP环境及配置 PhpMyAdmin 的过程。通过这些步骤,你可以轻松搭建一个功能完备的Web开发环境。 **参考资料**:[http://down.chinaz.com/server/201109/1064_1.htm]...
### CentOS 6.0 配置本地 YUM 源详解 #### 一、YUM 源简介 在 CentOS 6.0 系统中,YUM(Yellow dog Updater Modified)是一款强大的包管理器工具,它允许用户在基于 RPM 的 Linux 发行版上自动下载、更新和安装...
- 软件源代码包存储位置:`/usr/local/src` - 编译安装位置:例如,`/usr/local/nginx`、`/usr/local/mysql`、`/usr/local/php`等。 3. **下载所需软件** - **PCRE**:用于支持Nginx伪静态处理,如`pcre-8.13....
很多做服务器的程序员都因为在linux下安装linux而头痛不已,确实是很麻烦的一件事,此文档讲解了在CentOs6.0下安装Oracle11g的详细步骤,希望能帮到大家。
### CentOS6.0安装Oracle详解 #### 工具准备与远程连接 在开始安装Oracle之前,需要准备一些必要的工具,以便于文件传输和远程管理。本文档提到了两个关键工具:FileZilla和Putty。 - **FileZilla**:这是一款...
**CentOS 6.0 安装步骤详解** 在安装 CentOS 6.0 时,首先需要通过光盘或U盘成功引导系统。引导过程的关键在于如何选择合适的启动模式。当系统加载时,按下键盘上的 ESC 键,会出现 `boot:` 提示符,此时输入 `...
在本教程中,我们将详细介绍如何在CentOS 6.0最小化安装环境下,手动编译安装Nginx、MySQL、PHP以及Zend Optimizer。这个过程主要用于学习和掌握服务器配置及软件编译安装技术,同时也适用于那些希望自定义配置组件...
本文将详细介绍如何在VMware 10上安装CentOS 6.0,这是一个适合初学者和专业人士了解Linux环境的实践过程。 首先,我们需要下载VMware 10的安装程序和CentOS 6.0的ISO镜像文件。VMware 10提供了稳定且功能丰富的...
CentOS 7.9 安装 Zabbix 6.0 LTS 版 Zabbix 是一个基于 Web 的网络监控系统,能够实时监控服务器、网络设备和应用程序的状态。下面是 CentOS 7.9 安装 Zabbix 6.0 LTS 版的详细步骤。 安装 Nginx 首先,需要安装 ...
centos6.0种子文件 操作系统下载
《CentOS 6.0 安装全攻略》 在Linux世界中,CentOS是一款深受广大用户喜爱的开源操作系统,以其稳定性和兼容性著称。本文将详尽解析CentOS 6.0的安装步骤,帮助初学者和经验丰富的系统管理员顺利完成系统的部署。 ...
CentOS 6.0 下 vncserver 安装配置 Centos 6.0 下 vncserver 安装配置是一种远程桌面连接解决方案。通过安装和配置 vncserver,可以实现在服务器上远程桌面连接,提高工作效率和灵活性。 一、安装必要的软件包 ...
### CentOS 6.0安装MySQL 5.1.59全过程 #### 一、准备工作与下载MySQL源码 在开始安装MySQL之前,首先确保已经具备了以下条件: 1. **下载MySQL源码**:访问MySQL官方网站(http://www.mysql.com/downloads/)...
CentOS 6.0是基于Red Hat Enterprise Linux (RHEL) 6.0源码重新编译而成的免费开源操作系统,适用于企业级服务器部署。本文档将详细指导您如何在x86_64架构的硬件上安装CentOS 6.0,并提供关键步骤的截图辅助理解。 ...
U盘安装CentOS 6.0 实现目的:用U盘安装CentOS 6.0到服务器 工具软件: 1、U盘一只,我这里用到的是“朗科(Netac)USB3.0高速优盘 U903 16G” 2、CentOS 6.0系统镜像,我这里下载的是32位的系统CentOS-6.0-i386-...