《Orange's:一个操作系统的实现》读书笔记

第二章 第一个小程序

 

第一部分 操作篇

第一个小程序运行起来没有书上说的那么顺利。几经周折才最终成功。问题出在

  1. Bochs安装
  2. Bochs运行时配置文件内容

 

环境:

ubuntu 10(运行于VMware下)

 

Bochs安装中的问题及解决方法

下载Bochs 2.4.5源码安装,但运行./configure --enable-debugger --enable-disasm时发现g++没有,运行

     #sudo apt-get install g++

解决这个问题

 

但运行./configure又出现另一个错误:ERROR: X windows gui was selected, but X windows libraries were not found.

解决办法是安装 xorg-dev

   #sudo aptitude install xorg-dev

 

Bochs运行时的问题

我的Bochs是使用make install默认安装的。运行时不能直接使用书中第二章光盘里的bochsrc文件启动。

原因是安装目录也差别,而且romimage和vagromimage选用需要变动一下(可能作者当时的版本比较老吧)

最终可以运行的Bochsrc文件内容为

 


 

###############################################################
# Configuration file for Bochs
###############################################################

# how much memory the emulated machine will have
megs: 32

# filename of ROM images
romimage: file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage: file=/usr/local/share/bochs/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=0

# enable key mapping, using US layout as default.
keyboard_mapping: enabled=1, map=/usr/local/share/bochs/keymaps/x11-pc-us.map

 



 



 

需要注意的事项:

  • 要在a.img所在的目录运行bochs,否则软件盘路径找不到(floppya: 1_44=a.img, status=inserted)(当然也可以把路径改成绝对路径)

如有问题可以自己参考Bochs的官网http://bochs.sourceforge.net/getcurrent.html

 

运行结果界面如

 

 

 

 

第二部分  操作改进

bochs也可以进行图形用户界面(GUI)地调试。要启动图形用户界面需要做两步工作

  • 把图形用户界面调试功能编译进bochs里
  • 在bochs启动配置文件里添加启动GUI的信息

编译

首先:

 ./configure /
--enable-debugger /
--enable-disasm /
--enable-debugger-gui /

然后: make
然后:make install

配置文件添加信息
在配置文件(比如bochsrc)里添加
display_library: x, options="gui_debug"

完成以上两步就会在启动虚拟机的时候启动GUI调试器。运行结果如下:


参考文献

[1]. Bochs安装一些错误的排除方法,http://hi.baidu.com/flikecn/blog/item/500f1efdbb133c0608244d3f.html

[2]. Bochs调试,http://linux.chinaunix.net/techdoc/develop/2008/09/01/1029237.shtml

[3]. Bochs调试官网文档,http://bochs.sourceforge.net/cgi-bin/topper.pl?name=New+Bochs+Documentation&url=http://bochs.sourceforge.net/doc/docbook/user/index.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值