1、准备好内核源码
在linux内核官网https://www.kernel.org上下载最新的版本比如LInux4.16.3第一个数字表示主版本号,第二个数字表示次版本号,第三个数字表示修正版本号
2、准备好编译组件:
build-essential为了编译linux内核提供的软件包包含gcc、g++
libssl-dev、openssl安装openssl的依赖包
libncurses5-dev
或者安装build-dep、linux-image-genric依赖包进行安装编译内核
sudo apt install build-essential libncurses5-dev -y
sudo apt build-dep linux
3、解压内核源码并编译
tar xzvf linux-5.3.5.tar.gz
cd linux-5.3.5
make menuconfig #配置内核
make #开始 编译大约1~2小时
编译安装内核模块部分
make modules_install #编译内核模块
make install #安装编译好的模块
make menuconfig命令则会默认使用x86目录默认的config文件,linux-4.16.3/arch/x86/config/x86_64_config;内核的配置选项通常芯片厂商会给一个默认的配置文件,依照厂商配置进行增减。
make -jn编译内核,n表示使用多少个CPU核心来并行编译内核
cat /proc/cpuinfo查看系统中有多少个CPU核心,计数从0开始
4、linux内核编译菜单
select表示选择光标高亮显示的子菜单
exit退出当前的子菜单
help进入帮助模式
save保存当前设置到linux内核源码目录下得.config文件中
load表示加载一个配置文件。
linux内核模块有两种编译方法,一个静态编译,另外一个是动态编译模块
菜单前面的【】里面有个“*”表示该模块会静态编译进vmlinux中,【】里面是空的表示该模块不会编译进vmlinux,【】中显示“M”表示该模块编译成模块。