ubuntu14.04中安装配置bochs详解

时间:2022-09-14 09:19:39


先说下自己的搞的配置:系统是ubuntu14.04LTS64位的,安装的是:bochs-2.4.5,采用的是源码编译的方式来安装的(ps:本来想在命令行中直接sudo apt-get install bochs的,试了几次,好像都不行,就没弄了。听说,命令行下安装的没有调试功能)。

捣弄了好久了,现在终于有点上路的感觉了。。。嘿嘿
先说下自己的搞的配置:系统是ubuntu14.04LTS64位的,安装的是:bochs-2.4.5,采用的是源码编译的方式来安装的(ps:本来想在命令行中直接sudo apt-get install bochs的,试了几次,好像都不行,就没弄了。听说,命令行下安装的没有调试功能)。


不多废话了,开始安装:
1.先去
http://nchc.dl.sourceforge.net/project/bochs/bochs/2.4.5/bochs-2.4.5.tar.gz 下载bochs-2.4.5.tar.gz


2.解压下载的源代码:
sudo tar zxvf bochs-2.4.5.tar.gz 3.进入bochs-2.4.5目录,运行configure脚本,它会测试你的机器,C/C++编译器以及一些库,用来判断何种配置适合于你的机器。运行:
sudo ./configure --enable-debugger --enable-disasm  (上面--enable-debugger --enable-disasm 是可选项,这两个是开启调试和反汇编功能)


4.第3步正确运行后,会产生一个Makefile文件,然后:
sudo make 5.安装:
sudo make install 至此,bochs安装已经结束。下面是编译安装过程中可能出现的一些问题及解决方法:


错误A.configure: error: C++ preprocessor "/lib/cpp" fails sanity check
因为Bochs是用C++写的,所以这里要安装GNU gcc/g++编译器。
解决办法:
sudo apt-get install build-essential   sudo apt-get install g++  错误B.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  

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

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


make的时候提示 /usr/bin/ld: gui/libgui.a(gtk_enh_dbg_osdep.o): undefined   reference to symbol  pthread_create@@GLIBC_2.1   //   lib/i386-linux-gnu/libpthread.so.0: error adding symbols: DSO missing   from command line collect2: error: ld r

 解决方法:
在makefile的libs中添加如下内容 :
lz -lrt -lm -lpthread 很晚了,明天再来写配置方面的东西。。。。


上一篇主要说安装的事情,安装成工的标志就是在命令行中有bochs这个程序,来张图片

http://s6.51cto.com/wyfs02/M01/42/99/wKioL1PYi9STNguGAAI6BPWn7eQ612.jpg

有这个界面的话就说明安装成功了。。。
接下来要干的事就是制作软盘和配置了,如果配置不成功的话,选6进去以后就会各种报错。
先说软盘制作吧!!
编译以后的bochs2.4.5文件夹下会有一个bximage可执行文件,在终端运行:

http://s8.51cto.com/wyfs02/M00/42/99/wKioL1PYi9TRQt22AADyhgWnDUc985.jpg

按照上面的步骤,我们就制作好了一张空的软盘,这个软盘就像我们的硬盘一样,用来存放系统文件的....
然后写入一个系统镜像,镜像文件可以去下载
http://www.oldlinux.org/Linux.old/images/bootroot-0.11
这个是linux0.11的镜像文件
然后在终端执行命令把镜像写入我们制作的软盘:
dd if=/home/freedemos/Downloads/bootroot-0.11 of=a.img 注意:这里执行的dd命令,if=你的镜像的路径,of=你的软盘的路径,照抄肯定会错....
接下来我们说下配置文件(配置文件因该是最烦人的了,我到现在都不是非常懂,但是能让虚拟机正常运行就好了,嘿嘿):
首先贴一下自己的配置及注释慢慢看吧!!!:我的配置文件名字为bochwang
#注意'#'后面为注内容,不是配置文件 

 megs:32  #这个32是模拟器的内存 

romimage:file=/usr/share/bochs/BIOS-bochs-latest  #这个是BIOS-bochs-latest的路径,自己去慢慢找,应该都不同的 

vgaromimage:file=/usr/share/bochs/VGABIOS-lgpl-latest  #这个是VGABIOS-lgpl-latest的路径,自己去慢慢找,应该都不同的 

 floppya:1_44=a.img,status=inserted #这个是启动软盘,就是我们刚才做的那个,就在当前目录下 

 boot:floppy  #这个决定boot从软盘启动还是硬盘启动,照抄就好了 

 log:bochsout.txt  #这个是登陆选项照抄 

 mouse:enabled=0 #这个是鼠标选项照抄  #选项还有很多,想了解更多可以参照原始的.bochsrc,这是个隐形文件,命令行下ls -a就能看到了  

 有了上面那些基本配置以后,我们就能从bochs启动linux0.11了,下面执行命令:


./bochs -f bochwang

然后就出现这界面:

http://s5.51cto.com/wyfs02/M00/42/98/wKiom1PYiruDnf4qAAD8NFDN_ZQ390.jpg

选择6,继续:

http://s9.51cto.com/wyfs02/M00/42/98/wKiom1PYirvxzE5JAAGuPySy_L8592.jpg

黑乎乎的一片?有没有感觉失败了.........其实不是这样的啦,这是调试模式,然后我们在终端中输入c,在确定,就会正常了.

http://s7.51cto.com/wyfs02/M02/42/99/wKioL1PYi9WRPPDpAAEv7-9G1Os874.jpg

有木有很开森?哈哈,这里就是一个小型的系统了......正确的说,这就是linux0.11版本内核.....
不过有点失望,传说中的linux内核就是这么个玩意,...............好了就这样吧
学习愉快!!!!!
Bochs:
http://www.cppblog.com/coreBugZJ/archive/2011/04/03/143334.aspx
这里面又很有用的东西。。
原文链接:
http://www.51cto.com/php/viewart.php?ID=446838     http://my.oschina.net/u/1757926/blog/294653