ubuntu 12.04安装bochs-2.3.5调试版本
非调试版本的bochs安装
非调试版本的bochs安装命令:
sudo apt-get install vgabios bochs bochs-x bximage
1、如果运行出错:找不到 XpmCreatePixmapFromData ,解决办法:换个显示方案
sudo apt-get install bochs-sdl
然后在bochs的配置文件中将display_library的置为sdl,display_library: sdl
调试版本bochs安装
bochs安装前置条件准备:
- 1、下载bochs的源文件包,我用的是bochs-2.3.5.tar.gz
- 2、需要装有gcc和g++,用高一点的版本,这里用的是gcc-5和g++ 5:
ubuntu 12.04安装gcc-5的步骤:
添加ppa:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-5
如果安装了多个版本的gcc,可以通过update-alternatives命令来选择:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 20
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50
sudo update-alternatives --config gcc (选择需要的版本)
g++的多版本切换类似
安装开始
-
1、解压bochs-2.3.5.tar.gz,并进入bochs-2.3.5:
tar xvf bochs-2.3.5.tar.gz cd bochs-2.3.5
-
2、切换显示方案为sdl,安装SDL库
sudo apt-get install libsdl1.2-dev
安装完成之后,在目录/usr/include中,就会有个SDL文件夹,里面包含了所需要的头文件,如果没有SDL库,安装bochs会出错:“ bochsrc:23: display library ‘sdl’ not available”
-
3、打开bochs-2.3.5/bx_debug/symbols.cc,添加using namespace __gnu_cxx
如果没有加这个命令空间,make编译的时候会报错找不到“hash_map”: -
4、在bochs-2.3.5目录下,执行configure命令:
./configure --with-sdl --enable-debugger --enable-disasm --includedir=/usr/include/SDL
-
5、编译安装:
make sudo make install
-
6、至此调试版本的bochs已安装完毕
环境中有两个bochs,apt-get install安装的bochs在/usr/bin目录下,调试版本的bochs默认安装在/usr/local/bin,我们可以将/usr/local/bin下的bochs重命名为bochs_debug:sudo mv /usr/local/bin/bochs /usr/local/bin/bochs_debug
-
7、如果运行出错:“[VGA ] VBE unknown Display Interface
b0c5”而退出,解决办法:需要修改bochsrc文件的romimage,同时注释vgaromimageromimage: file=/usr/local/share/bochs/BIOS-bochs-lates #vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest