在vmware中的ubuntu10.10中搭建Bochs

   1.下载Bochs的最新版本bochs-1.4.6.tar.gz;
   2. 使用tar zxvf bochs-1.4.6.tar.gz 解压;
   3. 进入相应目录./configure --enable-debugger --enable-disasm 出现:


碰见问题一:
  
      尝试方法: 1.尝试其它的版本都无法configure 、无法make 成功。
                         2.继续查资料,搜集到一篇文章《ubuntu下安装bochs 2.4.2》,网址为:
 http://apps.hi.baidu.com/share/detail/33942740
               

  内容:
----------------------------------------------------------------------------------------

今天折腾了几个小时,终于出现“hello world"画面了
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
准备工作:
首先,安装以下软件:
sudo apt-get bulid-essional (如果以前安装过就免了)
sudo apt-get install xorg-dev
sudo apt-get install bison

安装bochs:
然后到bochs官方网站下载源码包 bochs-2.4.2.tar.gz
解压此文件:tar vxzf bochs-2.4.2.tar.gz
cd bochs-2.4.2
./configure --enable-debugger --enable-disasm
make
sudo make install
注意:在以上过程中可能会遇到错误,不必惊慌,到百度上去找答案吧

配置bochs:
安装好bochs之后,我们需要对bochs进行配置,其实就是对文件bochrsc进行修改!
《orange's :一个操作系统的实现》的附带光盘里有一个已经配置好的bochrsc,但
是它是针对bochs2.3版本的,所以不能用!!!我们需要重新修改bochrsc!
首先将附带光盘里的chapter1子目录下的文件夹a 移动到/home/roothoo/,(主要是为
是让a.img 和 bochsrc在同一文件夹下),然后对bochrc进行修改如下:
注意,#是注释符号!即#之后的语句是无效的,其实#就相当于C+语言中的//
###############################################################
# Configuration file for Bochs
###############################################################

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

# filename of ROM p_w_picpaths
#romp_w_picpath: file=/usr/local/share/bochs/BIOS-bochs-latest
romp_w_picpath: file=$BXSHARE/BIOS-bochs-latest
#vgaromp_w_picpath: /usr/local/share/vgabios/vgabios.bin
vgaromp_w_picpath: file=$BXSHARE/VGABIOS-lgpl-latest

# what disk p_w_picpaths will be used
floppya: 1_44=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=1, map=/usr/local/share/bochs/keymaps/x11-pc-us.map

注意看字体为红色的那两句!

修改好之后,别忘了保存!
最后,我们运行bochs
cd /home/roothoo/a #我们切换到a.img 和 bochsrc所在的文件夹,
bochs -f bochsrc #以bochsrc为配置文件启动bochs
然后选择6,
然后再按c键,
OK!!!
ENJOY! -_-

--------------------------------------------------------------------------------------------------

解决方法:
好,就按照上面的操作,开始安装 
sudo apt-get bulid-essional
                                                                  sudo apt-get install xorg-dev
                                                                  sudo apt-get install bison   
   
(其实也不知道bulid-essional等工具是啥作用)


碰见问题 二:

调查:

Ubuntu缺省情况下,并没有提供C/C++的编译环境,因此还需要手动安装.

 如果单独安装gcc以及g 比较麻烦,幸运的是,为了能够编译Ubuntu的内核,Ubuntu提供了一个build-essential软件包,所以要.$sudo apt-get install build-essential

看来是安装build-essential不成功,调查知一篇文章:
http://my.chinaunix.net/space.php?uid=11829250&do=blog&id=350113


————————————————————————————————————
build-essential包含了LINUX下常用的一些编译工具,因此开发LINUX程序前,应先安装这个包,联网情况下只需要在终端输入sudo apt-get install build-essential就可以安装了。如果没有联网,可以用如下方法安装:
1.下载LINUX安装光盘的ISO镜像文件。我这里下载的是xubuntu-8.04.1-desktop-i386.iso,放在了/home目录下。可到如下地址下载XUBUNTU镜像文件(http://cdp_w_picpath.ubuntu.com/xubuntu/releases/)
2.把该ISO镜像文件挂载到光驱。光驱文件一般是/cdrom,切换到ISO文件所在目录,通过如下命令挂载:
sudo mount -o loop -t iso9660 xubuntu-8.04.1-desktop-i386.iso /cdrom
3.依次打开System--->Administration--->Softwar Source,在Software Source对话框中选择“Other software”选项卡,然后点击"Add CD-ROM"按钮,这样就把软件源设置为了光驱
4.在终端中输入以下命令:sudo apt-get update
sudo apt-get install build-essential,这样就可以把build-essential安装好了。
————————————————————————————————————
  


根据实验,挂在ubuntu-10.10-dvd-i386.iso,然后并没有发现software source.后来选择了重新安装操作系统,并将第三方软件的安装勾选上,并想办法将虚拟机下的ubuntu设置上网。

解决方法是将虚拟机设置成桥接模式,而不是NAT模式;OK解决了上网问题,并升级相应的第三方软件;再运行sudo apt-get update  
                                                        sudo apt-get install build-essential
成功!


然后再次onfigure出现Package gtk+-2.0 was not found 错误,需要再次安装gtk+-2.0,那就继续安装吧。

搜集到一篇帖子:
——————————————————————————————————————

Ubuntu下安装GTK+[日期:2008-09-22] 来源:Linux社区 作者:Linux编辑



Ubuntu下GTK的安装

apt-get install build-essential #这将安装gcc/g++/gdb/make 等基本编程工具

apt-get install gnome-core-devel #这将安装 libgtk2.0-dev libglib2.0-dev 等开发相关的库文件

apt-get install pkg-config #用于在编译GTK程序时自动找出头文件及库文件位置



apt-get install devhelp #这将安装 devhelp GTK文档查看程序

apt-get install libglib2.0-doc libgtk2.0-doc #这将安装 gtk/glib 的API参考手册及其它帮助文档

apt-get install glade libglade2-dev #这将安装基于GTK的界面GTK是开发Gnome窗口的c/c++语言图形库。

apt-get install libgtk2.0*, gtk+2.0所需的所有文件统通下载安装完毕。

应用程序编译命令:gcc test.c `pkg-config --cflags --libs gtk+-2.0`,编译通过,运行正常。

pkg-config是一个用来管理包的程序,在控制台输入 pkg-config --cflags --libs gtk+-2.0,可以发现输出的文本包括了gcc编译gtk+2.0所需要的所有选项(头文件目录和库文件)。

这里有一点需要注意, gcc test.c `pkg-config --cflags --libs gtk+-2.0`, pkg-config --cflags --libs gtk+-2.0两侧的引号并不是真正的引号,而是键盘数字件那一行,最左边的那个字符。如果错用了单引号,gcc无法使用 pkg-config --cflags --libs gtk+-2.0产生的文本作为编译选项。构造程序。

——————————————————————————————————————

嘎嘎!
终于可以正确的make了。功夫不负有心人啊!
也可以sudo make install了。好happy!啊~