本章主要讲解实际操作步骤,具体理论知识可以自行百度
linux内核官网下载:
https://cdn.kernel.org/pub/linux/kernel/ (如图)
本人插一段:网站的内核都真最新的,你要就内核,只能用链接的形式:
https://cdn.kernel.org/pub/linux/kernel/v【x.x】/linux-【x.x.x】.tar.xz
自行修改方括号里的内核版本号,改后去掉方括号,只要有就可以直接下载。
根据官网发布的信息分析,目前最新的是2020-12-27出的5.11版本,但不是稳定版本,稳点版本是5.10.3和5.9.16;根据图上可以看出,5.9.16已经不支持了(停止更新了),目前最新并且稳定的只有5.10.3。
本章-博主将下载linux-4.19.163进行操作编译(不建议直接使用最新的,稳定且应用广泛的应该是最适合的)
这里我使用的是腾讯云服务器:Centos7.6(也可以使用VM开一台虚拟机,磁盘最好是40G以上空间 [ 0.0内核越来越高,空间占比也越来越重 ! ] )
进入系统后,先下载4.19.163的源码包
#wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.19.163.tar.xz
下载完毕后,将包解压到/usr/src/下(这里解压到哪里都行,个人习惯解压到此位置)
#tar xvf linux-4.19.163.tar.xz -C /usr/src/
cd到解压目录下,进入解压出的目录里
#cd /usr/src/linux-4.19.163
图形化界面查看编译内容,可调试
# make menuconfig
这些都是内核中的模块,我们随便选一项进行解析:选Device Drivers(设备驱动)
会看到图上
1.带*号的行,是选中的意思,也就是,我们将把这个驱动模块编译到内核中去。
2.带M号的意识是,它将以一个模块方式存在。
3.为空[ ]的,意思是没有使用此功能。
(实际在一些做嵌入式系统工作中,会根据需要,选择很少的功能,选的越少,启动越快,也会相对稳定)
这里我们不做改动,默认即可,退出后,在当前目录下,开始编译
#make && make bzImage (时间较长可以,根据自己系统配置情况可以选用 # make -j4) #编译安装
#make modules_install #加载模块
#make install #最后一步安装kernel
这里完成后,会自动帮我们修改好grub文件信息,不用自己再做修改了
#reboot
重启机器即可
===============================================
如需制作RPM内核安装包,就不需要运行以上Make步骤,解压后进入目录
# make rpm (时间较长)
完成后,rpm包生成位置(一般会在/root/下):
# cd /root/rpmbuild/
不是本章内容,回忆补充:工作中需要快速部署,并且做成rpm包,使用fpm 来做成rpm 包
##fpm -s dir -t rpm -n 包名 -v 1.16.1 -d ‘部署需要的依赖包,以“,”号隔开添入’ -f --post-install 配置脚本 启动脚本
没有处理不了的问题,只有不能处理的人