当前位置:   article > 正文

更换ubuntu系统内核版本_ubuntu16升级到23

ubuntu16升级到23

本文是将ubuntu12.04版本下低版本内核升级到高版本(3.2.0-23-generic-pae ---> 4.0.4)

一、www.linux.org下载内核版本

下载链接:https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/

下载完成后开始进行解压

sudo tar -zxf linux-4.0.4.tar.gz -C /usr/src

二、安装必要的软件包。在正式替换之前先安装几个必要的软件包

sudo apt-get install build-essential kernel-package libncurses5-dev libqt3-headers

各个包的主要作用如下:

  build-essential: 基本的编程库(gcc, make等)

  kernel-package: Debian 系统里生成 kernel-image 的一些配置文件和工具

  libncurses5-dev: make menuconfig要调用的

  libqt3-headers: make xconfig要调用的

其他的工具在升级过程中可以根据提示安装。

三、编译内核

1、拷贝原有配置文件。把正在使用中的内核配置文件/usr/src/linux-headers-3.2.0-23-generic-pae/.config 拷到/usr/src/linux-4.0.4目录下

sudo cp /usr/src/linux-headers-3.2.0-23-generic-pae/.config /usr/src/linux-4.0.4

2、导入配置文件。运行以下命令

  1. sudo cd /usr/src/linux-4.0.4
  2. sudo make menuconfig

3、编译配置时可能遇到的问题(执行make menuconfig可能出现的问题)

scripts/kconfig/lxdialog/dialog.h:38:20: 致命错误: curses.h:没有那个文件或目录

解决办法:

sudo apt-get install libncurses5-dev

4、编译

  1. sudo make mrproper //清除以前曾经编译过的旧文件,如果你是第一次编译,可不执行。
  2. sudo make //编译,此过程需要较长时间。
  1. sudo make install
  2. sudo make modules //编译模块
sudo make modules_install  //安装模块

四、最后创建initrd文件

mkinitramfs -o /boot/initrd.img-4.0.4

五、更新grub引导列表

  1. sudo update-grub
  2. sudo gedit /boot/grub/grub.cfg

将Code3拷贝至Code1和Code2之间,即将Ubuntu, with Linux4.0.4启动项拷贝至最前面,这样在重启时系统会自动选择第一个作为默认启动,于是就能进入内核为Linux4.0.4的系统。

Code1:

if [ "$linux_gfx_mode" != "text" ]; then load_video; fi

Code2:

  1. menuentry 'Ubuntu,Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
  2. recordfail
  3. gfxmode $linux_gfx_mode
  4. insmod gzio
  5. insmod part_msdos
  6. insmod ext2
  7. set root='(hd0,msdos1)'
  8. search --no-floppy --fs-uuid --set=root 5f8170e2-c901-43b3-ac5c-64602cabdd99
  9. linux /boot/vmlinuz-3.2.0-23-generic-pae root=UUID=5f8170e2-c901-43b3-ac5c-64602cabdd99 ro quiet splash $vt_handoff
  10. initrd /boot/initrd.img-3.2.0-23-generic-pae
  11. }

Code3:

  1. menuentry 'Ubuntu,Linux 4.0.4' --class ubuntu --class gnu-linux --class gnu --class os {
  2. recordfail
  3. gfxmode $linux_gfx_mode
  4. insmod gzio
  5. insmod part_msdos
  6. insmod ext2
  7. set root='(hd0,msdos1)'
  8. search --no-floppy --fs-uuid --set=root 5f8170e2-c901-43b3-ac5c-64602cabdd99
  9. linux /boot/vmlinuz-4.0.4 root=UUID=5f8170e2-c901-43b3-ac5c-64602cabdd99 ro quiet splash $vt_handoff
  10. initrd /boot/initrd.img-4.0.4
  11. }

六、重启系统

七、可能出现的问题

在重启后可能会出现如下问题:

warning: can't open directory /lib/modules/4.04/modules.dep, no such files or directory

解决方案:

这时,可以先从旧内核中进入系统,然后执行以下命令:

  1. $ su root //获得root权限
  2. # cd /boot
  3. # cp initrd.img-4.0.4 initrd-4.0.4.old //备份原有文件
  4. # depmod –a //检查所有模块
  5. # update-initramfs –k 4.0.4 –c
  6. # cd /tmp
  7. # gzip –dc /boot/initrd.img-4.0.4| cpio –id
  8. # touch lib/modules/4.0.4/modules.dep
  9. # find ./ | cpio –H newc –o > /boot/initrd.img-4.0.4.new
  10. # gzip /boot/initrd.img-4.0.4.new
  11. # cd /boot
  12. # mv initrd.img-4.0.4.new.gz initrd.img-4.0.4

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/129424?site
推荐阅读
相关标签
  

闽ICP备14008679号