Bochs启动程序
1安装过程:
tar xzvf bochs-2.3.5.tar.gz
cd bochs-2.3.5
./configure --enable-debugger --enable--disasm
make
出现问题:
symbols.cc: At global scope:
symbols.cc:137: error: ISO C++ forbids declaration of ‘hash_map’ with no type
symbols.cc:137: error: expected ‘;’ before ‘<’ token
symbols.cc:145: error: expected constructor, destructor, or type conversion before ‘<’ token
symbols.cc: In constructor ‘context_t::context_t(Bit32u)’:
symbols.cc:152: error: ‘map’ was not declared in this scope
symbols.cc: In static member function ‘static context_t* context_t::get_context(Bit32u)’:
symbols.cc:173: error: ‘map’ was not declared in this scope
make[1]: *** [symbols.o] Error 1
make: *** [bx_debug/libdebug.a] Error 2
解决方法:
在做make 之前, 需要在bx_debug/symbols.cc 的97『具体版本可能不一样』 行之后加上一些代码,加后如下所示:
using namespace std;
#ifdef __GNUC__ ( 新加的,注意前后都是两个下划线 )
using namespace __gnu_cxx; ( 新加的,注意前面是两个下划线 )
#endif ( 新加的)
struct symbol_entry_t;
2配置文件『bochsrc文件』
bochs的标准的实例文件在 /usr/share/doc/bochs-2.4.5/bochsrc-sample.txt,其中$BXSHARE='/usr/share/bochs'
相关工具及其存放位置:
Bochs启动程序 /usr/bin/bochs
/usr/bin/bximage Bochs带的制作磁盘镜像文件的工具
/usr/bin/bxcommit 把redolog放进flat磁盘镜像文件中去的交互工具
/usr/share/doc/bochs/bochsrc-sample.txt Bochs配置文件的例子
/usr/share/bochs/BIOS-bochs-* ROM BIOS镜像文件
/usr/share/bochs/VGABIOS-* 与VGA BIOS镜像文件相关的文件
/usr/bin/bochs-dlx 启动Bochs中DLX linux的程序
/usr/share/bochs/dlxlinux/ DLX Linux的目录,包含它的磁盘镜像文件和配置文件
/usr/share/bochs/keymaps/*.map X11和SDL的keymap列表