文档介绍:Linux内核编译
目的
。
。
。
实验工具与设备
:计算机。
三、内核简单介绍
内核是一个操作系统的核心,负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。
Linux的一个重要特点是其源代码的公开性,所有的内核源程序都可以在/usr/src/linux下找到,大部分应用软件也遵循GPL而设计,任何人都可以获取相应的源程序代码。全世界任何一个软件工程师都可以将自己认为优秀的代码加入到其中,由此带来的一个明显好处,是修补漏洞的快速以及对最新软件技术的利用。Linux的内核是这些特点最直接的代表。
Linux作为一个自由软件,在广大爱好者的支持下,内核版本不断更新。新的内核修订了旧内核的bug,并增加了许多新的特性。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效、更稳定的内核,就需要重新编译内核。
通常,更新的内核支持更多的硬件,具备更好的进程管理能力,运行速度更快、更稳定,并且会修复老版本中发现的许多漏洞等。经常性地选择升级更新的系统内核,是Linux用户的必要操作内容。
为了正确合理地设置内核编译配置选项,只编译系统需要功能的代码,原因如下。
(1)自己定制编译的内核运行更快(具有更少的代码)。
(2)系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)。
(3)不需要的功能编译进入内核,可能会增加被系统攻击者利用的漏洞。
(4)将某种功能编译为模块方式比编译到内核的方式速度要慢一些。
内核编译模式可以分为编译到内核和编译成模块两种模式。要增加对某部分功能的支持,例如网络等,可以把相应部分编译到内核中(build-in),也可以把该部分编译成模块(module)动态调用。如果编译到内核中,在内核启动时就可以自动支持相应部分的功能,其优点是方便、速度快,机器启动即可使用这部分功能;其缺点是使内核变得庞大起来,无论是否需要这部分功能,它都会存在。建议将经常使用的部分直接编译到内核中,如网卡。如果编译成模块,,使用时可以动态加载,优点是不会使内核过分庞大,缺点是必须得由用户自己来调用这些模块。
四、实验内容和步骤
在/linux/kernel可以下载Linux的最新内核代码。内核的源代码按内核版本(、)组织到多个不同的目录中。在每个目录中,文件被冠以“linux-”和“linux-”等,这些就是Linux内核的源代码。同时存在一些类似“patch-”和“patch-”的文件,这是用来更新前面完整的内核源代码的补丁包。
从/linux/kernel/--,并将下载的内核linux-“/usr/src”目录下。