linux内核源码编译加制作rpm包

2021/12/3 7:10:24

本文主要是介绍linux内核源码编译加制作rpm包,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

本章主要讲解实际操作步骤,具体理论知识可以自行百度

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 配置脚本 启动脚本

没有处理不了的问题,只有不能处理的人



这篇关于linux内核源码编译加制作rpm包的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程