bochs 2.3.5源码编译

网上编译bochs的资料非常多,基本的问题都有解决方案,我重点讲不常见的问题。 基本安装步骤

tar vxzf bochs-2.3.5.tar.gz
cd bochs-2.3.5
sudo ./configure --enable-debugger --enable-disasm --enable-x86-64
LDFLAGS=-L/usr/lib/i386-linux-gnu
sudo make sudo make install 

bochs是c++实现的,因此其依赖环境会有build-esstianl g++ devlib等,需事先安装环境

sudo apt-get install build-essential
sudo apt-get install xorg-dev //GUI界面
sudo apt-get install bison

在执行./configure时,出现apt-get orgx-dev后依旧出现仍然提示ERROR: X windows gui was selected, but X windows libraries were not found 采用解决办法:

只要编译的时候连接了 -lX11这个库就可以了,所以可以让configure阶段出错的地方不退出,并且在make的时候link X11这个库,编辑configure, 将退出的地方注释掉

echo ERROR: X windows gui was selected, but X windows libraries were not found.
#exit 1
configure命令后加 LDFLAGS=-L/usr/lib/i386-linux-gnu 
该问题不能用--with-nogui解决,否则无法输出hello os,因为需要使用gui

make之前需要修改一份文件bx_debug/symbol.cc

在97行之后加入代码如下,
using namespace std; #ifdef __GNUC__ //修改
using namespace __gnu_cxx; //修改
#endif //修改 struct symbol_entry_t 在编译安装完成之后,需要在img文件夹里创建bochsrc.txt。内容如下:
 
###############################################################
# Configuration file for Bochs(Linux)
############################################################### #=======================================================================
# filename of ROM images
#=======================================================================
romimage: file=$BXSHARE/BIOS-bochs-latest #=======================================================================
# VGAROMIMAGE
# You now need to load a VGA ROM BIOS into C0000.
#=======================================================================
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest #=======================================================================
# what disk images will be used
#=======================================================================
floppya: 1_44=a.img, status=inserted #=======================================================================
# choose the boot disk.
#=======================================================================
boot: floppy #=======================================================================
# where do we send log messages?
#=======================================================================
log: bochsout.txt #=======================================================================
# disable the mouse
#=======================================================================
mouse: enabled= #=======================================================================
# enable key mapping, using US layout as default.
#=======================================================================
keyboard_mapping: enabled=, map= #=======================================================================
# how much memory the emulated machine will have
#=======================================================================
megs:

 

64位Ubuntu 13.04 安装Bochs 2.3.5的更多相关文章

  1. 64位win7硬盘安装64位ubuntu 13.04

    最近本来是准备通过升级的方式把ubuntu从12.04升级到12.10再升级到13.04的,但是升级到12.10之后,可能是因为某一步的操作不当,出现无法进入系统的情况.不过还好的是升级之前保存了主要 ...

  2. 【转】64位win7硬盘安装64位ubuntu 13.04

    原文网址:http://www.cnblogs.com/jiangz/p/3751617.html 最近本来是准备通过升级的方式把ubuntu从12.04升级到12.10再升级到13.04的,但是升级 ...

  3. 64位Ubuntu 14.04 安装wps

    因为wps还没有提供64位版本号的wps,13.10開始又取消了ia32-libs的支持,经过自己測试,能够使用下面命令完毕安装 sudo dpkg -i 包名 sudo apt-get -f ins ...

  4. 【转】64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解

    64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解,开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛.  安装步骤 1.准备工具安装目录 下载 ar ...

  5. Ubuntu 13.04安装搜狗输入法

    Ubuntu 13.04安装搜狗输入法 [日期:2013-07-08] 来源:Linux公社  作者:LinuxIDC.com [字体:大 中 小]     目标:在Ubuntu 13.04以及基于U ...

  6. 在64位Ubuntu系统上安装32位程序包

    在64位Ubuntu系统上安装32位的程序包 $sudo apt-get install package_name:i386 例如: $sudo apt-get install openjdk-7-j ...

  7. ubuntu 13.04 安装 JDK

    ubuntu 13.04 安装 JDK 具体步骤参详了如下链接: http://blog.csdn.net/yang_hui1986527/article/details/6677450 1.到 Su ...

  8. vmware 8下ubuntu 13.04安装vmware tools

    在虚拟机vmware 8.0里安装了ubuntu 13.04.为了方便与主机交互,安装vmware tools. 解压后直接运行 ./vmware-install.pl 一路默认路径安装下来,到&qu ...

  9. Ubuntu 13.04 安装 GCC4.8.1

    终于有了完整实现C++11的GCC 4.8.1. 给自己的系统升级吧. 下面的步骤可以安装GCC4.8.1, 内容来自:http://askubuntu.com/questions/312620/ho ...

随机推荐

  1. Python3中的新特性(3)——代码迁移与2to3

    1.将代码移植到Python2.6 建议任何要将代码移植到Python3的用户首先将代码移植到Python2.6.Python2.6不仅与Python2.5向后兼容,而且支持Python3中的部分新特 ...

  2. mysql 权限 备份

    mysqldump常用于MySQL数据库逻辑备份. 1.各种用法说明 A. 最简单的用法: mysqldump -uroot -pPassword [database name] > [dump ...

  3. json 处理

    //String sssssString = "{"response":{"data":[{"address":"南京市 ...

  4. B树、B-树、B+树、B*树---转载

    B树 即二叉搜索树: 1.所有非叶子结点至多拥有两个儿子(Left和Right): 2.所有结点存储一个关键字: 3.非叶子结点的左指针指向小于其关键字的子树,右指针指向大于其关键字的子树: 如: B ...

  5. js 阻止冒泡 兼容性方法

    function customstopPropagation(e){ var ev = e || window.event; if (ev.stopPropagation) { ev.stopProp ...

  6. 安装DirectX SDK (June 2010) 失败(Error Code S1023)(转)

    解决: 在控制面板里面搜索“Microsoft Visual C++*”,然后卸载,这个工具的名字大概是: Microsoft Visual C++ 2010 x86/x64 redistribuab ...

  7. IDT hook KiTrap03

    关于idt的基本知识就不进行赘述了,先看一个例子 0 ;------->进入内核,找到中断处理例程KiTrap03 0 这段代码执行,触发3号中断,然后开始执行KiTrap03例程,要知道,执行 ...

  8. mysql变量使用总结

    set语句的学习: 使用select定义用户变量的实践将如下语句改成select的形式: set @VAR=(select sum(amount) from penalties);我的修改: sele ...

  9. QT中可以用QProgressBar或着QProgressDialog来实现进度条

    QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 //补充:下面两句写在MainWindow的构造函数里进行初始化 ui->progressBar-& ...

  10. logback与Log4J的区别

    原文:http://blog.csdn.net/lwzcjd/article/details/5617200 Logback和log4j是非常相似的,如果你对log4j很熟悉,那对logback很快就 ...