已阅读5页,还剩31页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验10Linux内核编译,一、实验目的二、实验工具与设备三、实验预备知识四、实验内容和步骤五、实验总结,一、实验目的,1了解Linux内核的版本和组成。2掌握Linux系统内核的编译操作方法。3了解Linux系统内核的配置方法。,二、实验工具与设备,1准备最新的Linux操作系统内核,或用于本实验的装有Linux操作系统的计算机并能直接连入Internet。2实验设备:计算机。,三、实验预备知识,内核是一个操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux的一个重要特点是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也遵循GPL而设计,任何人都可以获取相应的源程序代码。全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此带来的一个明显好处,是修补漏洞的快速以及对最新软件技术的利用。Linux的内核是这些特点最直接的代表。,Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效、更稳定的内核,就需要重新编译内核。,通常,更新的内核支持更多的硬件,具备更好的进程管理能力,运行速度更快、更稳定,并且会修复老版本中发现的许多漏洞等。经常性地选择升级更新的系统内核,是Linux用户的必要操作内容。,为了正确合理地设置内核编译配置选项,只编译系统需要功能的代码,原因如下。(1)自己定制编译的内核运行更快(具有更少的代码)。(2)系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)。(3)不需要的功能编译进入内核,可能会增加被系统攻击者利用的漏洞。(4)将某种功能编译为模块方式比编译到内核的方式速度要慢一些。,内核编译模式可以分为编译到内核和编译成模块两种模式。要增加对某部分功能的支持,例如网络等,可以把相应部分编译到内核中(build-in),也可以把该部分编译成模块(module)动态调用。如果编译到内核中,在内核启动时就可以自动支持相应部分的功能,其优点是方便、速度快,机器启动即可使用这部分功能;其缺点是使内核变得庞大起来,无论是否需要这部分功能,它都会存在。建议将经常使用的部分直接编译到内核中,如网卡。如果编译成模块,则生成对应的.o文件,使用时可以动态加载,优点是不会使内核过分庞大,缺点是必须得由用户自己来调用这些模块。,四、实验内容和步骤,1下载新内核在/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”目录下。,2内核解包编译内核前,应对下载的内核文件进行解包,操作方法如下。(1)用以下命令将当前目录改到/usr/src下:cd/usr/src(2)如果/usr/src目录下存在一个“linux”的目录,应将其改名为“linux.old”;如果不存在,则直接执行以下命令:tarxzvf/root/linux-2.4.20.tar.gz,(3)执行该命令后,内核源代码被释放到一个新的“linux-2.4.20”目录下。注意:目录名可能因版本的不同而有所区别。为方便起见,将该目录名字改为“linux”,操作命令如下:mvlinux-2.4.20linux,3配置内核Linux提供多种配置内核的方法,可以根据需要与爱好使用下面命令中的一个。makeconfig命令:基于文本配置界面的配置命令。makemenuconfig命令:基于文本菜单配置界面的配置命令。makexconfig命令:基于图形窗口模式配置界面的配置命令。,本实验以基于图形窗口模式配置界面的配置命令为例配置内核,具体操作步骤如下。(1)用以下命令将当前目录改到解包文件目录“/usr/src/linux”下:cd/usr/src/linux(2)用以下配置命令打开配置对话框:makexconfig执行命令后,弹出配置对话框,如图10-1所示。由图10-1可见,配置内核的选项很多。选择每一项配置时,可以有三个选择按钮,如图10-2所示。,图10-1Linux内核配置对话框,图10-2配置内核的选择按钮,每个按钮的意义如下。y:将该功能编译进内核。n:不将该功能编译进内核。m:将该功能编译成可以在需要时动态插入到内核中的模块。单击“MainMenu”按钮,返回主配置窗口;单击“Next”按钮,配置下一个配置项;单击“Prev”按钮,配置上一个配置项。,在编译内核的过程中,大部分选项可以使用缺省值,只有部分要根据用户的需要进行更改。修改的原则是将与内核其他部分关系较远且不经常使用的部分功能代码编译成为可加载模块,有利于减小内核的长度,减小内核消耗内存,简化该功能相应的环境改变时对内核的影响;不需要的功能不选;与内核关系紧密而且经常使用的部分功能代码则直接编译到内核中。以下是几个主要的配置项(其他配置内容参考附录3)。Loadablemodulesupport:设置对可加载模块的支持,有以下三个选项。,Enableloadablemodulesupport:除非准备把所有需要的内容都编译到内核里面,否则该项应该是必选的(y)。Setversioninformationonallmodulesymbols:有关版本信息加载项,可以不选它(n)。Kernelmoduleloader:让内核在启动时有自己装入必需模块的能力,建议选上(y)。,Processortypeandfeatures:设置CPU的类型,有关的几个选项如下。Processorfamily:根据所使用的计算机选择CPU类型。HighMemorySupport:设置大容量内存的支持,可以支持到64GB,一般可以不选。Mathemulation:协处理器仿真,如果CPU中没有数字协处理器则应选中,不过从486以后一般的CPU都有数字协处理器了,所以一般不选(n)。MTTRsupport:MTTR支持,可不选(n)。Symmetricmulti-processingsupport:对称多处理支持,如果计算机上有多于一个CPU就一定要选,若是单CPU,则不选(n)。,Generalsetup:对普通的一些属性进行设置。这部分内容很多,一般使用缺省设置,下面介绍经常使用的一些选项。Networkingsupport:网络支持,必选,没有网卡也建议选上(y)。PCIsupport:PCI卡的支持,如果使用了PCI接口卡,则必选(y)。PCIaccessmode:PCI卡的存取模式,可供选择的有BIOS、Direct和Any,一般可选Any。Supportforhot-pluggabeldevices:热插拔设备支持,支持的不是太好,可不选。PCMCIA/CardBussupport:PCMCIA/CardBus支持,有PCMCIA就必选了(y)。,Parallelportsupport:并口的支持,一般应选上(y)。PlugandPlayconfiguration:即插即用配置。Linux有一定的即插即用功能,可选上。Blockdevices:块设备支持,其中,NormalPCfloppydisksupport:普通PC软盘支持,该项应选(y);Networkblockdevicesupport:网络块设备支持,若希望访问网上邻居的内容,则应选取。,Networkingoptions:要选取TCP/IPnetworking选项。Networkdevicesupport:网络设备支持,本项的选项很多,要注意选取正在使用的网络设备,例如正在使用Realtek8139的网卡,则“Ethernet(10or100Mbit)”就必须选上,还应选中对应的网卡型号“RealTeckRTL-8139PCIFastEthernetAdaptersupport”,若找不到所用网卡的型号,则应寻求厂商的支持,或到购买的网卡驱动盘中寻找。,Mice:鼠标设置。可以支持总线、串口、PS/2、C&T82C710mouseport、PC110digitizerpad等类型的鼠标,应根据所用的鼠标类型进行选择。Filesystems:文件系统类型。内容很多,主要有以下几项。DOSFATfssupport:DOSFAT文件格式的支持,可以支持FAT16、FAT32。NTFSfilesystemsupport:NTFS是WindowsNT/2000使用的文件格式。,/procfilesystemsupport:/proc文件系统是Linux提供给用户和系统进行交互的通道,建议选上,否则某些功能没法正确执行。Sound:声卡驱动,从列表中找到对应的声卡型号。USBsupport:USB接口的支持,根据需要选择。,(3)配置内核后,单击“SaveandExit”按钮存盘退出配置窗口。4生成依赖(dependency)信息,清除旧的编译结果配置内核后,返回命令窗口。为确保关键文件,在正确的位置输入以下命令:makedep为确保所有有关文件都处于最新版本状态,需要输入命令:makeclean检查是否生成依赖(dependency)信息并清除旧的编译结果。,5编译二进制内核映像文件在“/usr/src/linux”目录下建立二进制的内核映像文件,命令如下:makebzImage(输入命令时请注意区分大小写)编译过程持续几分钟。编译结束后,在/usr/src/linux/arch/i386/boot目录下可找到名为“bzImage”的映像文件,即新内核的映像文件。,6编译模块编译二进制内核映像文件后,需要进行模块的编译,命令如下:makemodulesmakemodules_install模块被编译且安装到/usr/lib/目录下。至此,内核被编译完成,内核模块也编译完成并被安装。,7配置启动管理器为了操作方便,先将编译好的新内核的映像文件(bzImage)复制到系统目录/boot下。命令如下:cp/usr/src/linux/arch/i386/boot/bzImage/boot如果系统是用LILO启动,则修改/etc/lilo.conf。lilo.conf文件内容类似以下文本文件:,prompttimeout=50default=linuxboot=/dev/hadmap=/boot/boot.bmessage=/boot/messagelinear,image=/boot/vmlinuz-2.4.7-10label=linuxread-onlyroot=/dev/hda2对以上文本修改后的内容如下:prompttimeout=50default=linux,boot=/dev/hadmap=/boot/boot.bmessage=/boot/messagelinearimage=/boot/bzImagelabel=newlinuximage=/boot/vmlinuz-2.4.7-10label=linuxread-onlyroot=/dev/hda2,其中,image=/boot/bzImage:指定内核的映像文件,即告诉LILO应该到何处找到新内核。label=newlinux:设置启动菜单选项的标签,即让启动的时候多一项“newlinux”的选择菜单。修改完成后,保存并退出。运行命令:lilo更新系统引导映象,使lilo.conf的修改起作用。然后重新启动计算机,整个内核升级完成。如果用Grub启动管理器,则添加以下几项:,titlenewlinux设置启动菜单选项的标签,即让启动的时候多一项“newlinux”的选择菜单root(hd0,0)kernel/boot/bzImageroroot=/dev/hda2注意:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024钢渣加工合同
- 2024广告承包合同范文
- 2024购房合同商品房预售合同
- 2024施工合同样本范文
- 2024家具销售合同范本
- 云计算与大数据在水果种植数据分析中的应用案例
- 纪律主题班会
- 苏州科技大学天平学院《书籍设计》2021-2022学年第一学期期末试卷
- 妊娠管理的职责
- 制糖业市场销售合同管理考核试卷
- 信息科技大单元教学设计之八年级第三单元简单物联功能实践
- 【团体标准】TDZJN 77-2022 锂离子电池产品碳足迹评价导则
- 期中模拟卷(含答案)2024-2025学年浙教版七年级数学上册
- 2024年湖南省长沙市中考历史试卷真题(含答案解析)
- 石料仓储合同范本
- 第1-4单元期中核心素质检测卷(试题)-2024-2025学年数学三年级上册北师大版
- 摩托车维修技术考核试卷
- 6 我的家庭贡献与责任(教学设计) 部编版道德与法治四年级上册
- 2024七年级英语下册 Unit 6 I'm watching TV教案设计(新版)人教新目标版
- 期中测试题-2024-2025学年道德与法治六年级上册统编版
- 《珍爱生命拒绝毒品》主题班会课件
评论
0/150
提交评论