Ubuntu下bochs的安装配置

目前市面上流行的全虚拟化PC仿真软件系统主要有三种:VMware公司的VMware Workstation软件、Microsoft公司的Virtual PC以及开放源代码的Bochs。这3种软件都可以虚拟或仿真Intel x86硬件环境,可以让我们在运行这些软件的系统平台上运行多种其它的“客户”操作系统。

就使用范围和运行性能来说,这3种仿真软件有一定的区别。Bochs仿真了x86的硬件环境(CPU的指令)及其外围设备,因此很容易被移植到很多操作系 统上或者不同体系结构的平台上。由于主要使用了仿真技术,其运行性能和速度都要比其它两个软件慢很多。Virtual PC的性能则介于Bochs和VMware Workstation之间。它仿真了x86的大部分指令,而其它部分则采用虚拟技术来实现。VMware Workstation仅仿真了一些I/O功能,而所有其它部分则是在x86实时硬件上直接执行。也就是说当客户操作系统在要求执行一条指令 时,VMware不是用仿真方法来模拟这条指令,而是把这条指令“传递”给实际系统的硬件来完成。因此VMware是3种软件中运行速度和性能最高的一 种。

从应用方面来看,如果仿真环境主要用于应用程序的开发,那么VMware Workstation和Virtual PC可能是比较好的选择。但是如果需要开发一些底层系统软件(比如进行操作系统开发和调试、编译系统开发等),那么Bochs就是一个很好的选择。使用 Bochs,你可以知道被执行程序在仿真硬件环境中的具体状态和精确时序,而非实际硬件系统执行的结果。这也是为什么很多操作系统开发者更倾向于使用 Bochs的原因。

OK,废话少说,转入正题。

我的操作系统是Ubuntu10.10 64位(开发代号MaverickMeerkat )。

如果你使用的也是Ubuntu操作系统,可以使用下面的命令来安装Bochs:

$sudo apt-get install vgabios bochs bochs-x bximage

在终端中敲入这行命令,不一会系统就帮你安装好了。

这样安装虽说省事,但有个缺点不得不说,就是默认安装的Bochs没有调试功能,oh my lady gaga,这样可不行。所以最好的方法还是从源代码安装。

从Bochs的官方网站http://bochs.sourceforge.net/下载最新的Bochs源代码包,我下载的是bochs-2.4.5.tar.gz。

安装过程差不多是这个样子的:

$tar vxzf bochs-2.4.5.tar.gz

$cd bochs-2.4.5

$./configure --enable-debugger --enable-disasm

$make

$sudo make install

解释一下上面几行命令:

1. 解压源代码包bochs-2.4.5.tar.gz,生成文件夹bochs-2.4.5;

2. 进入bochs-2.4.5目录;

3. 运行configure脚本,它会测试你的机器,C/C++编译器以及一些库,用来判断何种配置适合于你的机器。其中命令行参数--enable-debugger --enable-disasm便是打开调试功能的开关。成功执行完configure脚本后,会在每个源代码目录下生成一个Makefile文件;

4. make根据第三步生成的Makefile文件从源代码编译整个Bochs;

5. 当整个Bochs编译成功后,执行make install,会将Bochs的可执行文件、帮助文档以及其它一些必要文件拷贝到系统相应的目录下,以便运行Bochs。默认情况下,会将一些必要的文件放到如下目录里,这里以我的安装目录为准:

表 1


/usr/local/bin/bochs


Bochs启动程序


/usr/local/bin/bximage


Bochs自带的制作磁盘映像文件的工具


/usr/local/bxcommit


把redolog放进flat磁盘镜像文件中去的交互工具


/usr/local/share/doc/bochs/bochsrc-sample.txt


Bochs配置文件的例子


/usr/local/share/bochs/BIOS-bochs-*


BIOS映像文件(通常为BIOS-bochs-latest)


/usr/local/share/bochs/VGABIOS-*


VGA BIOS映像文件(通常为VGABIOS-lgpl-latest)

这里对第3步再进行一个补充,如果在执行configure脚本的时候遇到:

错误1configure: error: C++ preprocessor "/lib/cpp" fails sanity check

因为Bochs是用C++写的,所以这里要安装GNU gcc/g++编译器。

解决办法:sudo apt-get install build-essential

