update kernel

http://www.cncentos.c口m/forum.php?mod=viewthread&tid=566

centOs 2.6.32->2.6.37

配置内核、安装

A、清除环境变量             # make mrproper

B、选择需要编译的内核模块   # make menuconfig

没有报错的话就会出现一个蓝色的全英文版块

找到以下选项并选中(上面有提示操作,跟电脑的BIOS差不多,应该看得明白吧)

networkingsupport → networking options → network packet filtering framework(netfilter)

(1)Core netfilterconfiguration

•勾中"Netfilterconnection tracking support" -m state相关模块是依赖它的,不选则没有。

•将netbios nameservice protocal support(new) 编译成模块,不然后面升级iptables后启动时会出错

•勾中"NetfilterXtables support (required for ip_tables)"

(2)IP: NetfilterConfiguration

•将 "IPv4connection tracking support (require for NAT)" 编译成模块。

•勾中IP tables support(required for filtering/masq/NAT) 。

•将 "FullNAT" 下的 "MASQUERADE target support" 和"REDIRECT target support" 编译成模块;

(3)其它模块可选 可不选,影响不大。想深入了解的朋友可以看内核手册,

5、然后执行以下命令:

保证为最新文件 #make clean

生成内核文件     #make bzImage

编译模块               #make modules

安装           #make install

6、编辑/etc/grub.conf 文件,将 default=1 改为 default=0 (可能会有所不同,但前面的是一样的,只要改了default就对了)

# grub.confgenerated by anaconda

#

# Note that youdo not have to rerun grub after making changes to this file

# NOTICE:  You have a /boot partition.  This means that

#          all kernel and initrd paths arerelative to /boot/, eg.

#          root (hd0,0)

#          kernel /vmlinuz-version roroot=/dev/sda2

#          initrd /initrd-[generic-]version.img

#boot=/dev/sda

default=0

timeout=5

splashimage=(hd0,0)/grub/splash.xpm.gz

hiddenmenu

此文件中会看到有关两个版本各个部分的信息

2.6.32

...

2.6.37

...

6、  重启系统  reboot

再查看内核版本uname –r

ERROR: could not find XX modul

原因分析:在make install时,为了让新内核中不缺少所需module,会先检查当前系统已经加载了的module(lsmod命令可查看),然后对比新安装的内核模块,如果新的内核模块中缺少一些module(和当前lsmod命令的输出做对比),就会报“ERROR: modinfo: could not find module power_meter”这样的错误信息。

具体来说,缺少相应module而报错,大致可分为3种情况:
1. 确实是缺少了某个module,其解决方法是:如果报的module对于你来说是有用,检查编译kernel时的.config文件,加上对应的配置(配为=m),重新编译和安装modules即可;如果你觉得这个module没啥用,大可不必管它了。

2. 新编译的kernel已经将该选项编译进kernel了(.config中选择为=Y),从而不需要生成这个module的.ko文件,系统找不到对应的.ko文件,但是已经在新内核中了,不必理会这个报错。例如,上面的“ERROR: modinfo: could not find module ext4”是因为我将EXT4文件系统模块编译为built-in了

3. 模块的名称变了,用当前系统lsmod命令查找的模块名称,在新编译的内核中找不到module了。只需要检查确认即可,如这里的“ERROR: modinfo: could not find module power_meter”就是这种类型

最后,如果那些错误报的内核模块,你认为不重要或者都经过上面的分析解决后,你就可以忽略这些错误提示了;尽管有这些“ERROR: modinfo: ”错误提示,但是kernel还是被正确安装了的,往下继续操作使用即可。

——————————————————————————————————————————————————————

<ccid_code>1.[[email protected]]#make mrproper
2.[[email protected]]#make clean
3.[[email protected]]#make menuconfig
3.1.选择处理器
      Processor type and features--->Processor family--->386
3.2.Ram Disk驱动
      Block devices--->
      < * > RAM disk support
      (4096) Default RAM disk size (NEW)
      < * > Initial RAM disk (initrd) support
  3.3.文件系统
      File systems--->
      [ * ] Ext3 journalling file system support
      [ * ] Ext3 Security Labels
      [ * ] JBD (ext3) debugging support
  3.4.BusLogic驱动
      SCSI support--->
      SCSI low-level drivers --->
      < M >BusLogic SCSI support
