1、kernel配置
先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 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启动项
调用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