BOCHS是一个对X86硬件进行模拟的虚拟机, 使用它可以对操作系统进行模拟硬件调试。 从而可以加深理解炒作系统的设计和工作原理。Google之,发现都是介绍在Ubuntu上面安装的方法。 由于手头没有 Ubuntu的系统, 只有一个 CentOS 6.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-devel1)然后编译安装:#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 源码编译安装 Quagga-0.99-20Vim中将tab自动转换成空格相关资讯 Bochs Bochs教程 Bochs配置
- Ubuntu 14.04 LTS 安装和配置Bochs (今 10:20)
- 在Ubuntu下用Bochs仿真freedos学习 (05/29/2014 19:53:28)
- openSUSE 安装Bochs 2.6 (11/30/2012 10:47:58)
| - Ubuntu上使用Bochs (今 10:14)
- Bochs 2.6 发布,开源 x86 虚拟机 (03/05/2013 18:50:39)
- Linux0.11 运行环境搭建以及调式-- (11/10/2012 14:25:07)
|
本文评论 查看全部评论 (0)