详解对Linux内核进行升级的步骤

Linux的内核是系统的核心,所以升级内核是Linux系统管理员的一项基本技能,所以我就分享了系统运维实务上的一篇文章,当然我对源文件稍做了一些内容的增加,就是把遇到的问题及解决方案也加上了,希望对各位Linux系统管理员有所帮助!

1.下载内核

代码如下:

cd /usr/src

wget linux/kernel/v2.6/linux-2.6.38.tar.gz">http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.38.tar.gz

tar zxvf linux-2.6.38.tar.gz

cd linux-2.6.38

2.下载热点内核标准配置文件

代码如下:

wget http://vbets.googlecode.com/files/config

mv config .config

3.编译内核

代码如下:

make menuconfig

选中Load an Alternate Configuration File ,然后选择刚下载的。config

另外,要特别选中:

1)、通过make menuconfig选中以下对应的选项

代码如下:

General setup –>

[*] enable deprecated sysfs features to support old userspace tools

2)、修改。config文件

修改。config文件中CONFIG_SYSFS_DEPRECATED_V2,将原本被注释掉的

代码如下:

CONFIG_SYSFS_DEPRECATED_V2 改成CONFIG_SYSFS_DEPRECATED_V2=y

注: 修改这项是因为旧版的mkinitrd及其nash在内核没有CONFIG_SYSFS_DEPRECATED_V2参数时默认使用旧版sysfs路径格式,从而在新内核下无法正确访问/sys内的硬盘信息节点。

主要是解决"mount:could not find filesystem '/dev/root'"这样的错误

代码如下:

make bzImage

make modules

make modules_install

make install

4.解压修改内核

代码如下:

cp /boot/initrd-2.6.38.img /tmp

cd /tmp/

mkdir newinitrd

cd newinitrd/

zcat /initrd-2.6.38.img |cpio -i

rm -rf /tmp/initrd-2.6.38.img

vi init[/code]

找到这2行一样的,去掉1行

代码如下:

echo "Loading dm-region-hash.ko module"

insmod /lib/dm-region-hash.ko

echo "Loading dm-region-hash.ko module"

insmod /lib/dm-region-hash.ko

这主要是解决:"insmod: error inserting '/lib/dm-region-hash.ko': -1 File exists"这样的错误

5.从新打包内核

代码如下:

find .|cpio -c -o > /initrd

cd /

gzip -9 < initrd > initrd-2.6.38img

rm -rf /boot/initrd-2.6.38.img

cp initrd-2.6.38.img /boot

rm -rf /cd /usr/src/linux-2.6.38.tar.gz

rm -rf /cd /usr/src/linux-2.6.38

6.设置从新内核启动

代码如下:

vi /boot/grub/grub.conf

把default=1改为default=0

7.重新启动系统

代码如下:

reboot

(0)

相关推荐

  • WS自动更新怎么P关闭?详解WPS自动更新的关闭方法步骤

    wps怎么关闭自动更新?电脑上安装了WPS办公软件.使用的挺好的.但就是会一直显示出现说升级信息,想关闭却找不到方法,下面小编分享如何如何设置wps不自动更新?wps关闭自动更新设置的方法教程.下面是 ...

  • Linux aptitude 命令用法详解(Debian Linux系统中软件包管理工具)

    aptitude命令与apt-get命令一样,都是Debian Linux及其衍生系统中功能极其强大的包管理工具.与apt-get不同的是,aptitude在处理依赖问题上更佳一些.举例来说,apti ...

  • linux用户管理和组管理使用详解(图解linux创建用户和组)

    linux下有三类用户: 1、超级用户 :root 具有操作系通的一切权限 uid 0 2、普通用户:普通用户具有操作系统有限的权限 uid 500-6000 3、伪用户 :是为了方便系统管理,满足相 ...

  • Linux dpkg-query 命令用法详解(Debian Linux中软件包的查询工具)

    dpkg-query命令是Debian Linux中软件包的查询工具,它从dpkg软件包数据库中查询并辨识软件包的信息. 语法 dpkg-query(选项)(参数) 选项 -l:列出符合匹配模式的软件 ...

  • 详解梦想海贼王怎么快速升级

    操作方法 01 梦想海贼王怎么升级快呢,在游戏的挑战中,升级是玩家最关心的问题之一哟,现在就来详细的了解一下梦想海贼王升级快速的方法都是什么吧,同时还为玩家准备了梦想海贼王更多升级内容,不要错过哟. ...

  • 详解破坏LINUX操作系统的命令

    如果您使用Linux,可千万要记得不要让傻孩子们敲入以下命令,尽管这些命令看上去相当复杂,但还是会对你的系统造成严重影响. 有一些会影响你的程序和系统运行,有一些会直接把你的盘抹掉,这些命令几乎没有什 ...

  • 图文详解电脑所有连线--升级老鸟第1步

    作为一个初级菜鸟,要组装一台可以使用的电脑,我们首先要解决的问题是如何将诸多电脑配件和连线顺利地连接起来?为了完成这个任务,就必须深入认识电脑内外各种连线。笔者把这些连线分为主机外连线、主机内连线和主 ...

  • 详解在Linux系统中如何管理systemd服务

    (1) 什么是单元 在RHEL7之前,服务管理是分布式的被SysV init或UpStart通过/etc/rc.d/init.d下的脚本管理.这些脚本是经典的Bash脚本,允许管理员控制服务的状态.在 ...

  • CentOS中禁止用户ssh和sftp登陆的详解

    CentOS中禁止用户ssh和sftp登陆的详解 在linux中出于安全的需要,我们会禁止某些用户SSH登陆系统进行操作.我这里以centos操作系统为例记录下如何进行处理. 1.打开sshd的配置文 ...