sudo apt-get install g++

错误2:checking for default gui on this platform... x11
ERROR: X windows gui was selected, but X windows libraries were not found.

解决办法: sudo apt-get install xorg-dev

错误3ERROR: pkg-config was not found, or unable to access the gtk+-2.0 package.

解决办法:sudo apt-get install libgtk2.0-dev

Ok,Bochs已经安装完毕。现在,我们已经有了计算机(Bochs),还差一张引导软盘。既然计算机都可以虚拟,软盘当然也可以。在刚刚装好的 Bochs组件中,有一个工具叫做bximage(见表1的第二项),它既能生成虚拟软盘,也能生成虚拟硬盘,我们也称它们为磁盘映像。创建一个软盘映像 的过程如下所示:

[email protected]:~$ bximage
========================================================================
                bximage
         Disk Image Creation Tool for Bochs
    $Id: bximage.c,v 1.34 2009/04/14 09:45:22 sshwarts Exp $
========================================================================

Do you want to create a floppy disk image or a hard disk image?
Please type hd or fd. [hd] fd

Choose the size of floppy disk image to create, in megabytes.
Please type 0.16, 0.18, 0.32, 0.36, 0.72, 1.2, 1.44, 1.68, 1.72, or 2.88.
 [1.44]
I will create a floppy image with
 cyl=80
 heads=2
 sectors per track=18
 total sectors=2880
 total bytes=1474560

What should I name the image?
[a.img]

Writing: [] Done.

I wrote 1474560 bytes to a.img.

The following line should appear in your bochsrc:
 floppya: image="a.img", status=inserted
[email protected]:~$

完成后,会在当前目录下生成一个a.img文件,这便是我们的软盘映像。

所谓磁盘映像文件(Disk Image File)是软盘或硬盘上信息的一个完整映像,并以文件的形式保存。磁盘映像文件中存储信息的格式与对应磁盘上保存信息的格式完全一样。空磁盘映像文件是 容量与我们创建的磁盘相同但内容全为0的一个文件。这些空磁盘映像文件就像刚买来的新软盘或硬盘,还需要经过分区及格式化才能使用。

我们在当前目录下新建一个文件,命名为bochsrc(注意,没有后缀)。

############################################################### # Configuration file for Bochs(Linux) ###############################################################

#=======================================================================
# filename of ROM images #=======================================================================
romimage: file=$BXSHARE/BIOS-bochs-latest #=======================================================================
# VGAROMIMAGE
# You now need to load a VGA ROM BIOS into C0000.
#=======================================================================
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest

#=======================================================================
# what disk images will be used #=======================================================================
floppya: 1_44=/home/mayuan/a.img, status=inserted

#=======================================================================
# choose the boot disk. #=======================================================================
boot: floppy

#=======================================================================
# where do we send log messages?  #=======================================================================
log: bochsout.txt

#=======================================================================
# disable the mouse
#=======================================================================
mouse: enabled=0

#=======================================================================
# enable key mapping, using US layout as default.
#=======================================================================
keyboard_mapping: enabled=0, map=

#=======================================================================
# how much memory the emulated machine will have
#=======================================================================
megs: 32

万事俱备,从终端进入当前目录(假设是/home/mayuan,bochsrc与a.img也在这个目录内),输入命令:

$bochs

如果我们在启动Bochs时没有在命令行上指定配置文件,那么Bochs会按以下的顺序寻找默认配置文件:

  1. .bochsrcin the current directory
  2. bochsrcin the current directory
  3. bochsrc.txt in the current directory
  4. (win32 only) bochsrc.bxrc in the current directory
  5. (Unix only) .bochsrc in the user‘s home directory
  6. (Unix only) bochsrc in the /etcdirectory

回车,提示:

1. Restore factory default configuration
2. Read options from...
3. Edit options
4. Save options to...
5. Restore the Bochs state from...
6. Begin simulation
7. Quit now

Please choose one: [6]

继续回车,输入c,再按回车,Bochs便启动成功

Ubuntu下bochs的安装配置,布布扣,bubuko.com

时间: 2024-10-05 05:07:05

Ubuntu下bochs的安装配置的相关文章

ubuntu 下telnet服务安装配置

