linux内核源码编译加制作rpm包
本章主要讲解实际操作步骤,具体理论知识可以自行百度
linux内核官网下载:
https://cdn.kernel.org/pub/linux/kernel/ (如图)
根据官网发布的信息分析,目前最新的是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(设备驱动)
会看到图上
- 带*号的行,是选中的意识,也就是,我们将把这个驱动模块编译到内核中去
- 带M号的意识是,它将以一个模块方式存在
- 为空[ ]的,意识是没有使用此功能
(实际在一些做嵌入式系统工作中,会根据需要,选择很少的功能,选的越少,启动越快,也会相对稳定)
这里我们不做改动,默认即可,退出后,在当前目录下,开始编译
#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 配置脚本 启动脚本