编译linux内核成vmlinuz,Linux内核编译与安装

原标题:Linux内核编译与安装

Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统,内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制。Linux内核的一大特点就是采用了整体式结构,有很多过程组成,每个过程都可以独立编译,其模块机制又湿得内核保持独立而又易于扩充。

Linux内核介绍

Linux发行版是在Linux内核的基础之上,与外带的应用软件和工具打包配置之后发行的版本。最初的Linux内核在1991年由当时还在芬兰赫尔辛基大学计算机系读书的Linus Torvalds开发,之后Linus很快聚集了大量来自其他自由软件项目的开发者和用户为Linux内核贡献代码。当前估计有上千开发者在为Linux内核贡献代码。

自2.6.0版本发布后,Linux内核以A.B.C.D的方式命名。A和B的变化可以说无关紧要,C是内核的真实版本,每一个版本的变化都会带来新的特性。例如内部API的变化等等,改动的数量常常上万。D是安全补丁和bug修复。如果你是Linux的初学者或用户,只需了解stable即可,它代表稳定版的内核更新。mainline指当前的官方内核,由Linus Torvalds进行更新维护,由开发者们贡献的代码主要是合并到mainline当中。linux-next和snapshot都是代码提交周期结束之前生成的快照,用于给Linux代码贡献者们做测试使用。目前stable版本的更新周期为六到十周,下一个稳定版本的rc基本上每周都会更新。新版本的内核分两种,一种是Full Source版本,完整的内核版本。比较大,一般是tar.gz或者.bz2文件。另一种是patch文件,即补丁文件。patch文件一般只有及时K到几百K,但是对于特定的版本来说,你要找到自己对应的版本才能使用。

编译linux内核成vmlinuz,Linux内核编译与安装_第1张图片

编译安装内核

1.下载并解压内核

内核下载官网:https://www.kernel.org/

解压内核:tar xf linux-2.6.XX.tar.xz

2.定制内核:make menuconfig

参见makefile menuconfig过程讲解

3.编译内核和模块:make

生成内核模块和vmlinuz,initrd.img,Symtem.map文件

4.安装内核和模块:sudo make modules_install install

复制模块文件到/lib/modules目录下、复制config,vmlinuz,initrd.img,Symtem.map文件到/boot目录、更新grub

5.其他命令:

make mrprobe:命令的作用是在每次配置并重新编译内核前需要先执行“make mrproper”命令清理源代码树,包括过去曾经配置的内核配置文件“.config”都将被清除。即进行新的编译工作时将原来老的配置文件给删除到,以免影响新的内核编译。

make dep:生成内核功能间的依赖关系&#x

你可能感兴趣的:(编译linux内核成vmlinuz,Linux内核编译与安装)