操作系统课程设计报告Linux内核裁剪与编译

上传人:人*** 文档编号:511048540 上传时间:2023-08-05 格式:DOC 页数:38 大小:2.25MB
返回 下载 相关 举报
操作系统课程设计报告Linux内核裁剪与编译_第1页
第1页 / 共38页
操作系统课程设计报告Linux内核裁剪与编译_第2页
第2页 / 共38页
操作系统课程设计报告Linux内核裁剪与编译_第3页
第3页 / 共38页
操作系统课程设计报告Linux内核裁剪与编译_第4页
第4页 / 共38页
操作系统课程设计报告Linux内核裁剪与编译_第5页
第5页 / 共38页
点击查看更多>>
资源描述

《操作系统课程设计报告Linux内核裁剪与编译》由会员分享,可在线阅读,更多相关《操作系统课程设计报告Linux内核裁剪与编译(38页珍藏版)》请在金锄头文库上搜索。

1、滁州学院课程设计报告课程名称: 操作系统 设计题目: Linux内核编译与裁剪 系 别: 计算机科学与技术系 专 业: 计算机科学与技术专业 组 别: 起止日期: 2011年5月20日 2011年6月22日 指导教师: 计算机科学与技术系二九年制课程设计题目Linux内核编译和裁剪组长学号班级09计科系别计算机科学与技术专业计算机科学与技术组员项鹏程,徐鑫,周小航,钟鑫鑫指导教师马丽生课程设计目的通过该实验了解和掌握Linux内核进行裁剪和编译以及升级的主要操作方法和步骤。课程设计所需环境软件:操作系统Windows XP、Linux硬件:最低CPU速度:233MHz,推荐CPU速度:550M

2、Hz最小内存要求: 128M,推荐最小内存:256M课程设计任务要求实现将Linux内核进行裁剪和编译,并Linux2.4内核升级到2.6内核。课程设计工作进度计划序号起止日期工 作 内 容分工情况2011-5-202011-6-12收集实现所需的资料,分析讨论所要进行的实验主要工作由徐鑫,周小航同学完成,全体参与讨论2011-6-132011-6-17该阶段主要做 Linux内核的一般编译和裁剪主要由小组全体同学协助项鹏程完成2011-6-182011-6-20实现Linux2.4内核到2.6内核的升级主要由小组全体同学协助杨超完成2011-6-212011-6-22实验材料整理,课程设计报

3、告的完成主要由小组全体同学协助钟鑫鑫完成指导教师签字: 年 月 日教研室审核意见:教研室主任签字: 年 月 日课程设计任务书目 录引言4需求分析42.1前期准备42.2 开发工具43.详细设计53.1 Linux内核的裁剪53.1.1 内核支持(编译)模式53.1.2. 裁剪系统内核应遵循的步骤53.2 配置系统内核63.2.1 配置内容83.2.2 配制方法93.3 编译系统内核153.4 启用新系统内核163.4.1备份正在使用的系统内核163.4.2多配置启动的配置文件修改163.5 Linux内核升级173.5.1查看版本173.5.2配置工作183.5.3编译工作333.5.4启动新

4、内核354. 课程设计总结与体会374.1总结374.2体会375.致谢37参考文献37引言Linux是一类Unix计算机操作系统的统称,也是自由软件和开放源代码发展中最著名的例子。Linux作为一个免费、自由软件,内核版本不断升级。新的内核修订了旧内核的bug,并增加了许多新的特性。同时也使得Linux系统更加稳定、更加安全,进一步满足用户的功能需求。Linux内核裁剪是根据用户的需要进行删除和保留相关的模块。Linux内核裁剪完成后在进行编译,使之后的Linux系统为用户所需要的操作系统。Linux内核升级是为了弥补较低版本的漏洞,使得Linux系统安全系数更高;另外使Linux系统的性能

5、更稳定;最后是增加新功能,满足用户的功能需求。本次课程设计是通过相关操作来实现将Linux内核进行裁剪和编译,并Linux2.4内核升级到2.6内核。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要根据自己的需要进行重新裁剪、编译内核以及内核升级。需求分析2.1前期准备Linux2.6内核源码:linux-2.6.18.tar.bz2内核升级工具module-init-tools-3.2.tar.bz2mkinitrd-4.1.18-2.i386.rpmlvm2-2.00.25-1.01.i386.rpmdevice-mapper-1.00.19-2.i3

