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
ubuntu 12.04安装bochs-2.3.5调试版本

调试版本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”:
    ubuntu 12.04安装bochs-2.3.5调试版本

  • 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,同时注释vgaromimage

     romimage: file=/usr/local/share/bochs/BIOS-bochs-lates
     #vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest
    

    ubuntu 12.04安装bochs-2.3.5调试版本