首页 > 系统相关 >如何根据Linux Kernel Mailing List打patch

如何根据Linux Kernel Mailing List打patch

时间:2024-07-29 11:50:41浏览次数:15  
标签:Kernel git kernel LKML 补丁 List patch 内核 Linux

Linux内核正在不断开发和改进。每天的补丁都会提交到Linux内核邮件列表(LKML)。其中一些补丁被接受并合并到主流Linux内核中,供用户使用,而其他补丁则永远无法使用。

有时从LKML获取补丁是有用的,例如,如果你在内核中开发,或者只是因为你想保持在前沿。另一个原因可能是,您需要向LKML提出但从未合并的补丁。当使用某些硬件进行开发时,可能会出现这种情况,例如,驱动程序可能已经提交,但由于某种原因(例如,代码不符合内核指南等)从未合并,但您可能仍然对这段代码感兴趣。

在这篇文章中,我们将探索如何将LKML中的代码合并到我们的内核中。

1 获取Linux内核源代码

Linux内核的源代码可从https://www.kernel.org它可以用git下载或克隆。可以转到git仓库页面时https://git.kernel.org。
可以使用这个repo的连接进行git clone . 这里我使用 “https” link:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git

2 将LKML中的补丁或补丁系列应用于内核

在大多数情况下,我们不会直接收到带有补丁的电子邮件,要么是因为我们没有订阅邮件列表,要么只是因为我们的开发机器上没有安装电子邮件客户端。因此,我们将直接从LKML档案中检索补丁或系列https://lore.kernel.org.

当我们识别出我们感兴趣的补丁或补丁系列时,有几种方法可以在本地应用它们。例如,下面的内核补丁是为了支持可见的用户态PASID和设备绑定而编写的,如下所示

点击mbox.gz,下载到本地

3 打patch
在Linux内核代码的根目录,创建patches文件夹 mkdir patches
进入文件夹,把mbox.gz 解压 gunzip mbox.zip
回到根目录 执行git am -i patches/mbox
可能会提示为空,执行 git am -i --skip
后续会让输入是否全部apply 选择是

标签:Kernel,git,kernel,LKML,补丁,List,patch,内核,Linux
From: https://www.cnblogs.com/happy2024/p/18329792

相关文章

  • CopyOnWriteArrayList
    ArrayList是一个线程不安全的容器,如果在多线程环境下使用,需要手动加锁,或者使用Collections.synchronizedList()方法将其转换为线程安全的容器。否则,将会出现ConcurrentModificationException异常。CopyOnWriteArrayList是线程安全的,可以在多线程环境下使用。CopyOnWriteArr......
  • 瑞斯康达-多业务智能网关 list_base_config.php 远程命令执行漏洞
    0x01阅读须知        技术文章仅供参考,此文所提供的信息只为网络安全人员对自己所负责的网站、服务器等(包括但不限于)进行检测或维护参考,未经授权请勿利用文章中的技术资料对任何计算机系统进行入侵操作。利用此文所提供的信息而造成的直接或间接后果和损失,均由使用者......
  • to do list
    数学图论数据结构李超线段树dp动态dp字符串manacher语法科技(永远不嫌多)应该没人看吧,那我挂张奇怪的图......
  • WPF ZoomIn ZoomOut Pan ListBox Image
    <ListBoxx:Name="lbx"Grid.Row="1"Grid.Column="0"ItemsSource="{BindingImgsList,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"SelectionChanged="lbx_SelectionChanged&quo......
  • Linux Kernel CFI机制简介及测试禁用
    PS:要转载请注明出处,本人版权所有。PS:这个只是基于《我自己》的理解,如果和你的原则及想法相冲突,请谅解,勿喷。环境说明  无前言  当我们为android移植linux的驱动程序的时候,总会遇到一些错误,这些错误有一部分就是android内核开启的安全的机制导致的。本文就会介绍一种......
  • 更新flet中SearchBar的ListTile
    我有一个列表,我想根据用户在搜索栏中输入的内容来过滤其项目。假设用户在搜索栏中输入“o”。在这种情况下,我想更新ListTile以仅显示名称中包含子字符串“o”的水果。我的代码是:importfletasftfruits_list=["apple","banana","orange","grape","strawberry","wat......
  • list[str] 是可迭代的吗?
    Python3.10不这么认为:Python3.10.6|packagedbyconda-forge|(main,Aug222022,20:38:29)[Clang13.0.1]\ondarwinType"help","copyright","credits"or"license"formoreinformation.>>>from......
  • Singledispatch 并将类型作为输入参数
    我希望能够做到这一点:fromtypingimportTypefromfunctoolsimportsingledispatchclassA:passclassB(A):pass@singledispatchdeffoo(arg):print('default')@foo.registerdef_(arg:Type[A]):print(arg)foo(A)foo(B)但是,我得到......
  • ArrayList底层原理
    1.ArrayList的基本结构  ArrayList内部使用一个Object类型的数组elementData来存储所有的元素。数组的长度可以动态调整。2.初始容量和扩容机制初始容量:当使用无参构造创建一个 ArrayList 实例时会在底层创建一个默认长度为0的数组,可以通过添加参数指定一个初始......
  • Listen(sockfd,backlog)监听函数的第二个参数到底是什么?深度解释
    listen队列剖析intlisten(intsockfd,intbacklog)   backlog: 监听套接字队列对于一个调用监听的套接字,系统会维护给这个套接字两个队列1.未完成连接队列 //当客户端发生三次握手的第一次syn包给服务器的时候,服务器就会再未完成队列中创建一个跟这个syn包对......