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

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. js通过hook拿fetch返回数据

    前言 很多情况下咱们在做浏览器插件的时候需要拿fetch的返回数据而不影响功能正常操作. 原理 hook原理咱就不讲了,跟其他hook差不多.具体来看看如何实现返回的. 用过fetch的朋友应该都知道 ...

  2. 不用VS,使用NET 7.0 SDK (v7.0.101)编程c#控制台应用程序方法

    摘要:如果没有vs环境,也可以编程c#控制台应用程序学习c#,方法步骤有下面几个步骤. 1.下载NET 7.0 SDK (v7.0.101)安装 网址https://dotnet.microsoft. ...

  3. Nacos配置管理

    一.在Nacos添加公共配置 二.项目中读取方式 1. 引入nacos-config依赖 首先,在要使用 nacos 来管理配置的服务中,引入nacos-config 依赖: <!--nacos ...

  4. python读取图片相关属性

    背景:工作中用到一些基础的图片处理的任务,比如获取图片宽高.获取图片的旋转角度等等图片属性,都是比较零散的,这里简单做个记录备忘 这里用到的库exifread,安装 pip isntall exifr ...

  5. 解决使用mapstruct过程中的一次编译报错问题_Internal error in the mapping processor

    说明 mapstruct版本:1.2.0.Final 开发工具:IntelliJ IDEA 2021.3.1 (Ultimate Edition) 报错现象 java: Internal error ...

  6. Jest - Using test function to test the function

    Note: Please check the prev blog to see the jest configuration. calculator.js const plus = (a, b) =& ...

  7. web基础(3):CSS样式

    chapter4 CSS样式 html是网页的内容和结构:CSS是网页的样式.内容和样式相分离,便于修改样式. CSS cascading style sheets 层叠样式表.一个内容上面可以添加多 ...

  8. 自定义Lock实现

    1 package com.wyt.lock.test; 2 3 import java.util.concurrent.LinkedBlockingQueue; 4 import java.util ...

  9. keepalived+nginx+应用

    达到的效果就是,每个keepalived中都有一个weight,这个数最大的作为主节点.意外挂掉就另一个升为leader,比如开始一个6,一个5,挂一次这个数减2.6挂一次再启动就是5,4了,两台机器 ...

  10. 2023-03-01 react-native 实现 复制功能 @react-native-community/clipboard 报错:TypeError: null is not an object (evaluating 'NativeClipboard_1.default.setString')。

    我的react-native(下称rn)版本为0.68,要实现这个功能主要用到rn的clipboard,在21年的时候他就已经提示clipboard会在未来的版本中上去掉,官方的建议是不要再从reac ...