Chinaunix首页 | 论坛 | 博客
  • 博客访问: 384262
  • 博文数量: 80
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1767
  • 用 户 组: 普通用户
  • 注册时间: 2013-01-24 16:18
个人简介

为啥不能追求自己的爱好一辈子呢

文章分类

全部博文(80)

文章存档

2017年(1)

2015年(2)

2014年(18)

2013年(59)

分类: LINUX

2013-05-25 00:46:34

综述:

其实通过apt-get install bochs已经安装了bochs,但是不能调试,当内核出问题了之后仍然不行 ,windows版的可以直接下载在安装目录下面叫bochsdbg,而linux下面得重新编译根据编译选项设置,所以我就决定编译一个版本出来,先下载吧,地址在

点击(此处)折叠或打开

  1. http://jaist.dl.sourceforge.net/project/bochs/bochs/2.6.1

因为我是ubuntu的版本所以下载了tar.gz的。然后需要解压出来

点击(此处)折叠或打开

  1. tar -zxvf bochs-2.6.1.tar.gz
解压出来之后就会生成bochs-2.6.1的文件夹,我们就可一编译啦。首先需要cofigure一下

点击(此处)折叠或打开

  1. ./configure --with-all-libs --enable-debugger
大家可以看一下configure文件夹,里面有bochs的各种配置,可以自己设置自己需要的。
然后我们就可一make了。等等貌似我们还需要一些bochs需要的库,因为bochs有自己的界面用gtk做的,我们提前需要安装gtk的包我也是瞎装了一腾。

点击(此处)折叠或打开

  1. sudo apt-get install libgtk2.0-0
  2. sudo apt-get install libgtk2.0-dev
然后就可以make啦。先make一下看看,报了 一个gtk/gtk.h没找到,是在gui下面的,我就去gui下面看了一下makefile的内容,我就在改makefile,gtk因为变成了2.0
一个可以加上

点击(此处)折叠或打开

  1. CXXFLAGS = $(BX_INCDIRS) -g -O2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -pthre    ad   $(X_CFLAGS) `pkg-config --cflags --libs gtk+-2.0`
让pkg-config自己负责(可能需要安装pkg-config),我是自己搜索的然后加在上面了用

点击(此处)折叠或打开

  1. find /usr -name "filename"
缺失了那个就吧相应的目录文件加到LOCAL_CXXFLAGS的变量里面。真伤感各种缺失文件。弄了我半天。gui/makefile

点击(此处)折叠或打开

  1. CXXFLAGS = $(BX_INCDIRS) -g -O2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILES -pthread $(X_CFLAGS) -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT
  2. LOCAL_CXXFLAGS = -pthread -I/usr/include/gtk-2.0 -I/usr/lib/i386-linux-gnu/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12


终于成功了,然后我继续make,貌似还不行,又说各种udefined函数,这个是在链接的时候报出来的,所以应该是没有相应的库文件,貌似优势gtk的各种函数没有链接上去,这次的更新是在bochs-2.6.1目录下面的makefile,查看makefile加上了一句,在链接的地方 

点击(此处)折叠或打开

  1.  $(LIBTOOL) --mode=link --tag CXX $(CXX) -o $@ $(CXXFLAGS) $(LDFLAGS) -export-dynamic $(BX_OBJS) $(SIMX86_OBJS) \
            iodev/libiodev.a iodev/display/libdisplay.a iodev/hdimage/libhdimage.a    \
            $(DEBUGGER_LIB) cpu/libcpu.a cpu/cpudb/libcpudb.a \
             memory/libmemory.a gui/libgui.a \
            $(DISASM_LIB)   \
             $(FPU_LIB) \
            $(GUI_LINK_OPTS) \
            $(MCH_LINK_FLAGS) \
            $(SIMX86_LINK_FLAGS) \
            $(READLINE_LIB) \
            $(EXTRA_LINK_OPTS) \
            $(LIBS)\
  2.         `pkg-config --cflags --libs gtk+-2.0`
这一次make成功啦。
然后

点击(此处)折叠或打开

  1. sudo make install
不要忘记sudo。
附带我的bochs.bxrc

点击(此处)折叠或打开

  1. #display_library: sdl
  2. megs: 16
  3. mouse: enabled=0
  4. floppya: 1_44=/home/anqiu/git_code/bin/disk.img, status=inserted
  5. #load32bitOSImage: os=nullkernel, path=./disk.img
  6. boot: floppy
完美成功。

最后:

   linux的代码编辑啥的,太复杂了。不过还是挺有收获的。





阅读(2058) | 评论(0) | 转发(0) |
2

上一篇:bochs安装 linux

下一篇:bochs 基本用法

给主人留下些什么吧!~~