- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
实验四Linux内核编译、阅读Linux内核源码
一.实验目的
1.了解Linux内核的版本和组成
2.掌握Linux系统内核的编译操作方法
3.了解Linux系统内核的配置方法
4.通过阅读Linux的内核源码,学习系统调用的执行流程,为深入学习内核原理打下牢固基础
二.实验工具与设备
1.准备最新的Linux操作系统内核,或装有Linux操作系统的计算机并能直接连入Internet
2.实验设备:计算机
三.实验内容
1.实验预备知识
内核是一个操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
Linux的一个重要特点是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也遵循GPL而设计,任何人都可以获取相应的源程序代码。全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此带来的一个明显好处,是修补漏洞的快速以及对最新软件技术的利用。Linux的内核是这些特点最直接的代表。
Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效、更稳定的内核,就需要重新编译内核。
通常,更新的内核支持更多的硬件,具备更好的进程管理能力,运行速度更快、更稳定,并且会修复老版本中发现的许多漏洞等。经常选择升级更新的系统内核,是Linux用户的必要操作内容。
为了正确合理地设置内核编译配置选项,只编译系统需要功能的代码,原因如下。
(1)自己定制编译的内核运行更快(具有更少的代码)。
(2)系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)。
(3)不需要的功能编译进入内核,可能会增加被系统攻击者利用的漏洞。
(4)将某种功能编译为模块方式比编译到内核的方式速度要慢一些。
内核编译模式可以分为编译到内核和编译成模块两种模式。要增加对某部分功能的支持,例如网络等,可以把相应部分编译到内核中(build-in),也可以把该部分编译成模块(module)动态调用。如果编译到内核中,在内核启动时就可以自动支持相应部分的功能,其优点是方便、速度快,机器启动即可使用这部分功能。其缺点是使内核变得庞大起来,无论是否需要这部分功能,它都会存在。建议将经常使用的部分直接编译到内核中,如网卡;如果编译成模块,则生成对应的.o文件,使用时可以动态加载,优点是不会使内核过分庞大,缺点是必须得由用户自己来调用这些模块。
2.下载新内核
在/pub/linux/kernel可以下载Linux的最新内核代码。内核的源代码按内核版本(v2.4、v2.5等)组织到多个不同的目录中。在每个目录中,文件被冠以“linux-x.y.z.tar.gz”和“linux-x.y.z.tar.bz2”等,这些就是Linux内核的源代码。同时存在一些类似“patch-x.y.z.gz”和“patch-x.y.z.bz2”的文件,这是用来更新前面完整的内核源代码的补丁包。
本实验从/pub/linux/kernel/v2.4/linux-2.4.20.tar.gz下载linux-2.4.20.tar.gz内核,并将下载的内核linux-2.4.20.tar.gz保存在“/usr/src”目录下。
3.内核解包
编译内核前,应对下载的内核文件进行解包,操作方法如下。
(1)用以下命令将当前目录改到/usr/src下:cd/usr/src
(2)如果/usr/src目录下存在一个“linux”的目录,应将其改名为“linux.old”;如果不存在,则直接执行以下命令:
tarxzvf./linux-2.4.20.tar.gz
(3)执行该命令后,内核源代码被释放到一个新的“linux-2.4.20
注意:目录名可能因版本的不同而有所区别。为方便起见,将该目录名字改为“linux”,操作命令如下:mvlinux-2.4.20linux
4.配置内核
Linux提供多种配置内核的方法,可以根据需要与爱好使用下面命令中的一个。
makeconfig命令:基于文本配置界面的配置命令。
makemenuconfig命令:基于文本菜单配置界面的配置命令。
makexconfig命令:基于图形窗口模式配置界面的配置命令。
本实验以基于图形窗口模式配置界面的配置命令为例配置内核,具体操作步骤如下。
(1)用以下命令将当前目录改到解包文件目录“/usr/src/linux”下:cd/usr/src/linux
(2)点选菜单进行配置(可和下面的
您可能关注的文档
最近下载
- 2026年江苏省高二生物学业水平合格考调研试卷(含答案详解).pdf VIP
- 《海报设计》课件——第1章 海报招贴设计原理.ppt VIP
- 2025年山东省菏泽市牡丹区二模数学试题.doc VIP
- 固定支架推力计算.xls
- 消防队安全形势分析会.pdf VIP
- 电大1425《调剂学(本)》开放大学期末考试历届试题2025年1月(含答案).docx VIP
- 04CJ01-1 变形缝建筑构造(一).pdf VIP
- 2020 ACLS-PC-SA课前自我测试试题及答案.doc
- 煤炭公司成本管理问题研究本科毕业论文.doc VIP
- 2026年宁夏贺兰工业园区管委会工作人员社会化公开招聘备考题库参考答案详解.docx VIP
原创力文档


文档评论(0)