内核组成部分
1、Kernel 2、Kernel Object 3、ramdisk
查看kernel版本
uname
管理kernel object工具
lsmod modinfo modprobe insmod rmmod depmod
与ramdisk相关的工具
mkinitrd dracut
启动流程
POST->boot sequence->bootloader->加载kernel->只读方式挂载root->init->运行系统初始化脚本->默认运行级别->开启或者关闭指定服务->启动终端
升级内核
升级内核可以通过RPM包的方式。那RPM包从哪里来?自己编译或者从网上获取。 这个结论待定!!!!!!!!!!!!!
编译内核的前提
1、准备好开发环境(开发工具,服务器平台开发)
2、获取目标主机硬件设备的相关信息
3、获取目标主机功能的相关信息,比如文件系统(有些不需要的文件系统可以在编译的时候不选择)
4、获取内核源代码包:www.kernel.org https://mirrors.edge.kernel.org/pub/linux/
第一步:准备开发环境(可以通过yum grouplist/groupinstall 查看/安装)
有个*ncurses* 类包需要安装,这个可以在操作的过程中可能有提示。
第二步(可选) 获取目标主机硬件设备信息
CPU:
PCI设备
USB设备
硬盘信息
还可以通过hal-device程序去了解硬件信息
第三步 下载对应设备增量版本
https://mirrors.edge.kernel.org/pub/linux/
来看看linux-3.10.1的内容
第四步执行内核编译
执行这个操作是为了操作的统一性。以后都是操作Linux目录即可。
需要生成内核编译软件的配置文件
make menuconfig
执行menuconfig需要ncurses-delvel程序,现在就需要安装ncurses,过程就忽略了,通过yum安装
注意:menuconfig必须在linux目录里执行
这个就是make menuconfig界面。注意:配置内核编译参数的方式有很多,menuconfig是一种方式。
调整完meneconfig的图形界面后会生成一个.config的文件
执行make -j 4 执行内核编译工作,操作目录还是linux里面
再执行make modules_install 安装内核模块
最后执行make install 安装内核核心文件
重启系统验证下内核安装结果
哎~~~ 最后没有引导成功,应该是系统BUG问题,我在CentOS6上是做成功的。
相同的步骤我在7.2和7.1都测试过是没问题的。可能之前的7.4的版本有Bug。