1. sudo apt-get install xinetd telnetd 2. sudo vim /etc/xinetd.conf并加入以下内容进行下一步的Ubuntu Linux telnet设置: # Simple configuration file for xinetd # # Some defaults, and include /etc/xinetd.d/ defaults { # Please note that you need a log_type line to be a

ubuntu下 mongodb 首次安装配置

1 下载 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 2 解压并拷贝到 /usr/local/mongodb tar -zxvf mon* cp mongodb-linux-x86_64-3.0.6 /usr/local/mongo 3 配置环境变量 /etc/profile sudo gedit /etc/profile 添加mongodb的安装路径下的bin 到 path export PATH=<mongo

Linux(Ubuntu)下MySQL的安装与配置[转载+亲测]

在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今天,需要在Linux下用Qt连接MySQL.遂安装配置了一把. 1)首先检查系统中是否已经安装了MySQL 在终端里面输入 sudo netstat -tap | grep mysql 若没有反映,没有显示已安装结果,则没有安装.若如下显示,则表示已经安装 2)如果没有安装,则安装MySQL. 在终端输入 sudo apt-get install mysql-server mysql-client

Linux(Ubuntu)下MySQL的安装与配置

转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今天,需要在Linux下用Qt连接MySQL.遂安装配置了一把. 1)首先检查系统中是否已经安装了MySQL 在终端里面输入 sudo netstat -tap | grep mysql 若没有反映,没有显示已安装结果,则没有安装.若如下显示,则表示已经安装 2)如果没有安装,则安装MySQL. 在终

linux 下 VNC Server安装配置及 eclipse CDT C/C++ 开发环境搭建(我用的是阿里云服务器 ubuntu 12.04 64-bit,无图形化界面)

linux 下 VNC Server安装配置及 eclipse CDT C/C++ 开发环境搭建(我用的是阿里云服务器 ubuntu 12.04 64-bit,无图形化界面): 既然要用 eclipse 可视环境下开发,那首先要安装图形界面喽!!! 对开发者来说,个人认为 linux 选择界面优先选择顺序:Awesome(性能最好) > Xfce4 > gnome > unity-2d //////////////////////////////////////////////// 首先

Ubuntu下MySQL的安装与配置

1)首先检查系统中是否已经安装了MySQL 在终端里面输入 sudo netstat -tap | grep mysql 若没有反映,没有显示已安装结果,则没有安装.若如下显示,则表示已经安装 2)如果没有安装,则安装MySQL. 在终端输入 sudo apt-get install mysql-server mysql-client 运行结果如下所示: 在此安装过程中会让你输入root用户(管理MySQL数据库用户,非Linux系统用户)密码,按照要求输入即可.如下所示: 3)测试安装是否成功

ubuntu下Tomcat7的安装和配置

和前几个软件一样,Tomcat 同样是由JAVA开发的,所以,在安装前一定要装好JDK. 大家可以到 http://tomcat.apache.org/download-70.cgi 下载最新的Tomcat. 我下载的是 apache-tomcat-7.0.5.tar.gz 安装: 1.首先,将apache-tomcat-7.0.5.tar.gz移动到 /opt 目录下,并将其解压: 1 2 3  sudo cd apache-tomcat-7.0.5.tar.gz /opt sudo tar

ubuntu下tftp的安装、配置、使用

ubuntu下tftp的安装.配置.使用 1. 安装 $ apt-get install tftp-hpa tftpd-hpa 2. 建立目录 $ mkdir /tftpboot # 这是建立tftp传输目录. $ sudo chmod 0777 /tftpboot $ sudo touch test.txt # test.txt文件最好输入内容以便区分 3. 配置 $ sudo vi /etc/default/tftpd-hpa3. # /etc/default/tftpd-hpa TFTP_

linux下bochs的安装及简单运行

http://bochs.sourceforge.net/    bochs官网.关于bochs不再累述. 我是在UBUNTU下用包管理软件apt-get装的bochs.命令 apt-get install bochs 这是一个没有调试环境的安装,先感受一下小成功的滋味..呵呵 这样的安装后,在命令行下执行$bochs会跳出一个配置界面,表害怕,这说安装成功啦.仔细阅读他的提示会发现是没有配置文件 (配置文件bochsrc,ROMIMAGE,VGAROMIMAGE.这些不解释.自己查).你可以配