Chinaunix首页 | 论坛 | 博客
  • 博客访问: 58010
  • 博文数量: 9
  • 博客积分: 226
  • 博客等级: 二等列兵
  • 技术积分: 131
  • 用 户 组: 普通用户
  • 注册时间: 2012-08-22 22:43
文章分类

全部博文(9)

文章存档

2013年(2)

2012年(7)

我的朋友

分类: LINUX

2012-08-27 21:44:39

                                   基本原理与环境                   

    这个系列的文章介绍如何使用KGDB调试linux kernel,本篇主要搭建基本的debug环境。使用kgdb调试kernel一般需要两台机器:一台host机器和一台target机器,使用串口或者网口将host机器和target机器连接起来,在host机器上执行GDB命令,target机器响应GDB命令,从而达到debug的目的。也就是说host是执行debug操作的机器,target机器是被debug的机器。 如下图所示:

                 

因为这篇blog的出发点是方便在校学生学习如何debug linux kernel,因此在此host机器我用的是ubuntu 10.04, target机器用Virtual box。结构图如下所示

          

根据上图所示,我们需要如下软硬件环境:

1:需要一台安装了Linux操作系统的机器,该机器作为host机。我的机器是一台 ubuntu PC;

2:在host机器上安装Virtual Box软件;

3:在Virtual Box上安装一个Linux操作系统,我装的也是ubuntu 10.04,我们把虚拟机当做
   target机器;

4:在host机器上安装socat程序,Socat程序用来建立虚拟串口连接;

5:Linux source code,我们需要编译一个包含了kgdb的新内核,然后替换到target机器上;

6:搭建一个NFS,方便在host机器和target机器共享文件;


配置host 机器

1, 安装VirtualBox OSE;

    sudo apt-get install virtualbox-ose

2, 新建一个ubuntu虚拟机,并且在虚拟机上安装一个linux操作系统,本例中装的是
  ubuntu10.04

3,设置虚拟机的串口,右键单击ubuntu虚拟机,选择“设置”选项,在设置选项卡中选择
 “串口”,再选择“端口1“ 按照下图所示进行配置;

       

    注:端口/文件位置只需要指定一个有效的地址即可,虚拟机启动的时候会在home目录下创建一个
        serial0文件,你也可以指定自己喜欢的任意的路径;

4,安装socat

   sudo apt-get install socat

5, 搭建NFS服务

基本的环境配置好以后,我们就可以开始抓kernel的源码,build包含KGDB的kernel,配置boot loader,然后就可以调试了,下一篇会将如何编译和替换linux kernel以及如何修改boot loader

阅读(1030) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~