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

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包的更多相关文章

  1. Xilinx-Zynq Linux内核源码编译过程

    本文内容依据http://www.wiki.xilinx.com网址编写,编译所用操作系统为ubuntu 14 1.交叉编译环境的安装配置 1)http://www.wiki.xilinx.com/I ...

  2. 利用src.rpm包修改源码后重新制作rpm包

    1. 下载 .src.rpm包.例:https://repos.fedorapeople.org/repos/openstack/EOL/openstack-grizzly/epel-6/openst ...

  3. linux内核源码注解

    轻松学习Linux操作系统内核源码的方法 针对好多Linux 爱好者对内核很有兴趣却无从下口,本文旨在介绍一种解读linux内核源码的入门方法,而不是解说linux复杂的内核机制:一.核心源程序的文件 ...

  4. 和菜鸟一起学linux内核源码之基础准备篇

    来源:http://blog.csdn.net/eastmoon502136/article/details/8711104 推荐阅读:linux内核源码最初版linux内核源代码,简单易懂,适合初学 ...

  5. Linux内核源码特殊用法

    崇拜并且转载的: http://ilinuxkernel.com/files/5/Linux_Kernel_Source_Code.htm Linux内核源码特殊用法 1 前言 Linux内核源码主要 ...

  6. ubuntu下linux内核源码阅读工具和调试方法总结

    http://blog.chinaunix.net/uid-20940095-id-66148.html 一 linux内核源码阅读工具 windows下当然首选source insight, 但是l ...

  7. Linux基础系列—Linux内核源码目录结构

    /** ****************************************************************************** * @author    暴走的小 ...

  8. Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7)【转】

    原文地址:Linux内核源码分析--内核启动之(6)Image内核启动(do_basic_setup函数)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://bl ...

  9. Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7)【转】

    原文地址:Linux内核源码分析--内核启动之(4)Image内核启动(setup_arch函数)(Linux-3.0 ARMv7) 作者:tekkamanninja 转自:http://blog.c ...

  10. Linux内核源码分析方法

    一.内核源码之我见 Linux内核代码的庞大令不少人“望而生畏”,也正因为如此,使得人们对Linux的了解仅处于泛泛的层次.如果想透析Linux,深入操作系统的本质,阅读内核源码是最有效的途径.我们都 ...

随机推荐

  1. RIDE,如何指定report,log,output的存放位置

    创建测试用例,执行后,report.html,log.html,output.txt 会默认存放到 C:\Users\你的用户名\AppData\Local\Temp下, 例如我的存放在 如果要指定存 ...

  2. Wordpress指定关键词手动添加链接

    方法:网站后台->外观->编辑->找到functions.php文件 wp-content/themes/当前外观/functions.php 在当前外观的functions.php ...

  3. chrome驱动版本与python不一致时

    图片: 解决办法: 1.先去chrome浏览器找到版本号:在chrome找到帮助-关于Google chrome 2.通过网址:https://npm.taobao.org/mirrors/chrom ...

  4. PyCharm如何实现控制台换行显示

    举个例子 我现在想要看输出结果的所有数据然后再控制台输出的信息如下: 本来输出的内容有很多,但由于只显示了一行,因此想要看全部的内容还需要拖拉滚动条,挺麻烦的,而且看着也不方便,怎么让控制台信息全都直 ...

  5. C# 变量和表达式

    变量的命名: 第一个字符必须是字母.下划线或@: 其后的字符可以是字母.下划线或数字. 注意:区分大小写. 变量的类型: 数值类型 1.整数类型 byte.short.int.long sbyte.u ...

  6. clearfix解决高度塌陷和外边距重合问题

  7. XenForo论坛安装

    1.下载安装程序,程序可以到qq群里面找,或者是联系我 2.域名+/install安装 3.汉化后台,访问https://www.cnxfans.com/resources/xenforo-2-x.1 ...

  8. Java-如何打包下载成.zip文件

    打包下载成.zip文件 项目背景 公司使用vue + SpringBoot实现批量下载功能 今天在调试批量下载这个功能.打包成.zip文件时,在返回给前端浏览器出现报错信息: 后端报错: ERROR ...

  9. 和为K的子数组

    给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的连续子数组的个数 . /** * @param {number[]} nums * @param {number} k ...

  10. 【博客】如何在Github上创建博客

    [博客]如何在Github上创建博客 1. 安装nodejs windows安装npm教程--nodejs 2. 安装hexo npm install -g hexo-cli 3. 搭建博客 $ he ...