主机环境: centos6.5
内核版本: 2.6.32
升级版本: 2.6.38
步骤
1、下载内核版本
参考:https://blog.csdn.net/sinat_36564972/article/details/81560395
或下载地址:https://www.kernel.org/pub/linux/kernel/v2.6/
获取2.6.38内核版本。
2、解压到 /usr/src
3、编译内核
cd 2.6.38/
# make menuconfig
本文目的是搭建KGDB调试环境,需要选中KGDB选项
取消下面的选项
# vi .config
增加如下两项, 这里不确定是否有用, 但是没有加之前,安装后启动失败。
HYPERVISOR_GUEST=y
CONFIG_VMWARE_BALLOON=m
# make -j4 bzImage
# make -j4 moudle_install
# make install
# reboot
重启正常, 内核升级成功
在vmware虚拟机上编译,出现类似下面的错误
[root@sean linux-2.6.32]# make install
sh /usr/src/linux-2.6.32/arch/x86/boot/install.sh 2.6.32 arch/x86/boot/bzImage \
System.map "/boot"
ERROR: modinfo: could not find module vmware_balloon
可以忽略,如果你有强迫症的话,尝试以下办法:
要在vmware上需要安装VMWARE_BALLOON,可直接修改.config文件,但如果vi直接加入CONFIG_VMWARE_BALLOON=m
依然是没有效果的,因为它依赖于HYPERVISOR_GUEST=y
。如果你不知道这层依赖关系,通过make menuconfig
后,Device Drivers -> MISC devices 下是找不到VMware Balloon Driver的。(手动vi .config修改HYPERVISOR_GUEST后,便可以找到这一项),另外,无论是通过make menuconfig或直接vi .config,最后都要运行sh -c 'yes "" | make oldconfig'
一次得到最终的编译配置选项。
然后,考虑到vmware_balloon可能在这个版本里已更名为vmw_balloon,通过下面的方法保险起见:
# cd /lib/modules/3.10.58/kernel/drivers/misc/
# ln -s vmw_balloon.ko vmware_balloon.ko #建立软连接