Ubuntu 下安装配置bochs

在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 ================================================================================

Ubuntu 下安装配置bochs

上一篇:UDP套接口编程


下一篇:UVa 748 Exponentiation