`
envy2002
  • 浏览: 151685 次
  • 性别: 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年都是值得的,不着急,有的是时间!

 

 

 

 

分享到:
评论

相关推荐

    linux0.11 bochs 调试.txt

    ### Linux 0.11 Bochs 调试详解...通过在Bochs上运行Linux 0.11,不仅可以帮助我们更好地理解Linux内核的基础结构和工作原理,还可以提高我们在内核级别的调试技能。希望以上内容对学习Linux内核开发的初学者有所帮助。

    基于 Docker/Qemu/Bochs 的极速 Linux 0.11 内核学习和开发环境

    【标题】"基于 Docker/Qemu/Bochs 的极速 Linux 0.11 内核学习和开发环境" 提供了一种高效的学习和研究早期 Linux 内核版本的方法。这个环境利用了三种强大的工具:Docker、QEMU 和 Bochs,它们各自在软件模拟和虚拟...

    windows下面编译linux-0.11内核

    Bochs支持加载自定义的BIOS和硬盘映像,所以你需要创建一个包含Linux 0.11内核的硬盘映像,并配置Bochs以启动这个映像。 在Bochs中设置好Linux内核的启动参数后,就可以启动模拟器并观察内核的运行情况。这不仅可以...

    Ubuntu 18.04环境下Linux 0.11 内核编译及在bochs 2.6.9中的调试运行

    "Linux 0.11 内核编译及在 Bochs 2.6.9 中的调试运行" 本文主要讲述了在 Ubuntu 18.04 环境下编译 Linux 0.11 内核,并在 Bochs 2.6.9 中进行调试运行的过程。文章涵盖了编译 Linux 0.11 内核源代码、Bochs 2.6.9 ...

    MinGW32+insight+bochs调试linux-0.11

    标题中的“MinGW32+insight+bochs调试linux-0.11”涉及到的是在Windows环境下使用MinGW32、insight源代码调试器和Bochs模拟器来调试早期版本Linux(这里是Linux内核0.11)的过程。这个主题涵盖了多个IT领域的知识点...

    linux-0.11内核bochs实验编译环境

    首先,我们需要了解Linux 0.11内核。它是Linux发展史上的一个里程碑,由林纳斯·托瓦兹在1991年发布,是首个公开发布的Linux内核版本。这个早期的内核虽然功能相对简单,但包含了现代Linux内核的基本架构和核心概念...

    linux0.11 调试.pdf

    在探讨如何在Linux环境下使用DDD(Data Display Debugger)与Bochs进行Linux0.11内核的源代码级调试之前,我们首先需要理解几个核心概念。 **Linux0.11**:这是Linux内核的一个早期版本,发布于1992年。尽管它已经...

    可进行调试的linux 0.11代码

    将GDB与Bochs结合使用,可以实现对Linux 0.11内核的交互式调试。 调试步骤大致如下: 1. **配置Bochs**:首先,需要配置Bochs以模拟Linux 0.11运行所需的硬件环境,包括CPU、内存、硬盘等设置,并指定内核镜像文件...

    Linux0.11内核初始化讲解与调试

    结合bochs仿真调试工具边讲解边调试linux0.11版本内核初始化过程,通过该课程可以学习和理解关于linux内核在内存中的分布、分段及分页机制、逻辑地址线性地址及物理地址的区别,更系统的理解CPU实模式及保护模式等。...

    安装bochs 工具之一 linux-0.11-gdb-rh9-050619.tar.gz

    将GDB与Bochs结合使用,开发者可以在Bochs模拟环境中启动并调试Linux 0.11内核。这在不干扰实际主机系统的情况下,提供了一个安全的环境来试验内核代码,理解其工作流程,查找并修复潜在问题。 具体步骤如下: 1. ...

    linux-0.11--Bochs 从0.11开始

    此外,你还可以通过调试工具对Linux-0.11进行更深入的分析和研究,这对于理解操作系统原理和开发非常有帮助。 在探索Linux-0.11的过程中,你可能会遇到一些挑战,比如兼容性问题、配置错误或是引导失败。不过,借助...

    搭建Linux0.11系统环境

    此外,这个过程也可以帮助你熟悉构建和调试Linux内核的方法,对于有志于从事系统级编程或内核开发的人来说,是一项宝贵的实践。 总之,搭建Linux0.11系统环境是一个富有挑战性和教育意义的任务,它让你穿越时间,...

    带中文注释可成功编译运行的Linux0.11

    1、为了使注释版与实验环境上的Linux0.11内核保持一致,达到对应文件可以互换的目的,与Linux0.11原始版本相比,加入了15个系统调用函数(参见include/Linux/sys.h第78-92行。赵博士原书没有这部分注释,我不敢...

    linux-0.11中文完全注释版

    9. **编译与调试**:学习Linux 0.11内核时,我们还需要了解如何配置、编译和调试内核。这涉及到Makefile的理解、编译选项的选择以及使用GDB等调试工具。 10. **社区贡献**:Linux的成功离不开全球开发者的贡献,...

    linux-0.11-dev,演示任务的内核态堆栈的位置

    在Linux操作系统中,内核态堆栈是系统执行内核代码时使用的内存空间,它对于理解和调试操作系统至关重要。本文将详细解析"linux-0.11-dev"项目,这是一个早期的Linux内核版本,用于教学和研究目的。我们将探讨如何在...

    Linux 0.11 内核编译及在bochs 2.6.9中的调试运行.zip_Linux/Unix编程_C/C++_

    在本文中,我们将深入探讨如何在Ubuntu 18.04操作系统中编译Linux 0.11内核以及如何在Bochs 2.6.9模拟器中对其进行调试和运行。这涉及到对Linux内核架构的理解、源代码编译过程、虚拟机技术以及调试技巧。我们将首先...

    linux-0.11-devel-040809.rar

    在Linux 0.11的开发过程中,Bochs提供了一个安全的环境来运行和测试新的内核改动,避免了可能对实际系统造成的影响。 在构建这个环境时,首先要解压"linux-0.11-devel-040809"文件,然后安装和配置nasm。安装完成后...

    Ubuntu编译Linux-0.11运行

    在本文中,我们将深入探讨如何在Ubuntu操作系统上编译并运行Linux-0.11内核,这是一个早期版本的Linux,对于理解操作系统的工作原理和学习Linux内核开发具有重要意义。Ubuntu是一个基于Debian的开源Linux发行版,它...

    Linux 内核调试环境

    "bochs"是一个开源的x86模拟器,可以在非Linux操作系统上运行Linux内核,这对于我们调试0.11版本的Linux内核尤其有用,因为它允许我们在宿主机上模拟整个系统环境。 接下来,我们来看看"debug-linux.JPG",这个可能...

    linux0.11_Source_Image

    Bochs使得开发者和爱好者无需在真实硬件上安装就能测试和调试Linux,极大地简化了开发流程。 在"linux-0.11"目录下,你会找到如下的文件和子目录: 1. `Documentation`:包含了关于如何编译、安装和使用Linux 0.11...

Global site tag (gtag.js) - Google Analytics