Linux 编译内核
1. 下载新内核
Linux内核发布页:www.kernel.org
你当前系统的内核版本可以这样查看:
$ uname -a
2. 解压出内核目录 linux-X.X.X(X.X.X为版本号)
3. 建议将内核目录移动至 /usr/src/ 下
先切换到下载到的位置,然后执行:
$ sudo mv linux-X.X.X /usr/src
4. 配置内核,建议使用图形化的配置程 menuconfig
先安装依赖库 ncurses-devel,其实只需安装 libncurses5-dev 就够了:
$ sudo apt-get update
$ sudo apt-get install libncurses5-dev
然后配置内核,建议在原来配置文件 .config 的基础上修改,所以先切换到下载下来的内核目录 linux-X.X.X 下,然后复制当前内核的配置文件。
$ sudo cp /boot/config-$(uname -r) .config
保持在目录 linux-X.X.X 下,使用 menuconfig 配置内核:
$ sudo make menuconfig
到图形化界面时,选择 <Load>
载入 .config(默认会自动载入,不行就打一下),然后如果你比较专业的话可以修改其中的各项配置。我也是小白,所以就都保持原样了。
如果你想修改一下编译好的本地版本号(用
uname -a
查看的版本号),可以选择“General setup —>”,“Local version - append to kernel release”,输入自定义的字符,比如 MyTestKernel
最后<Save>
保存修改到 .config,再<Exit>
退出。
5. 编译内核
$ sudo make all -j4
-j4
表示开启 4 线程编译,如果省略则按单线程编译,这里比较慢,可以去喝杯咖啡了。
一般一个 CPU 可以开启 2 个线程,我的是双核的,所以开 4 个线程。
6. 安装内核模块
保持在目录 linux-X.X.X 下
$ sudo make modules_install
这里也要等一会,要耐心哦 ^-^。
7. 安装内核
保持在目录 linux-X.X.X 下
$ sudo make install
这里是安装的最后一步了,如果到这里顺利的话,基本没有问题了。
8. 更新启动引导文件
切换到 /boot/grub/ 目录下,更新 grub.cfg 文件:
$ cd /boot/grub
$ sudo update-grub2
之后重启电脑,一般默认以新内核启动,不行的话也可以手动选择内核。所以万一失败了,也还是可以用原来的内核进入系统的。