17、linux笔记--Linux内核编译与管理

版权声明:本文为博主原创文章,如要转载,请注明地址,谢谢^...^ https://blog.csdn.net/qq_38880380/article/details/82527139

一、了解内核与取得内核源代码

1、什么是内核(Kernal)

(1)内核就是系统上面的一个文件而已,这个文件包含了驱动主机各项硬件的检测程序与驱动模块。当系统读完BIOS并加载MBR内的引导装载程序后,就能加载内核到内存中,然后内核开始检测硬件,挂载根目录并取得内核模块来驱动所有的硬件,然后调用/sbin/init就能够依序启动所有系统所需要的服务了。

(2)内核模块(kernal module)最大的好处就是最大节省硬件资源和降低工作量。即将一些不常用的类似驱动程序的内容独立出内核,编译成为模块。

(3)内核模块的存放位置: /lib/modules/$(uname-r)/kernal 中。

2、更新内核的目的  [编译内核一般需要很久]

(1)需要增加新需求

(2)原内核太过臃肿

(3)其他需求(如嵌入式)

3、内核的版本

(1)主要版本的定义为“[主].[次].[发布]-[修改]”,次版本号偶数代表是稳定版本,奇数表示测试版本。

(2)版本之间会差异很大,像2.4.x与2.6.x,两者之间使用的函数库基本上已经不同了。

4、内核源码的获取

(1)distribution提供内核源代码文件

(2)内核官网提供内核源码,网址:www.kernel.org

5、内核源代码下的次目录

(1)arch:与硬件平台相关的选项,大部分指的是CPU的类型,例如x86,x86_64,Xen虚拟支持等;

(2)block:与区块设备较相关的设置数据,区块数据通常指的是大量储存媒介,还包括类似ext3等文件系统的支持是否允许等;

(3)crypto:内核所支持的加密技术,例如md5或者是des等;

(4)Documentation:与内核有关的一堆帮助文档,若对内核有极大的兴趣,可细读。

(5)drivers:一些硬件的驱动程序,例如显卡、网卡、PCI相关硬件等;

致谢

1、《鸟哥的Linux私房菜》[第三版] 作者 鸟哥

2、在Ubuntu16.04LTS下编译Linux-4.15.7内核

猜你喜欢

转载自blog.csdn.net/qq_38880380/article/details/82527139