能在一起要学会知足,期望放低一点,幸福就会多一点。

Linux内核升级与删除

BLOGGY 11036浏览 0评论

把linux系统的内核升级了一下,记录一下!
内核升级:
1、下载内核 地址:http://www.kernel.org/pub/linux/kernel/v2.6/   选择想升级的内核,一般选择稳定版本
2、如果是下载kernel 和kernel-devel 的rpm 包,可以通过 rpm -ivh kernel*.rpm 来安装,如果是源代码,把下载的tar包CP到/usr/src/kernels 目录下,解压:
   tar xzvf linux-2.6.23.9.tar.gz
3、进入内核目录:cd /usr/src/kernels/linux-2.6.23.9
4、接下来就正式开始make了:
  #make menuconfig
注:
   使用这个命令后会打开一个编译对话框,选择作为内核或者模块编译的内容,若不是有特殊需要,一般默认即可,但是切记:
A:Device Drivers  --->SCSI device support  ---><*>   SCSI disk support
    Device Drivers  --->SCSI device support  --->SCSI low-level drivers  ---><*> BusLogic SCSI support
    如果这几项不选,等编译完成后重启后会发现系统会提示:No module BusLogic found for kernel的错误,然后死掉
B:Device Drivers  ---> Fusion MPT device support  ---><M> Fusion MPT (base + ScsiHost) drivers和<M>   Fusion MPT misc device (ioctl) driver
   注意:只能选模块方式,直接编译进内核,就出错。
   出错信息如下:No module mptbase found for kernel vmware(*我使用默认方式并没有出现这个提示,这一段是一个网友所述,不知为何!)
C:还有一点切记,把所有的有关ext3(在File Systems下面的Ext3 journalling file system support, Ext3 Security Labels和JBD (ext3) debugging support等等)的选项都编译到内核里面去,记住,是内核<*>不是模块<M>,否则重启系统后会提示:Mount: error 19 mounting ext3(我升级了三次都是出现了这个错误,后来搜索了一下才发现是这个原因!)
   File systems --->
    <*> Ext3 journalling file system support
    [*] Ext3 extended attributes
    [*] Ext3 POSIX Access Control Lists
    [*] Ext3 Security Labels
一个小技巧:进入编译对话框后,可以输入: /搜索的内容,比如 /ext3,可以很方便的查看需要设置的项在哪个地方。
三种方式:*作为内核编译,M作为模块编译,为空则是不编译。
内核配置有两种方法,一种是直接置入内核 * ;另一种是编成模块 M ;两种方法各有优点;直接编入内核的,比如设备的启动,不再需要加载模块的这一过程了;而编译成模块,则需要加载设备的内核支持的模块;但直接把所有的东西都编入内核也不是可行的,内核体积会变大,系统负载也会过重。我们编内核时最好把极为重要的编入内核;其它的如果您不明白的,最好用默认。
   
    #make //这个过程比较长,大概得一个小时左右
    #make modules
    #make install
OK,这样就行了,reboot你的系统,会发现在重启后,在引导的时候会有两个不同内核的系统可选,我们当然要选刚编译的系统啦。
若是一次没有编译成功,想第二次进行编译,先进入内核目录,执行make clean,然后继续上面的步骤,否则会出问题!

内核删除:
有时我们基于各种原因可能删除一些老的内核,基本步骤如下:
1. 查看当前系统的内核版本,千万不要删除错了
      #uname -r  或者  uname -a
2. 对于通过rpm方式安装的内核,删除就很简单了。直接用rpm -e 相应的内核版本就能删除掉了。
   对于手工编译安装的内核,删除起来稍微就要麻烦些了。
    (1)、修改 /etc/grub/grub.conf 或 /etc/grub/menu.lst ,删除那些不想要的内核选项。
    (2)、删除 /lib/modules/相对应的内核版本的目录
    (3)、删除 /boot/相对应的内核版本的文件
对于Ubuntu系统:
$dpkg --get-selections|grep linux-image  //查看内核版本名称
$sudo apt-get remove 内核版本(如:linux-image-2.6.15-23-386)

Linux内核管理:http://www.loosky.net/?q=linuxkernel

转载请注明:自由的风 » Linux内核升级与删除

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址