1、kernel配置
这里就不想自己一个一个地配了,故直接将当前Ubuntu 14.04.1 LTS的kernel配置copy过来用。先cd到欲编译的kernel source code的根目录linux-3.15.8,然后copy当前ubuntu系统中的内核配置为新的kernel的内核配置
cp /boot/config-3.13.0-32-generic ./.config
sudo make oldconfig
呵呵,结果发现没有偷太多的懒,还是蹦出来一大堆新的配置选项出来让我选了,估计是新的kernel版本确实是高了不少的原因。不过基本都选n就完了,因为老的kernel配置项已经够让我的机器工作了。
2、编译和安装
sudo make -----不加任何参数直接make,就是make all,它包含make modules了。sudo make modules_install -----安装modules到/lib/modules下
sudo make install -----安装bzimage到/boot下,并且会它会根据/boot下的kernel版本信息自动将新安装的kernel的启动项加到/boot/grub/grub.cfg中。
至此,编译安装就完成了,你只需要restart下你的电脑 就会发现启动时Ubuntu有两个版本的kernel可选了。尽情享受吧!
重启后,选择新版本的kernel,然后查看kernel版本信息,cat /proc/version
Linux version 3.15.8 (root@jack) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #1 SMP Mon Aug 4 01:51:38 CST 2014
瞧,当前kernel是新编译安装的了吧。
3、删除kernel启动项
如果要在GRUB启动项中删除之前自己编译安装的kernel版本,则只需要将/lib/modules和/boot目录下的安装时copy过来的相关东西删除。然后再调用sudo update-grub,它会自动删除/boot/grub/grub.cfg中对应的kernel版本的启动项。
最后一点小注:
sudo make install
此命令会把编译文件夹里面的“arch/x86/boot/bzImage”文件复制到“/boot”,同时还会复制 config 和 System.map 文件,最终在“/boot”会多出如文件:
System.map-3.15.8vmlinuz-3.15.8
initrd.img-3.15.8
config-3.15.8
Ubuntu 14.04 LTS 如何升级到 Ubuntu 14.10
Ubuntu 13.10 (Saucy Salamander) 内核已升级至 Linux Kernel 3.10 RC5
Linux Kernel 3.4.62 LTS 现已经提供下载
如何在Ubuntu 13.10上安装Linux内核 3.12