6、86.rpm 2.2 开发工具Linux开发平台3.详细设计3.1 Linux内核的裁剪 3.1.1 内核支持(编译)模式 Linux对于计算机硬件、网络和文件系统等部件的驱动程序支持既可以放在系统内核中,也可以作为一个可加载的模块(modules)使用。当驱动程序放在系统内核中时,Linux 假定该硬件是存在于系统中的;而作为可加载模块使用时,只有在知道该硬件存在于系统时才会作为系统内核的一部分,当 Linux 检测到硬件时,该模块才被加入到系统内核中。如果把驱动程序编译到内核中,在内核启动时就可以自动支持相应部分的功能,这样做的优点是方便、速度快,机器一旦启动,你就可以使用这部分功能了;缺

7、点是会使内核变得庞大,无论是否需要这部分功能,它都会存在;这可能会增加被系统攻击者利用的漏洞。一般把经常使用的部分直接编译到内核中,比如网卡等。如果编译成模块,就会生成对应的.o模块文件,系统启动时它并不在内存中,它是在使用的时候由用户执行insmod命令来动态加载,这样做的优点是不会使内核过分庞大,缺点是你得自己来调用这些模块。3.1.2. 裁剪系统内核应遵循的步骤Linux系统内核的裁减涉及到模块间的依赖关系、内核的配置和编译等多个步骤,任何一个步骤的失误都有可能导致裁减、编译失败。其基本步骤如下:检查编译器的版本删除过时的目标文件重新设置系统内核重新编译系统内核备份正在使用的系统内核试用

8、新的系统内核 检查编译器的版本用低版本的编译器去编译高版本的内核有可能不能编译或使内核不能使用。要查看编译器版本,可以执行命令: #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:3

9、8 sendmail 其中,Linux2.4是一个链接文件,它的链接目标是指向linux-2.4.20-8 目录,因此、cd linux-2.4就是进入linux-2.4.20-8 目录。 删除过时的目标文件 进入 /usr/src/linux-2.4.20-8 目录,运行 make mrproper 命令以清除过时、旧的目标文件。这是因为经过多次编译后系统会留下部分目标文件,如果没有清除干净可能造成本次编译出错。如果没有编译过或者是系统升级的新解压缩目录,则这一步骤可以省略主要是本课题所需要的硬件设计与软件设计,包含建立设计所需的数学模型并列出必要的计算公式、计算过程及说明,硬件电路的设计与

10、实现,写出设计计算结果;绘出计算机程序框图,写出自编的程序。3.2 配置系统内核无论是内核裁减还是内核升级都要重新配置系统内核。共有三种方式来运行配置内核的命令:设置屏幕的类型 命令 文本 make config 窗口菜单(NCurses) make menuconfig X 图形 make xconfig 第1种make config是命令行方式,使用与修改都较为不便,一般不推荐使用。第2种make menuconfig是窗口菜单方式,采用窗口菜单进行人机交互,并可随时获得帮助;它占用的内存较少,适合在字符终端下使用,如图3-1所示。图3-1 menuconfig 主屏幕第3种make xc

11、onfig是图形用户界面,采用图形窗口按钮进行人机交互,整个设置界面简洁明了、使用非常方便且帮助文件也容易获取,适合在X Windows下使用,如图3-2所示。图3-2 xconfig 主屏幕一般在 /usr/src/linux-2.4.20-8/ 目录下运行设置命令。在窗口菜单(NCurses)下,用户可以利用光标键移动到选项、再用空格键或鼠标(选中显示*号)来进行设置并可以任意回退做修改。在X 图形下用户可以通过鼠标单击按钮来进行配置并可以任意回退做修改。在文本类型下则不能,因为它只在整个设置过程中一直向你提问。3.2.1 配置内容配置系统内核的目的是建立一个适合大小、满足需求的系统内核;

12、因此,用户必须根据自己所设计系统的需要对Linux系统支持的硬件和软件进行适当裁减,即从配置内容中选择相应的硬件类型和合适的设备驱动程序。不同的内核版本显示的配置内容有所不同,这里以Linux内核2-4-20版本为例说明。编号类别含义1Code maturity level options代码成熟级别2Loadable module support可装载模块支持3Processor type and features处理器类型与特征4General setup一般设置5Memory Technology DeviceMTD设备支持6Parallel port support并行口支持7Plug

13、 and Play configuration即插即用支持8Block devices块设备支持9Multi-device support(RAID and LVM)多设备支持10Cryptography support密码系统支持11Networking options网络选项12Telephony Support电话支持13ATA/IDE/MFM/RLL support多种接口存储设备支持14SCSI supportSCSI设备的支持15Fusion MPT device supportFusion MPT 设备支持16IEEE 1394(FireWire)supportIEEE 1394 防火墙设备支持17I2O device supportI2O 设备支持18Network device support网络设备支持19Amateur Radio support业余无线电支持20IrDA(infrared)support红外线支持21ISDN subsystemISDN子系统22Old CD-ROM drivers(not SCSI、not IDE)非SCSI/IDE接口的C

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号