操作系统课程设计--内核调试环境(Linux).pdf
文本预览下载声明
内核调试环境(Linux)
本章主要介绍如何配置和使用内核调试环境。首先介绍如何配置内核环境,这是内核调
试环境的基础,接着介绍如何安装配置和使用 Samba来实现 Windows和 Linux之间的网络共
享,最后介绍一种调试 Linux 内核的机制——KGDB,包括它的安装、配置和使用。
一、 配置内核环境
实验中采用的 Linux发行版是 CRUX,内核版本为 。
CRUX 是一个针对 i686 优化过的轻量级 Linux 发行版,它的目标是有经验的 Linux
用户。这份发行以简单化为主旨,这反映在其基于简单的 tar.gz 格式的软件包系统上,以
及 BSD风格的启动脚本和相对较少的软件包收录。它的第二个着眼点则在于利用 Linux 的新
特性以及新近的工具及系统库。CRUX 还有一个ports 系统来方便的安装和升级程序、软件。
CRUX没有图形界面,会给实验照成一定的难度,但是 CRUX 的轻便使得编译内核的时间
大大的减少,其他发行版如 RedHat,Ferdoa等,编译内核大概需要四五十分钟,而是用 CRUX
是编译内核只用十分钟左右的时间。这是我们选择这个发行版的主要原因。当然他的自由度
高,很能锻炼动手能力也是我们选择它来作为实验系统的原因之一。
下面将详细介绍在 VMWare上配置内核环境的全过程。
首先在 VMWare中创建一个虚拟机,选择“custom(advanced)”配置方式,选择安装文
件(安装盘或者是 ISO 文件),虚拟机命名为 crux_gdb,作为客户机操作系统(guest
operating system)。选择安装 Linux 操作系统,并选择“other 2.6.x linux kernel”版
本;网络连接选择“host-only”方式;虚拟硬盘类型最好选择“IDE”;其它采用默认值即
可。配置完成,启动虚拟机。
启动后出现选择引导哪个操作系统的提示,输入回车即开始引导 CRUX 系统,这个过程
需要一两分钟。启动后用root用户登录(初始无密码,输入 root,回车即可)。
下面是对系统环境的配置:
1. 磁盘分区
在 Linux 中硬盘分区是通过 hd*x 或 sd*x 表示的,hd*X 一般代表 IDE 硬盘,sd*x 代
表的是 SCSI 硬盘。其中 * 表示的是a、b、c ... ..., x 表示的数字 1、2、3 ... ...,
用 fdisk 命令给磁盘分区:
# fdisk /dev/hda
如果你选择的硬盘接口是SCSI类型,则为/dev/sda。
实验中我们会把硬盘分成两个分区,第一个分区大小取 500M,类型设置为交换区;第
二个分区占用剩余的所有空间,类型为 ext3,并设置为可启动。
开始分区前,可以先按“m”显示帮助信息:
内核调试环境(Linux)
Command (m for help): 在这里按 m ,就会输出帮助,如下所示;
Command action
a toggle a bootable flag 注:设置分区为可启动
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 注:这是删除一个分区的动作;
l list known partition types
注:l 是列出分区类型,以供我们设置相应分区的类型;
m print this menu 注:m 是列出帮助信息;
n add a new partition 注:添加一个分区;
o create a new empty DOS partition table
p print the partition table 注:p列出分区表;
显示全部