首页 > 技术文章 > ubuntu 升级内核

wanthune 2019-05-07 21:03 原文

hjj@ubuntu:/usr/src$ uname -r
2.6.32-38-generic
下载一个2.6.33 的内核

一: 编译
make mrproper ---->

make menuconfig --->
'make menuconfig' requires the ncurses libraries.
Ncurses是一个能提供功能键定义(快捷键),屏幕绘制以及基于文本终端的图形互动功能的动态库。
sudo apt-get install libncurses5-dev
注:

可以直接 save , exit 直接生成 .config 文件,(当然也可以裁剪)
也可以使用当前系统配置文件,使用当前系 统配置文件方法:
/linux-2.6.32#cp /boot/config-XX ./.config
,然后进入 menuconfig 选择 load 选项

make ---> 是一个漫长的等待过程, 一般几个小时 编译那些module 花了大量时间 ,kernel, modules 都生成了。
如果你一定要知道编译进展到何种程度。 可以打开.config, 对照一下正在编译的模块.
2千多个模块,我的天。 直接编译进内核的特性也有1千多种, 小型系统,急需删减。

make modules_install // 时间也比较长, 有很多模块需要安装。才能支持你的显卡,声卡。。。。等设备
make install // 升级内核...

要保证正确性, 出现问题要解决。

例如,出现错误

ERROR: modinfo: could not find moduleautofs4 ....

是因为没有运行 make modules_install 而直接运行make install.

结果导致内核不能正常启动。

二. 生成启动

手工生成 ram disk (高版本好像自动生成了, 所以视情况可能不需要)
hjj@ubuntu:/boot$ sudo mkinitramfs -o /boot/initrd.img-2.6.33.2 2.6.33.2
2.6.33.2是在/lib/modules中的目录名,对应内核的版本, ramfs 会加进一些模块代码

sudo update-grub2 // 自动修改系统引导配置,产生 grub.cfg 启动文件。

三. 运行
启动完成后
使用uname -a 命令查看,可以看到当前内核已经被更新了。

四. 查看grub 启动菜单

  1. 需要修改/etc/default/grub其中的第5行:
    GRUB_HIDDEN_TIMEOUT=0(默认是0,修要修改成大于0的值,比如10)
    保存后退出!
    2、再执行:
    sudo update-grub

重启系统,等到系统提示按 shift 键进入

centos 已经进化到不再使用update-grub 来更新内核, 放到boot 目录,修改/etc/grub.conf 就可以了

作者:hejinjing_tom_com
来源:CSDN
原文:https://blog.csdn.net/hejinjing_tom_com/article/details/9618557
版权声明:本文为博主原创文章,转载请附上博文链接!

推荐阅读