1.确认当前linux系统的内核版本,使用命令 uname -a
2.切换到/usr/src目录下
cd /usr/src #此后如果没有提示所有操作都是在这个目录下
3.下载Linux Kernel 我选择的是3.4版本
wget http://www.kernel.org/pub/linux/kernel/v3.x/linux-3.4.tar.gz
解压内核文件
tar -zxvf linux-3.4.tar.gz #解压
cd linux-3.4 #切换目录
3.安装开发环境
yum groupinstall "Development tools"
4.复制内核配置文件
cp /boot/config-2.6.32-573.el6.x86_64 .config
5.内核配置
make distclean #清除以前编译内核生成的所有文件(除了清除可执行文件和目标文件外,configure所产生的Makefile也会清除掉)
②make menuconfig:图形化得配置界面
注意:使用make menuconfig 需要安装ncurses(yum -y install ncurses-devel)
** 如果编译完重启后出现mount:could not find filesystem /dev/root的错误,
解决办法是:重新make menuconfig, 使CONFIG_SYSFS_DEPRECATED_V2=y(可以打开文件.config验证)
6.编译
make #时间有点长我用的虚拟机大概一个小时左右
7.编译模块
make modules_install
8.安装
make install
注:有一个地方报错了关于虚拟机的,直接忽略即可
9.修改grub,让引导程序默认从新的内核启动
vi /boot/grub/grub.conf
10.第一启动项是新内核
11.重新启动
reboot
12.查看新内核
uname -a
清除内核的方法
1.首先列出系统中正在使用的内核
uname -a
2.查看系统中的内核
rpm -qa | grep kernel
3.删除指定的内核及其文件
yum remove kernel-2.6.32-573.el6.x86_64
yum remove kernel-devel-2.6.32-642.1.1.el6.x86_64
yum remove kernel-headers-2.6.32-642.1.1.el6.x86_64 kernel-firmware-2.6.32-573.el6.noarch -y
疑问。在这里面为什么我没看到新的内核。gcc还是以前的,以后查资料吧。快要中药考试了,赶紧复习
附录:
问题解决方案
1.ERROR: modinfo: could not find module vmware_balloon
http://blog.csdn.net/taiyang1987912/article/details/42744019
最简单的安装方式
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml
参考:http://blog.csdn.net/xyang81/article/details/7522032
https://linux.cn/article-5322-1.html