默认的 Ubuntu 的 kernel 附带和非常多的本机并没有的驱动,而且,尤其恶劣的是其内核中的 processor family 编译的是 genetic x86_64, 所以,对于 i5/i7 系列的 CPU 中比较新的特定支不是很好,所以,这就使得我有了自己编译 Ubuntu 内核的冲动。实时也证明,编译内核对于压榨机器性能还是蛮有效果的。由于之前用 Gentoo 的时候已经有了编译内核的经验,所以,编译 Ubuntu 内核并没有遇到很大的困难。
准备工作
1 2 3 4
| sudo apt-get update sudo apt-get install build-essential sudo apt-get install libncurses5-dev sudo apt-get build-dep linux-image-$(uname -r)
|
下载 kernel 源码
由于下载源码以及解压操作会带来很多附加文件,所以,最好创建一个单独的工作目录
1 2
| mkdir kernel && cd kernel apt-get source linux-image-4.4.0-47-generic
|
配置内核选项
其实,这一步是最难的,如果想编译出一个和自己机器完全 match 的内核非常难,以方面要完全了解自己机器的硬件信息以及在 kernel 中的对应选项,另一方面,还要明白 kernel 中每个配置选项的修改会带来什么后果。只有对软件和硬件都非常熟悉的人才能配置出一个好的私人订制的内核。我这里由于是第一次编译 Ubuntu 内核,我选择了比较保守的配置选项,只更改了 Processor Family
1 2 3 4
| make oldconfig
make menuconfig
|
编译内核
编译 modules
安装 modules
1
| sudo make modules_install
|
安装 kernel
更新 bootloader
重新把 nvidia 显卡驱动编译到内核中
参考之前的一篇文章