搭建第三章pmtest1.com的bochs运行环境
一、前言
本来想跳过这本书的第二章直接进入第三章的,但是我还是too young too simply。第三章一开始讲的是实模式到保护模式的转换,所以什么是实模式,什么是保护模式,这些东西有啥子用?带着一大堆问题,翻来覆去的看了十几遍书,在网上看了许多的博客终于有些模糊的认识了,结果代码一敲,然后...这代码要怎么运行,我要怎样才能看到这个代码的效果呢?!
这里bochs的重要性就突显出来了。首先看到书上面的一段话(这段话在2.5小节里面):我们要写的是基于x86平台的32位操作系统,这需要我们队保护模式有非常好的了解。而学习保护模式时编写的代码需要依赖运行于实模式的DOS,而不是V86模式下的DOS。这段话告诉我们一个信息,第三章那该死的代码是要在DOS上面运行的!但是ubuntu是没有DOS的!所以我搜了几天的“在ubuntu/linux下运行pmtest1”根本就毫无意义。那么为了第三章能顺利的学习下去,但是又不想再安装一个VirtualPC,我决定在ubuntu内再装一个bochs。
首先,对bochs的理解,它是一款x86的模拟器。不过bochs它很有意思,它的界面是这样的,作为一款开源软件,感觉就是和商业软件那种妖艳的贱货不一样。而且在书上和众多博客上面都强烈的称赞了它的调试功能(虽然我现在并不会用,但是以后应该会慢慢接触到的)。
如此清新脱俗的模拟器,是不是很让人心动呢?现在我们开始将它收入囊中。(以下都是在权限模式下的命令)
二、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.解压下载的源代码:
tar zxvf bochs-2.4.5.tar.gz
3.进入bochs-2.4.5目录,运行configure脚本:
./configure –enable-debugger –enable-disasm
(–enable-debugger和 –enable-disasm 表示开启调试和反汇编功能)
4.第3步正确运行后,会产生一个Makefile文件,于是可以编译:
make
5.安装:
make install
好了,我们已经把bochs安装完了,但是说着容易做着难,在安装过程中你会遇到许许多多,形形色色,奇奇怪怪的问题。bochs是基于C++的,所以在安装之前我们需要安装相关的依赖环境,也就是说在我们安装之前还要装一些东西。
1.apt-get install build-essential
2.apt-get install xorg-dev
3.apt-get install libgtk2.0-dev
4.apt-get install bison
到此为止,我们的安装还是不会很顺利。好了现在我们把一些出现的问题大致梳理一下(每次执行命令时候都会有一大串提示,只要看后面有没有报错就行):
1.error: C++ preprocessor “/lib/cpp” fails sanity check
因为Bochs是用C++写的,所以这里要安装GNU g++编译器。