一 配置的目的及作用
决定将内核的各个功能系统编译进内核还是编译为模块还是不编译。
- 自己定制编译的内核运行更快(具有更少的代码)
- 系统将拥有更多的内存(内核部分将不会被交换到虚拟内存中)
- 不需要的功能编译进入内核可能会增加被系统攻击者利用的漏洞
- 将某种功能编译为模块方式会比编译到内核内的方式速度要慢一些
二 内核的编译与安装
1 环境准备
ubuntu版本:2004
原来的内核版本:5.8.0
待编译的内核版本:4.4.259
正式编译前先安装一些软件:
sudo apt update && sudo apt upgrade
sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
2 配置内核
进入下载的内核源码根目录,将自身虚拟机的配置文件拷贝到当前目录下并重命名为.config
cp config-5.8.0-43-generic .config
如果没有配置文件,内核编译会不成功。
可以使用 make menuconfig
来对内核编译进行其他的配置,但我是直接就用的虚拟机自身的配置文件
3 编译和安装
3.1 编译内核
make -j4
-j4
意思是并发执行,可以提高速度,一般情况 下不要多于CPU核数。这个命令的执行会耗费很长时间。