精华内容
下载资源
问答
  • 内核打patch的利器 quilt

    千次阅读 2015-05-29 17:17:59
    内核打patch 毕竟没有svn, 所以打起来麻烦点儿。用quilt 。 1 安装 sudo apt-get install quilt 2 使用 (1) 配置文件.quiltrc保存到当前用户的home目录 cat > ~/.quiltrc QUILT_DIFF_ARGS="--no-...

    给内核打patch 毕竟没有svn, 所以打起来麻烦点儿。用quilt 。

    1 安装

    sudo apt-get install quilt

    2 使用

    (1) 配置文件.quiltrc保存到当前用户的home目录

    cat > ~/.quiltrc<<EOF
    QUILT_DIFF_ARGS="--no-timestamps --no-index -p ab --color=auto"
    QUILT_REFRESH_ARGS="--no-timestamps --no-index -p ab"
    QUILT_PATCH_OPTS="--unified"
    QUILT_DIFF_OPTS="-p"
    EDITOR="vi" 
    

    (2) quilt series 查看已有的patch

    (3) quilt new ......patch 新建一个patch

    (4) quilt edit  xxx.c   修改的文件与 patch 关联,实际是用修订的内容存到 ...patch 中去,但是!!! 此时没有真正的写到该patch文件中

    (5) quilt diff 可以看到修改的内容

    (6)quilt refresh 这下才写到 patch 文件中

    (7)quilt add ....  这个暂时没用过,先不管了, 以上的命令也够花的了。


    展开全文
  • 给Linux内核打patch

    千次阅读 2017-08-12 15:09:50
    Linux下patch打补丁命令 语 法:[options] [originalfile] options:  -b或--backup 备份每一个原始文件。   -B或--prefix= 设置文件备份时,附加在文件名称前面的字首字符串,该字符串可以是路径名称。   -...

    Linux下patch打补丁命令

    patch [  -b [ -B Prefix ] ] [  -f ] [ -l ] [ -N ] [ -R ] [  -s ] [  -v ] [  -c | -e | -n ] [  -d Directory ] [  -D Define ] [  -F Number ] [  -i PatchFile ] [  -o OutFile ] [  -p Number ] [  -r RejectFile ] [  -x Number ] originalfile < patchfile

    常使用的 patch 参数:

    -pnum指定目录级别(从路径全称中除去几层目录)比如patchfile路径为 /u/howard/src/blurfl/blurfl.c,setting -p0 gives the entire file name unmodified,  -p1 gives u/howard/src/blurfl/blurfl.c without the leading slash, -p4 gives blurfl/blurfl.c and  not  specifying  -p  at all just gives you blurfl.c。

    -d Directory 打补丁前,更改当前目录到指定目录。

    -i PatchFile 从指定文件,而不是从标准输入中读取补丁信息。

    -R 逆向补丁,这个选项在防止打错补丁很有用处。

    Linux内核官方下载中的patch文件patch-x.y.z是通过使用diff命令与源文件linux-x.0.0比较生成的patch,在某些场合下我们可能需要主版本号和次版本号相同但修补版本号不同的内核,我们没有必要都下载下来,可以通过打补丁的方式获取。
    比如我们常用的内核版本有3.2.4, 3.2.6,3.6.12。
    1.首先我们从linux内核官网下载l文件inux-3.2.tar.gz。,patch-3.2.4.gz, patch-3.2.6.gz, patch-3.2.12.gz
    2.解压文件linux-3.2.tar.gz
    tar -xzf linux-3.2.tar.gz
    3.将文件linux-3.2更改为需要的内核版本号,如linux-3.2.4,
    mv linux-3.2 linux-3.2.4
    4.解压patch-3.2.4.gz
    gunzip -d patch-3.2.4.gz
    5.给内核打补丁
    patch -d linux-3.2.4 -p1 < patch-3.2.4
    使用zcat命令可以在不解压的情况下给内核打补丁
    zcat patch-3.2.4 | patch -d linux-3.2.4 -p1
    查看linux-3.2.4目录下的Makefile文件,如果VERSION = 3,PATCHLEVEL = 2,SUBLEVEL = 4则表明打补丁成功。
    内核版本回退到3.2.0
    patch -R -d linux-3.2.4 -p1 < patch-3.2.4
    或者
    zcat patch-3.2.4.gz | patch -R -d linux-3.2.4 -p1
    注意打补丁前最好不要修改内核文件,否则可能会导致打补丁失败

    展开全文
  • [root@localhost linux-kernel]# [root@localhost linux-kernel]# xz -d patch-3.16.68-69.xz [root@localhost linux-kernel]# [root@localhost linux-kernel]# lskernel_4.4.182 kernel_5.0.7 linux-3.16.68...

    442166

    [root@localhost linux-kernel]# [root@localhost linux-kernel]# xz -d patch-3.16.68-69.xz [root@localhost linux-kernel]# [root@localhost linux-kernel]# lskernel_4.4.182  kernel_5.0.7  linux-3.16.68         linux-4.14.126         linux-4.19.34.tar.xz  linux-4.4.182.tar.xz  linux-5.0.7.tar.xz  patch-3.18.91-92.xz  patch-4.19.54-55.xzkernel_4.9.182  kernel_92     linux-3.16.68.tar.xz  linux-4.14.126.tar.xz  linux-4.19.47.tar.xz  linux-4.9.182.tar.xz  patch-3.16.68-69    patch-3.18.92-93.xz[root@localhost linux-kernel]# [root@localhost linux-kernel]# [root@localhost linux-kernel]# [root@localhost linux-kernel]# cd linux-3.16.68/[root@localhost linux-3.16.68]# [root@localhost linux-3.16.68]# [root@localhost linux-3.16.68]# head -5 Makefile VERSION = 3PATCHLEVEL = 16SUBLEVEL = 68EXTRAVERSION =NAME = Museum of Fishiegoodies[root@localhost linux-3.16.68]# [root@localhost linux-3.16.68]# [root@localhost linux-3.16.68]# patchpatch      patchwork  [root@localhost linux-3.16.68]# patch -p1 patching file Documentation/networking/ip-sysctl.txtpatching file Makefilepatching file drivers/scsi/megaraid/megaraid_sas_base.cpatching file drivers/virt/fsl_hypervisor.cpatching file fs/ext4/extents.cpatching file include/linux/mm.hpatching file include/linux/tcp.hpatching file include/net/tcp.hpatching file include/uapi/linux/snmp.hpatching file mm/memory.cpatching file mm/mincore.cpatching file net/bluetooth/hidp/sock.cpatching file net/ipv4/proc.cpatching file net/ipv4/sysctl_net_ipv4.cpatching file net/ipv4/tcp.cpatching file net/ipv4/tcp_input.cpatching file net/ipv4/tcp_output.cpatching file net/ipv4/tcp_timer.c[root@localhost linux-3.16.68]# [root@localhost linux-3.16.68]# [root@localhost linux-3.16.68]# [root@localhost linux-3.16.68]# [root@localhost linux-3.16.68]# head -5 Makefile VERSION = 3PATCHLEVEL = 16SUBLEVEL = 69EXTRAVERSION =NAME = Museum of Fishiegoodies[root@localhost linux-3.16.68]# [root@localhost linux-3.16.68]# [root@localhost linux-3.16.68]# [root@localhost linux-3.16.68]#

    10-01 13:10

    展开全文
  • linux 内核源码 patch

    千次阅读 2018-12-14 14:32:07
    最新的版本是4.9.145,中间有10个增量版本,需要全部下载,增量包不支持跨版本,只能从相邻的版本打patch 增量包下载地址示例:   二、对增量包进行重命名 我使用 好压 的批量改名工具 三、对内核打上全部...

    一、下载当前Linux内核对应的增量包

    https://www.kernel.org/

     

    我的内核当前版本是 4.9.135

    最新的版本是4.9.145,中间有10个增量版本,需要全部下载,增量包不支持跨版本,只能从相邻的版本打patch

    增量包下载地址示例:

     

    二、对增量包进行重命名

    我使用 好压 的批量改名工具

    三、对内核打上全部补丁

    工具使用方法:

    第一个参数:内核源码目录

    第二个参数:patch 目录

    第三个参数:停止打patch 的版本号

    linux-4.9.135$ ./scripts/patch-kernel
    usage: patch-kernel [-h] [ sourcedir [ patchdir [ stopversion ] [ -acxx ] ] ]
      source directory defaults to /usr/src/linux,
      patch directory defaults to the current directory,
      stopversion defaults to <all in patchdir>.
    

    执行效果:

    sun@machine:~/share/build/linux-4.9.135$ ./scripts/patch-kernel ./ ../ 4.9.145
    Current kernel version is 4.9.135 ( Roaring Lionus)
    Applying patch-4.9.136 (xz)... done.
    Applying patch-4.9.137 (xz)... done.
    Applying patch-4.9.138 (xz)... done.
    Applying patch-4.9.139 (xz)... done.
    Applying patch-4.9.140 (xz)... done.
    Applying patch-4.9.141 (xz)... done.
    Applying patch-4.9.142 (xz)... done.
    Applying patch-4.9.143 (xz)... done.
    Applying patch-4.9.144 (xz)... done.
    Applying patch-4.9.145 (xz)... done.
    Stopping at 4.9.145 base as requested.

    可以看到一次性将10个补丁全部打完。

    最后将源码目录重命名

    mv linux-4.9.135/ linux-4.9.145

     

    展开全文
  • 对某个版本的Linux内核做了修改以后,如果希望发布出去给别人用,那么就需要制作针对此版本的patch文件。比如基于Linux-2.6.25内核 做了修改,修改后的内容放在文件夹Linux-2.6.25-yuanbor下,那么制作patch文件的...
  • tar -xjf u-boot打补丁 patch -p1 tar -cjf 压缩文件 ...内核打补丁 tar -xjf u-boot打补丁 patch -p1 tar -cjf 压缩文件 cp cofing_ok .confing make uImage tar 解压缩命令 tar -c: 建
  • 如何制作LINUX的patch文件及如何打patch 对某个版本的Linux内核做了修改以后,如果希望发布出去给别人用,那么就需要制作针对此版本的patch文件。 patch文件也叫补丁,就是一个文本文档,这个文档包含了在两个...
  • LINUX的patch文件打patch

    2013-11-10 21:18:00
    如何制作LINUX的patch文件及如何打patch 对某个版本的Linux内核做了修改以后,如果希望发布出去给别人用,那么就需要制作针对此版本的patch文件。 patch文件也叫补丁,就是一个文本文档,这个文档包含了在两个不同...
  • 针对100ask imx6ull Kernel linux 添加的patch,内容包括dts、dump_stack(),上补丁后,可以通过log仔细分析dts在启动过程中如何解析
  • 如何打patch

    2014-02-11 15:33:36
    patch文件中如果第一行如果如下: diff -Nurp linux-2.4.31/Documentation/Configure.help linux-...而你的内核版本如果不为linux-2.4.31,而需要打入此patch,则进行 本机内核相应linux-2.4.31/目录,即Documentati
  • 如何制作LINUX的patch文件及如何打patch 对某个版本的Linux内核做了修改以后,如果希望发布出去给别人用,那么就需要制作针对此版本的patch文件。 patch文件也叫补丁,就是一个文本文档,这个文档包含了在两个不同...
  • 写在前面: openwrt中内核代码是存放在dl文件夹下的压缩包中的,编译代码时会将源码解压缩出来并上已存在的内核补丁,然后才进行编译,所以直接在编译目录中修改代码或者直接修改压缩包中的代码都是不合适的。...
  • 参考资料:1.http://wiki.openwrt.org/doc/devel/patches?s[]=quilt--- 官方对于如何打Patch的说明2.http://blog.csdn.net/hbsong75/article/details/8825184--- 使用quilt的小例子众所周知,openwrt采用的是:从...
  • 内核打补丁

    2014-12-22 17:21:12
    一、文件系统对内核打补丁: yaffs2要先进行对kernel打补丁是为了能让kernel支持yaffs2文件系统,如果kernel已经支持了。那么应该是应该就不用打补丁了。  格式:./patch-ker.sh c m linux-tree(内核源代码路径)...
  • 对某个版本的Linux内核做了修改以后,如果希望发布出去给别人用,那么就需要制作针对此版本的patch文件。 patch文件是一个文本文档,这个文档包含了在两个不同版本的源代码树之间的变化。 补丁是通过diff...
  • linux 内核打补丁

    2018-08-01 03:35:07
    使用内核补丁: patch -p1 &lt; ../linux-3.4.2_100ask.patch cp config_ok .config make uImage
  • 在做开发的过程中难免需要给内核及下载的一些源码补丁或者说是升级,所以我们学习在Linux下使用diff制作补丁以及如何使用patch打补丁显得尤为重要。 diff与patch命令介绍 1、 diff命令 NAME diff - find ...
  • 内核打补丁

    千次阅读 2014-07-28 11:56:59
    原来给内核打过补丁,都是跟着网上找来的资料一步一步做,结果今天打2.6.32.9的补丁出了问题。现在把学到的东西写下来,供大家参考。 我都是从kernel.org下载内核的。 首先要明白内核发布一次稳定版,同时发布...
  • openwrt-给kernel打patch

    千次阅读 2015-12-14 16:04:11
    openwrt是自动下载代码进行编译的.但是,我们有时候修改一些内核代码,或者其他应用的代码。当make distclean以后,所有修改的代码都消失了。...1.install quilt(安装quilt工具,打patch工具) sudo apt-get insta

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 375
精华内容 150
关键字:

内核打patch