在Debian不同,Ubuntu下安装bochs的文件路径与前者不同,需要稍加变化
在安装过程,还要重新下载一下bochs编译的文件
=================================================================================
我的安装过程主要参照了ubuntu中文论坛里面的一篇帖子( http://forum.ubuntu.org.cn/viewtopic.php?f=65&t=177608&start=0)
一、准备工作 1.bochs是由C++编写的,我们要安装相应的编译环境,否则的话在make的时候会出现“ error: C++ preprocessor
"/lib/cpp" fails sanity check“的错误。
sudo apt-get install build-essential
(同时可以解决make出现找不到makefile文件的问题)
2.相信大多数人是需要GUI界面的 sudo apt-get install
xorg-dev
3.安装bison sudo apt-get install
bison
4.到bochs官方网站下载bochs的最新或者历史版本。建议下载.tar.gz的压缩文件,并解压缩 tar vxzf
bochs-2.3.5.tar.gz
二、configure 在解压出来的bochs目录下执行 ./configure --enable-debugger
--enable-disasm
三、make make之前需要修改一个文件,是bochs目录下bx_debug文件夹的symbols.cc
在97行之后加入代码如下, using namespace std;
#ifdef __GNUC__ //修改 using namespace
__gnu_cxx; //修改 #endif //修改
struct symbol_entry_t
修改完了之后在bochs目录下执行 sudo
make
四、make install 在bochs目录下执行 sudo make install
至此,bochs已经安装完成了。
但是参照网上以及《一个操作系统的实现》的说明,此时的bochs还是不能正常运行。我的版本是bochs-2.3.5,反正如果运行的话,就说读取bochsrc文件失败。结果发现2.3.5版本的里面根本没有bochsrc文件。。。唯一有的一个src文件还是隐藏的,在bochs目录下,用ls
-a命令可以看到一个.bochsrc的文件,这是自带的一个配置文件。只好重新在bochs的目录下新建了一个bochsrc文件,代码如下:
================================================================
megs:32
romimage:
file=/home/charming/bochs-2.3.5/bios/BIOS-bochs-latest
vgaromimage:
file=/home/charming/bochs-2.3.5/bios/VGABIOS-lgpl-latest
floppya: 1_44=a.img,
status=inserted
boot:floppy
log: bochsout.txt
mouse:
enabled=0
#keyboard_mapping: enabled=1,
map=/home/charming/bochs-2.3.5/iodev/keyboard.o
#keyboard_mapping: enabled=1,
map=/usr/share/bochs/keymaps/x11-pc-us.map
===============================================================
关键是前面两个romimage和vgaromimage的设置要对,其实相应的文件在bochs文件夹的bios文件夹里面可以找到。至于后面什么键盘的设置,我也不知道到底该指定哪一个,所以就注释掉了。
然后,bochs的安装就ok了。其他的按照《orange‘s》上面所说,bximage一个floppy
disk 然后dd一下,在执行 bochs -f bochsrc 就可以看到 “hello,OS wolrd” 了 ps:安装nasm的话,可以执行 sudo
apt-get install nasm
================================================================================