Linux内核裁剪课程设计.doc
《Linux内核裁剪课程设计.doc》由会员分享,可在线阅读,更多相关《Linux内核裁剪课程设计.doc(19页珍藏版)》请在咨信网上搜索。
Linux程序设计 课程设计报告 题目:linux内核裁剪的设计与实现 姓 名: xx 学 号: 123 专 业: 院 系: 指导老师: 完成时间: 目 录 ⒈引言 1 ⒉需求分析 1 2.1前期准备 1 2.2 开发工具 2 3.详细设计 2 3.1 内核和交叉编译环境的搭建 2 1.内核版本的选择 2 2.交叉编译环境的搭建 2 3.2导入内核并解包 3 3.3建立符号链接并进入工作目录 5 3.4启动内核编辑图形界面 5 3.5 配置系统内核 5 3.6编译内核 12 3.7建立文件目录 13 3.8编译动态载入内存的模块 13 3.9拷贝到/lib/modules/2.6.10中 14 3.10安装新内核 15 3.11解决BusLogic错误 15 3.12生成initrd.img文件 15 3.13升级内核 16 4. 课程设计总结与体会 17 参考文献 17 ⒈引言 Linux是一类Unix计算机操作系统的统称,也是自由软件和开放源代码发展中最著名的例子。Linux作为一个免费、自由软件,内核版本不断升级。新的内核修订了旧内核的bug,并增加了许多新的特性。同时也使得Linux系统更加稳定、更加安全,进一步满足用户的功能需求。 Linux内核裁剪是根据用户的需要进行删除和保留相关的模块。Linux内核裁剪完成后在进行编译,使之后的Linux系统为用户所需要的操作系统。Linux内核升级是为了弥补较低版本的漏洞,使得Linux系统安全系数更高;另外使Linux系统的性能更稳定;最后是增加新功能,满足用户的功能需求。 本次课程设计是通过相关操作来实现将Linux内核进行裁剪和编译,并Linux2.4内核升级到2.6内核。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要根据自己的需要进行重新裁剪、编译内核以及内核升级。 ⒉需求分析 2.1前期准备 本次实验所需使用的系统是Red Hat Linux,而Red Hat Linux是安装在威睿工作站中的。如图1.1所示: 图2.1 虚拟机中的Red Hat Linux 2.2 开发工具 Linux开发平台 3.详细设计 3.1 内核和交叉编译环境的搭建 1.内核版本的选择 本次实验选择的是2.6.10的内核 2.交叉编译环境的搭建 将gcc添加到Red Hat Linux中去,如图2.2.1和图2.2.2所示: 图3.1 添加gcc到系统中(一) 图3.2 添加gcc到系统中(二) 3.2导入内核并解包 先将带有内核的U盘切换到虚拟机中,在mnt目录下新建一个文件夹并命名为usb,利用fdisk -l命令查看U盘设备名,然后利用mount命令将U盘挂载到/mnt/usb中,将U盘中的内核复制到/usr/src目录下。在利用tar -xjvf对内核进行解压操作。具体操作如图3.1.1、图3.1.2和图3.1.3所示: 图3.3 挂载U盘 图3.4 内核解压(一) 图3.5 内核解压(二) 3.3建立符号链接并进入工作目录 建立内核解压后的linux-2.6.10的符号链接并命名为linux,进入到linux中。具体操作如图3.2.1所示: 图3.6 进入工作目录 3.4启动内核编辑图形界面 利用make mrproper来清理旧的编译生成的文件及其他配置等文件,利用make menuconfig来启动图形界面。具体操作如图3.3.1所示: 图3.7 清理环境并启动图形界面 3.5 配置系统内核 无论是内核裁减还是内核升级都要重新配置系统内核。共有三种方式来运行配置内核的命令: 设置屏幕的类型 命令 文本 make config 窗口菜单(NCurses) make menuconfig X 图形 make xconfig 第1种make config是命令行方式,使用与修改都较为不便,一般不推荐使用。 第2种make menuconfig是窗口菜单方式,采用窗口菜单进行人机交互,并可随时获得帮助;它占用的内存较少,适合在字符终端下使用,如图3-1所示。 第3种make xconfig是图形用户界面,采用图形窗口按钮进行人机交互,整个设置界面简洁明了、使用非常方便且帮助文件也容易获取,适合在X Windows下使用。 这里使用第二种方式进行操作; 图3.8 进入配置内核界面 接下来在该界面上进行相关操作。 ⑴ 通过上下左右键来选择Loadable Module support选项,enter。 图3.9 选择Loadable Module support选项 选上“Module unloading”和“Automatic kernel module loading”这两项。 图3.10 选择Loadable Module support选项 然后退出。 ⑵ ①在Device Drivers--->Block Devices中选上“Loopback device support”; 图3.11 选择Loopback device support选项 ②在Device Drivers--->Multi-device support(RAID and LVM)处要选上“device mapper support”; 图3.12 选择device mapper support选项 ③Device Drivers--->Graphics support,一定要选上“ Support for frame buffer devices”; 图3.13 选择Support for frame buffer devices选项 device mapper support ④Device Drivers --->USB support --->选上“USB Mass Storage support”; 图3.14 选择USB Mass Storage support选项 ⑤Device Drivers --->;Network device support --->Ethernet (10 or 100Mbit) ---><*> AMD PCnet32 PCI support 图3.15 选择AMD PCnet32 PCI support选项 ⑶ ① File system--->(以下9个选项是关于ext2和ext3文件系统配置,全部选上) Second extended fs support Ext2 extended attributes Ext2 POSIX Access Control Lists Ext2 Security Labels Ext3 journalling file system support Ext3 extended attributes Ext3 POSIX Access Control Lists Ext3 Security Labels JBB (ext3) debugging support 图3.16 ext2和ext3文件系统配置 ② File system--->DOS/FAT/NT Filesystems --->选上“NTFS file system support”; 图3.17 进入DOS/FAT/NT Filesystems 图3.18 选择NTFS file system support选项 ⑷ vmware下编译Linux内核,硬盘用的是scsi的,需选择以下三个选项: ① Device Drivers ---><*>SCSI device support ---><*>SCSI disk support; 图3.19 选择SCSI disk support t选项 ② Device Drivers---><8>SCSI device support--->SCSI low-level drivers---><*>; BusLogic SCSI support 图3.20 选择BusLogic SCSI support选项 3.6编译内核 利用make bzImage来生成新的内核文件bzImage。具体操作如图3.5.1、图3.5.2和图3.5.3所示: 图3.21 编译内核 图3.22 内核编译成功 图3.23 查找内核所在位置 3.7建立文件目录 在/usr/src中新建一个文件夹fs,在fs中分别建立与Red Hat Linux相同的目录结构,详细建表如表3.6.1所示。具体操作步骤如图3.6.2所示: 目录名 目录名 boot dev etc lib mnt proc root sbin tmp usr var 表3.24 详细建立的目录 图3.25 详细建立的目录 3.8编译动态载入内存的模块 利用make modules将动态载入内存的模块编译成.o,然后再将多个模块链接为.ko。具体操作如图3.7.1和图3.7.2所示: 图3.26 编译动态载入内存的模块 图3.27 编译的结果 3.9拷贝到/lib/modules/2.6.10中 利用make modules_install命令,将7中生成的.ko文件拷贝到/lib/modules/2.6.10中。如图3.8.1和图3.8.2所示: 图3.28 拷贝文件 图3.29 拷贝结果 3.10安装新内核 利用make install命令来安装新的内核文件,但出现如图3.9.1所示的错误。 图3.30 BusLogic错误 3.11解决BusLogic错误 根据查阅参考文献,BusLogic错误主要是因为/lib/modules/2.6.10/drivers/scsi中缺少BusLogic.o所致,若/usr/src/linux/drivers/scsi中存在BusLogic.o则直接拷贝到/lib/modules/2.6.10/drivers/scsi中即可,若不存在则执行gcc -O2 -MODULE -D__KERNEL__ -I /usr/src/linux/include -c BusLogic.c命令生成BusLogic.o文件再拷贝。 3.12生成initrd.img文件 解决掉10中的问题后可以利用mkinitrd /boot/initrd-2.6.10.img /lib/modules/2.6.10命令来生成新的initrd.img。具体操作如图3.11.1所示: 图3.31 生成initrd.img文件 3.13升级内核 利用new-kernel-pkg --install --mkinitrd /usr/src/linux/2.6.10命令来升级系统内核,具体操作如图3.12.1所示: 图3.32 升级Red Hat Linux的内核 4. 课程设计总结与体会 本次的课程设计是分组进行的,实验内容是对Linux内核进行裁剪,定制一个适合自己的内核。在实验过程中我们组遇到了很多的问题,通过集体讨论,请教老师最后解决了一部分。虽然生成了新的内核文件,也生成成功了系统启动的其他两个文件initrd.img和System.map文件,但是由于缺乏对文件目录的了解以及如何使用grub来引导新的操作系统,所以是不怎么成功的。通过这次的课程设计我学会了很多,对一学期的Linux课程的学习进行了总结,将知识串联了起来,思路更加清晰了。 参考文献 [1] 汤小丹,等.计算机操作系统(第三版)[M]. 西安:西安电子科技大学出版社,2007.5 [2] 张小进.Linux系统应用基础教程[M]. 北京:机械工业出版社,2008.1 [3] 网上资料 2011.5.21- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Linux 内核 裁剪 课程设计
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【人****来】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【人****来】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文