linux kernel 升级

本文详细介绍了如何手动升级Linux内核,包括解压新内核源码、更新系统、安装所需软件包、配置、编译、安装及修改Grub引导顺序。遵循这些步骤,用户可以将内核从2.6.32-358.11.1.el6.x86_64升级到3.10.58。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.解压

tar -xf linux-3.10.58.tar.xz

2.更新当前系统

sudo yum update

说明:执行此操作会升级系统版本,建议不要执行

3.安装编译内核所需要的软件包

sudo yum groupinstall "Development Tools"  # 一口气安装编译时所需的一切工具
sudo yum install ncurses-devel  #必须这样才能让 make *config 这个指令正确地执行。
sudo yum install qt-devel       #如果你没有 X 环境,这一条可以不用
sudo yum install hmaccalc zlib-devel binutils-devel elfutils-libelf-devel  #创建CentOS-6 内核时需要它们

4.uname -r

  2.6.32-358.11.1.el6.x86_64    #查看当前系统内核

5.获取并解压内核源码,配置编译项,将当前系统的配置文件拷贝到当前目录。

   tar -xf linux-3.10.58.tar.xz -C /usr/src/

   cd /usr/src/linux-3.10.58/

   cp /boot/config-2.6.32-358.11.1.el6.x86_64 ./.config  # 此处boot下的这个config文件要根据实际,未必是这个文件名的文件。

6.使用旧内核配置,并自动接受每个新增选项的默认设置

sh -c 'yes "" | makeoldconfig'   # make oldconfig会读取当前目录下的.config文件,在.config文件里没有找到的选项则提示用户填写,然后备份.config文件为.config.old,并生成新的.config文件

 http://stackoverflow.com/questions/4178526/what-does-make-oldconfig-do-exactly-linux-kernel-makefile

7.编译

sudo make -j16  bzImage    #生成内核文件
sudo make -j16 modules         #编译模块
sudo make -j16 modules_install   #编译安装模块

要严格按照这个顺序进行编译,不能合并成一句,sudo make -j8 bzImage modules modules_install

-j后面的数字是线程数,用于加快编译速度,一般的经验是,有多少G内存,就填写那个数字, free -m查看内存大小,我的设备是16G内存,则为-j16

8.安装后重启

sudomake install     #如果弹出问题1.如下,需重新升级内核,升级成功。

如果出现了 ERROR: modinfo: could not find module xxx,数量少的话,可以忽略。

9.修改Grub引导顺序

安装完成后,需要修改Grub引导顺序,让新安装的内核作为默认内核。

编辑 grub.conf文件:

sudovim /etc/grub.conf    # 数一下刚刚新安装的内核在哪个位置,从0开始,然后设置default为那个数字,一般新安装的内核在第一个位置,所以设置default=0

10.重启

sudoreboot

uname–r     #重启后,看一下当前内核版本号,

3.10.58

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值