分类: LINUX
2013-01-04 16:12:16
什么是linux内核
Linux内核是Linux操作系统的核心,主要包括文件系统模块、内存管理模块、进程管理模块、进程间通信模块和网络接口模块5大模块。
1、文件系统模块:主要负责文件系统的管理,在Linux2.6内核支持ext2、ext3、ext4、gfs、及网络文件系统nfs、cifs等。
2、内存管理模块:主要负责无聊内存和虚拟内存的资源分配。
3、进程管理模块:主要负责进程的资源分配协调管理。
4、进程间通信模块:主要负责协调进程之间的资源分配关系和进程资源的竞争分配。
5、网络接口模块:主要负责对系统进行远程管理。
为什么要升级内核
正如它的名字的字面意义,Linux的内核承担着Linux操作系统的最为核心的任务,是其它程序和硬件等运行过程中的仲裁者:它要管理所有进程的内存,保证它们都能平等得到处理器的时隙。此外,它还提供程序和硬件之间的接口等功能。
通常,更新的内核会支持更多的硬件,具备更好的进程管理能力,运行速度更快、更稳定,并且一般会修复老版本中发现的许多漏洞等,经常性地选择升级更新的系统内核是Linux使用者的必要操作内容。
一 般,内核的版本序列号使用三个数字表示,如2.2.14,版本号越高表示功能越强。版本号分为两个系列:一种是产品系列,以偶数命名,例如,1.2.x、 2.0.x、2.2.x等,运行稳定,已经经过较为周密的测试;另外一种是开发测试系列,以奇数命名,用以进行最新功能的测试,不建议初学者和生产过程中 使用。
升级linux内核前的准备工作
查看系统内核版本
[root@a ~]# uname -a
Linux a.liusuping.com 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:21 EST 2007 i686 i686 i386 GNU/Linux
新版本的内核分两种:
内核升级所需依赖包
在进行内核升级或定制内核时,Linux系统需要事先安装GCC编译工具、ID连接器和make编译器
gcc-gfortran-4.1.2-44.el5
gcc-c++-4.1.2-44.el5
gcc-objc-4.1.2-44.el5
gcc-gnat-4.1.2-44.el5
gcc-java-4.1.2-44.el5
libgcc-4.1.2-44.el5
gcc-4.1.2-44.el5
gcc-objc++-4.1.2-44.el5
binutils-2.17.50.0.6-9.el5
make-3.81-3.el5
binutils-devel-2.17.50.0.6-9.el5
binutils-2.17.50.0.6-9.el5
control-center-2.16.0-16.el5
control-center-devel-2.16.0-16.el5
libstdc++-devel-4.1.2-44.el5
glibc-common-2.5-34
glibc-devel-2.5-34
glibc-headers-2.5-34
glibc-utils-2.5-34
make-3.81-3.el5
ncurses-devel-5.5-24.20060715
dialog-1.0.20051107-1.2.2
下载Linux2.6内核源码文件
可以通过如下网站下载源码包,这里下载linux-2.6.36.tar.gz
内核的编译安装
# tar -zxf linux-2.6.36.tar.gz -C /usr/src/ //解压到该目录/usr/src/
# cd /usr/src/linux-2.6.36/ #进入目录
# make mrproper //去除内核的依赖关系以及编译后的垃圾信息
# make menuconfig //进入菜单方式界面配置内核
通 过界面可以清楚看到按上下键选择指定菜单,通过回车键可以进入带有箭头→的下一级子目录,通过Y键可将选项编译到内核,按N键将不选择选项,即既不把选项 编译到内核也不编译成模块,M键可将选项编译成模块,按两次Esc键可退出到上一级,按?键可查看指定选项的帮助文档,按/键可搜索指定选项的位置以及路 径,如下:
需要勾选上General Setup下面的 “enable deprecated sysfs features to support old userspace tools”,不然编译安装之后会找不到原来的挂载点。
# make;make modules;make modules_install;make install //分别是编译内核、编译模块、安装模块、安装内核,注意是在linux-2.6.36/这目录下编译
修改引导启动管理器的配置文件
# cat /boot/grub/grub.conf
default=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.36)
root (hd0,0)
kernel /vmlinuz-2.6.36 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.36.img
title Red Hat Enterprise Linux Server (2.6.18-8.el5)
root (hd0,0)
kernel /vmlinuz-2.6.18-8.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
initrd /initrd-2.6.18-8.el5.img
其实不需要进行修改,内核升级好之后会自动在grub.conf文件中加入上门红色的配置。重启电脑就可以选择需要启动的内核,如果不需要旧的内核可以在grub.conf配置文件中将旧内核的参数注释掉即可。
本文转自: