ubuntu bochs

在配置boch时候总是出现如下错误:
symbols.cc:143: 错误: ISOC++ 不允许声明无类型的‘hash_map’
symbols.cc:143: 错误: expected ‘;’ before ‘<’token
symbols.cc:151: 错误: expected constructor, destructor, or typeconversion before ‘<’ token
symbols.cc: In constructor ‘context_t::context_t(Bit32u)’:
symbols.cc:158: 错误: ‘map’在此作用域中尚未声明
symbols.cc: In static member function ‘static context_t*context_t::get_context(Bit32u)’:
symbols.cc:180: 错误: ‘map’在此作用域中尚未声明
make[1]: *** [symbols.o] 错误 1
make[1]:正在离开目录 `/home/baichaogang/Down/bochs-2.3.7/bx_debug'
make: *** [bx_debug/libdebug.a] 错误 2
最后终于找到了解决方案
一、准备工作
bochs是由C++编写的,我们要安装相应的编译环境
sudo apt-get install build-essential

如果要图形界面,
sudo apt-get install xorg-dev

安装bison,
sudo apt-get install bison
到bochs官方网站下载源码包bochs-2.3.7.tar.gz
解压产生文件夹bochs-2.3.7,生成目录/home/ubuntu/Desktop/bochs-2.3.7

二、configure
在目录/home/ubuntu/Desktop/bochs-2.3.7/下执行
./configure --with-x11 --enable-debugger --enable-disasm--enable-pci --enable-pcidev --enable-plugins --enable-ne2000--enable-pnic --enable-docbook=no
configure后的选项作为参考,你可以用./configure--help查看全部选项,bochs官方网站上有详细说明。

三、make
在运行make之前需要修改一个文件
第一个文件是/home/ubuntu/Desktop/bochs-2.3.7/bx_debug/symbols.cc
在97行之后加入代码如下,
using namespace std;

#ifdef __GNUC__ //修改
using namespace __gnu_cxx; //修改
#endif //修改

struct symbol_entry_t
附symbols修改.cc


文件修改完毕,在目录/home/ubuntu/Desktop/bochs-2.3.7/下执行
sudo make

四、make install
在目录/home/ubuntu/Desktop/bochs-2.3.7/下执行
sudo make install

安装完bochs后接下来就可以运行bochs了:

与windows下bochsrc.bxrc不同的是linux下bochs使用bochsrc文件(无后缀)
修改/home/ubuntu/PYOS/Bochsgg/a/目录下的bochsrc,(/home/ubuntu/PYOS/Bochsgg/a/是我的img镜像文件及bochsrc文件在的目录):
romimage: file=/usr/local/share/bochs/BIOS-bochs-latest

vgaromimage: file=/usr/local/share/bochs/VGABIOS-lgpl-latest
...
在当前目录下输入命令bochs,你的程序可以运行了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值