`
envy2002
  • 浏览: 149166 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

bochs调试linux 0.11内核

 
阅读更多

 

 

 

 

 

 

学习操作系统,最难的就是保护模式的各种硬件机制了(如分段分页寻址,特权级,门机制)。单纯的8086实模下的汇编模拟器是无法模拟,调试这些机制的。只能用个功能更强大的80*86模拟器了。由于模拟器挺多的,如vmware, virtual box等等,但是好像更方便调试的,我们选择bochs吧。

 

       赵炯博士已经为我们准备好了bochs,而且还带有linux 0.11的image.

       http://www.oldlinux.org/Linux.old/bochs/linux-0.11-devel-040329.zip

 

      具体参考http://www.linuxidc.com/Linux/2009-03/18786.htm,这篇文章讲了如何设置bochs的配置文件。但是我没有成功,现在只想说说自己是弄成功的。把时间花费在这些工具上面真是很无奈啊,希望能减少这些投入。

 

    1.下载解压

   

 

     里面有一个bochs的安装文件,其余都是bochs的配置文件和Linux0.11的image文件,即0.11操作系统的二进制文件。

 

 

    3.安装在c:\program file下面

 

 

 

dllinux目录下面是个linux操作系统的demo, 我仿照他的目录结构建立了0.11目录

 

然后把 解压包下面linux的image及其启动linux 0.11的bochs配置都copy到这个目录下面。如图

 

 

在这个目录下面建立一个run.bat,为了启动bochs。run.bat如图:

 

bochsdbg从名字上看是个debug版本的启动。

 

那么bochs就是正常启动了。

 

 

同时我们要修改bochsrc-hd.bxrc.

 

这个是启动linux 0.11的配置文件。

 

如图。

 

修改12,36行。具体情况按你具体安装目录位置仿照下图这样配置。

 

 

把run.bat中的命令bochsdbg-->bochs,我们不是用debug模式,而是用正常模式启动linux 0.11即可看到如下效果:

 

 

这是个小巧的linux 操作系统,非常不错啊!

 

 

当然,利用bochs的调试功能,我们可以追踪到内存,寄存器,还有程序之间的跳转流程,这些都是我们学习操作系统的重要素材。怎么调试请参考赵炯的《linux内核完全剖析》中的环境搭建章节吧。

 

加油,慢慢学习linux内核吧,花个3,5年都是值得的,不着急,有的是时间!

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics