大连理工大学
本科实验报告
实验名称: 嵌入式操作系统
学院(系): 计算机学院实验
专 业: 计算机系
班 级: 0703
学 号:
学生姓名: mqlz
2010年 12
实验一:linux内核裁剪
预习报告
实验目的:
了解Linux内核源代码的目录结构及各目录的相关内容
了解Linux内核各配置选项内容和作用
掌握Linux内核配置文件的作用
握Linux内核的编译过程
掌握将新增内核代码加入到Linux内核结构中的方法
实验原理
Linux对于计算机硬件、网络和文件系统等部件的驱动程序支持既可以放在系统内核中,也可以作为一个可加载的模块(modules)使用。当驱动程序放在系统内核中时,Linux 假定该硬件是存在于系统中的;而作为可加载模块使用时,只有在知道该硬件存在于系统时才会作为系统内核的一部分,当 Linux 检测到硬件时,该模块才被加入到系统内核中。
实验步骤
1、检查编译器的版本用低版本的编译器去编译高版本的内核有可能不能编译或使内核不能使用。要查看编译器版本,可以执行命令: #gcc –v进入系统内核源代码目录。一般系统内核的源代码放在 /usr/src/ 目录下。用 ls –l 命令查看可能显示如下:#ls –l /usr/srcTotal 3lrwxrwxrwx1 rootroot12 May4 14:36 linux2.4->linux-2.4.20-8drwxr-xr-x 15 root root 1024 May 14 11:37 linux-2.4.20-8drwxr-xr-x 3 root root 1024 May 4 14:38 sendmail 其中、Linux2.4是一个链接文件,它的链接目标是指向linux-2.4.20-8 目录,因此、cd linux-2.4就是进入linux-2.4.20-8 目录。
2、删除过时的目标文件 进入 /usr/src/linux-2.4.20-8 目录,运行 make mrproper 命令以清除过时、旧的目标文件。这是因为经过多次编译后系统会留下部分目标文件,如果没有清除干净可能造成本次编译出错。如果没有编译过或者是系统升级的新解压缩目录,则这一步骤可以省略。
3、重新设置系统内核
配置系统内核的目的是建立一个适合大小、满足需求的系统内核;因此,用户必须根据自己所设计系统的需要对Linux系统支持的硬件和软件进行适当裁减,即从配置内容中选择相应的硬件类型和合适的设备驱动程序。不同的内核版本显示的配置内容有所不同,这里以Linux内核2-4-20版本为例说明。配置内容共有35个类别,如下表所示:
编号
类别
含义
1
Code maturity level options
代码成熟级别
2
Loadable module support
可装载模块支持
3
Processor type and features
处理器类型与特征
4
General setup
一般设置
5
Memory Technology Device
MTD设备支持
6
Parallel port support
并行口支持
7
Plug and Play configuration
即插即用支持
8
Block devices
块设备支持
9
Multi-device support(RAID and LVM)
多设备支持
10
Cryptography support
密码系统支持
11
Networking options
网络选项
12
Telephony Support
电话支持
13
ATA/IDE/MFM/RLL support
多种接口存储设备支持
14
SCSI support
SCSI设备的支持
15
Fusion MPT device support
Fusion MPT 设备支持
16
IEEE 1394(FireWire)support
IEEE 1394 防火墙设备支持
17
I2O device support
I2O 设备支持
18
Network device support
网络设备支持
19
Amateur Radio support
业余无线电支持
20
IrDA(infrared)support
红外线支持
21
ISDN subsystem
ISDN子系统
22
Old CD-ROM drivers(not SCSI、not IDE)
非