4.[[email protected]]#make dep
5.[[email protected]]#make bzImage
6.[[email protected]]#make modules
7.[[email protected]]#make modules_install
  (*
    make modules_install将执行如下操作:
 #cp /usr/src/linux/System.map /boot/System.map-2.4.18
 #cp /usr/src/linux/arch/i386/bzImage /boot/vmlinuz-2.4.18
 #cd /boot
 #rm -f System.map vmlinuz
 #ln -s vmlinuz-2.4.18 vmlinuz
 #ln -s System.map-2.4.18 System.map

 bzImage是压缩的内核映像
 vmlinux是未压缩的内核,vmlinuz是vmlinux的压缩文件。
 initrd一般被用来临时的引导硬件到实际内核vmlinuz能够接管并继续引导的状态。
 System.map是一个特定内核的内核符号表。它是你当前运行的内核的System.map的链接。
  *)
8.[[email protected]]#make install (生成grub下的menu.lst相关文件和RAM启动盘)
9.[[email protected]]#reboot (重启计算机)
时间: 2025-01-05 22:20:47

update kernel的相关文章

centos yum update kernel

1.查看当前kernel版本 uname -r 2.查看已安装版本 rpm -q kernel 3.查看可升级kernel版本 yum list kernel 4.升级kernel版本 yum update kernel 5.删除旧的内核 方法一:安装yum-utls: yum install -y yum-utils 设置你想要保留多少旧的内核,比如我想保留两个: sudo package-cleanup --oldkernels --count=2 方法二:直接删除对应版本 rpm -e k

update kernel 3.10-3.12

安装包下载以及依赖包安装 1.到www.kernel.org下载3.12.48压缩包 2.tar xvf linux-3.12.48.tar.xz 3.sudo yum install ncurses ncurses-devel 内核配置,编译,安装 1.清除环境变量 make mrproper 2.配置编译选项并保存 make menuconfig,一般默认即可 3.编译镜像文件 make bzImage4.编译模块 make modules 5.模块安装 make modules_insta

Fedora安装VirtualBox时出现错误Kernel driver not installed (rc=-1908)的解决办法

新建虚拟机后启动时出现如下错误: Kernel driver not installed (rc=-1908) The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Re-setup the kernel module by executing '/etc/init.d/vboxdrv setup' as root.

Solution After install kernel 2.6.32-504 Could not open /dev/vmmon

After update kernel for 2.6.32-504.12.2,my Centos can't start vm.  "Could not open /dev/vmmon: No such file or directory." Solution: cd /usr/lib/vmware/modules/source/ tar xvf vmmon.tar cd vmmon-only/ make cp -f vmmon.ko /lib/modules/2.6.32-504.

解决centos7安装wmwaretools找不到kernel header

解决centos6安装wmwaretools找不到kernel header http://www.centoscn.com/CentosBug/softbug/2015/0525/5531.html During the installation process, I found following error: Searching for a valid kernel header path... The path "" is not valid. Would you like t

redhat 6.4 安装VirtualBox自动增强功能功:unable to find the sources of your current Linux kernel

redhat 6.4 安装VirtualBox自动增强功能功能的时候提示: building the main Guest Additions module FAILED unable to find the sources of your current Linux kernel. Specify KERN_DIR-<directory> and run Make again 这个时候需要检测gcc make kernel-level kernel-header 等文件是否安装.具体使用如下

关于kernel-devel、kernel-header和kernel src的区别

A kernel-header package would contain 'header files' needed by some applications which would be built on the target machine, for example modules used by virtualbox or the proprietary nvidia driver.http://kernelnewbies.org/KernelHeadersA kernel-devel

Kernel parameters for Db2 database server installation (Linux and UNIX)

Db2 11.1 For root installations, the database manager uses a formula to automatically adjust kernel parameter settings and eliminate the need for manual updates to these settings. Before you begin You must have root authority to modify kernel paramet

Virtual:VirtualBox 安装Centos7后 安装增强功能出现kernel headers not found for target kernel 错误的解决办法

VirtualBox 安装Centos7后 安装增强功能出现kernel headers not found for target kernel 错误的解决办法 提示:kernel headers not found for target kernel 原因已经表明出来了,说明kernel headers 没有安装; 直接贴出解决方案: 1.update kernel yum update kernel -y 2.Install the kernel-headers, kernel-devel