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 配置脚本 启动脚本
linux内核源码编译加制作rpm包的更多相关文章
- Xilinx-Zynq Linux内核源码编译过程
本文内容依据http://www.wiki.xilinx.com网址编写,编译所用操作系统为ubuntu 14 1.交叉编译环境的安装配置 1)http://www.wiki.xilinx.com/I ...
- 利用src.rpm包修改源码后重新制作rpm包
1. 下载 .src.rpm包.例:https://repos.fedorapeople.org/repos/openstack/EOL/openstack-grizzly/epel-6/openst ...
- linux内核源码注解
轻松学习Linux操作系统内核源码的方法 针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制:一.核心源程序的文件 ...
- 和菜鸟一起学linux内核源码之基础准备篇
来源:http://blog.csdn.net/eastmoon502136/article/details/8711104 推荐阅读:linux内核源码最初版linux内核源代码,简单易懂,适合初学 ...
- Linux内核源码特殊用法
崇拜并且转载的: http://ilinuxkernel.com/files/5/Linux_Kernel_Source_Code.htm Linux内核源码特殊用法 1 前言 Linux内核源码主要 ...
- ubuntu下linux内核源码阅读工具和调试方法总结
http://blog.chinaunix.net/uid-20940095-id-66148.html 一 linux内核源码阅读工具 windows下当然首选source insight, 但是l ...
- Linux基础系列—Linux内核源码目录结构
/** ****************************************************************************** * @author 暴走的小 ...
- Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7)【转】
原文地址:Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://bl ...
- Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7)【转】
原文地址:Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.c ...
- Linux内核源码分析方法
一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都 ...
随机推荐
- java8 Stream API之reduce
通过前面那篇文章,我们已经对Stream API有了初步的认识,并对它在集合处理中的增强作用表示了肯定.同时我们上篇中示例了forEach.fiter.sum这些常用的功能,本篇我们只讲reduce. ...
- vue3中reactive数据被重新赋值后无法双向绑定,使用reactive包裹数组如何正确赋值?
需求:将接口请求到的列表数据赋值给响应数据arr const arr = reactive([]); const load = () => { const res = [2, 3, 4, 5]; ...
- Bugku-ez_misc[wp]
题目描述 1.拿到一份abc.rar文件,里面有一个加密call.png (1)通过file . binwalk . 伪加密一顿小输出都不行,于是放进16进制编辑器查看: 文件头不对! (2)修改为 ...
- <input>输入框,限制输入的为正整数
<input id="eventId" col="EventId" type="text" class="form-cont ...
- GPS网络授时仪(网络授时服务器)成功投运攀枝花市中西医结合医院
GPS网络授时仪(网络授时服务器)成功投运攀枝花市中西医结合医院 GPS网络授时仪(网络授时服务器)成功投运攀枝花市中西医结合医院 北京华人开创科技发展有限公司 技术交流15901092122岳峰 概 ...
- random随机数模块
#wuyanfengimport random'''random.random()#随机数0到1的浮点数模块random.randint(1,7)#随机1到7闭区间的整数random.randrang ...
- pytest(5)-自定义用例顺序(pytest-ordering)-后续学习
前言 测试用例在设计的时候,我们一般要求不要有先后顺序,用例是可以打乱了执行的,这样才能达到测试的效果. 有些同学在写用例的时候,用例写了先后顺序, 有先后顺序后,后面还会有新的问题(如:上个用例返回 ...
- robots.txt 文件说明
robots其实就是指Robots协议,Robots协议(也称为爬虫协议.机器人协议等)的全称是"网络爬虫排除标准"(Robots Exclusion Protocol),网站通过 ...
- Kubernetes-Pod进阶
目录: 资源限制 CPU资源单位 内存资源单位 重启策略 健康检查/探针 探针的三种规则 Probe支持三种检查方法 总结 Pod 进阶 资源限制 当定义 Pod 时可以选择性地为每个容器设定所需要的 ...
- Spring不同版本的AOP
1.Spring4.SpringBoot1 1.1 代码实现 public interface Calculator { int div(int a,int b); } @Component publ ...