1:
先找一个合适版本的内核,下载,解压到系统中的任意一个目录
这个内核版本,如果要绝对稳定或者安全,那么最好是和当前系统的内核大、中版本相同,
如,
我的系统版本如果为 5.15.38
那么我最好是换成相近的系列,如 5.15.123
尽量别上 6
否则可能出问题
假设解压到的目录就为 ~/5.15.123/
2:
第一步内核下载完,之后,安装一系列的环境和支持库
具体来说是:
sudo apt-get update
sudo apt-get install make
sudo apt-get install gcc g++ libncurses5-dev build-essential kernel-package libssl-dev libc6-dev bin86 flex bison qttools5-dev libelf-dev
对,这就差不多了。
安装这些,可能要点时间,因为包太多,也很大,但是不怕,应该不会有错误。
3:
安装完环境和支持库
开始处理配置文件,
先进入内核代码目录,然后从当前系统拷贝一个配置文件到当前目录,目的是为了给编译过程一个和当前系统相近的配置
命令
cp -v /boot/config-$(uname -r) .config
拷贝过来之后,当前目录下就有了个配置文件,叫做 .config 是隐藏的。
确认方式 1 显示隐藏文件,2 用命令 ls -a .config 可以看到文件存在
之后输入
make menuconfig
用途是配置加载生成配置文件。
界面挺好看的,但是其实我们都不用管,直接 exit 就行了
然后用 gedit 打开 .config 文件,手动修改配置,先修改如下
CONFIG_SYSTEM_TRUSTED_KEYS='' CONFIG_SYSTEM_EXTRA_CERTIFICATE_SIZE=2048 CONFIG_SYSTEM_REVOCATION_KEYS=""
这三条配置是系统证书相关的配置,其实我们用不着
然后关闭一条配置如下
CONFIG_DEBUG_INFO_BTF=n
如有则关,没有不加
最后注释调一条配置
#CONFIG_X86_X32=y
这里不用担心 x86 的注释了,是不是就只生成arm 了,其实 上面 x64 部分还开着呢
4:
配置文件生成了之后,这里剩下的就是开始编译了
命令如下
make -j$(nproc)
这是一条统一编译命令,编译所有内容,双核情况下,预计需要编译2小时,四核时间砍半,单核时间翻倍
如果不想一步到位,那么可以选择单独编译
make -j$(nproc) bzImage make -j$(nproc) modules
我没单独编译过,所以,不知道效果
编译完成之后,能看到编译命令正确结束,我这编完了,看不到了
5:
最后,就是替换系统模块,
方法就两条命令
make modules_install make install
两条命令都不能少,并且都需要 sudu 权限,就是 root 权限,否则行为未授权。
第一条安装驱动,第二条安装内核,
很多教程里面我看就只让执行第二条命令,结果引导时系统起不来,原因就是和内核匹配的驱动不在,
所以,先安装驱动,后安装内核
6:
前面五步都处理完,
直接 reboot 就好了,不会有问题,内核重编完成。
后续文件不要清理,自己改内核的时候直接改,然后直接重编,重装,没有问题。
中间文件太多,也没办法,
如果清理了的话,下次重编还要2 小时。
标签:配置文件,make,dev,编译,内核,linux,CONFIG From: https://www.cnblogs.com/suanguade/p/17591320.html