如何将补丁应用到我的 Linux 内核?

ian*_*215 7 linux kernel patch ubuntu-10.04

我正在尝试编译 iscsi 目标软件 SCST。它希望我对我的 Linux 内核应用补丁,以便获得某些性能提升。问题是我对 Linux 开发还是个新手。我从哪开始呢?如何应用补丁?我需要重新编译内核吗?帮助!

我正在运行 Ubuntu 10.04.3 amd64

内核版本 2.6.32-28-server

use*_*686 7

您的 Linux 发行版通常有自己的说明。搜索他们的网站或在 IRC 上询问——或者至少告诉我们发行版;在不知情的情况下,不可能提供可靠的答案。


通用指令是:

  1. Kernel.org下载内核源代码。“稳定”可能是最好的选择。提取到一个方便的地方(我使用~/src/linux)。

    • 读取名为README.
  2. 进入源目录后,复制当前内核的配置,使用:
    zcat /proc/config.gz > .config

    如果 /proc 没有,请查找/boot/config-[version]

  3. 应用补丁,使用:(如果它被拒绝,请
    patch -p1 < foo.patch尝试-p0)。

  4. 编译内核:
    make silentoldconfig
    make

  5. 安装模块:
    sudo make modules_install

  6. 将内核映像安装.../linux/arch/i386/boot/bzImage到引导加载程序需要的任何位置。(例如,/boot/vmlinuz-custom。)

  7. 为新内核构建一个 initramfs(如果您的发行版使用它),并再次确保引导加载程序知道它的位置。例如,在 Arch Linux 上,您将使用:
    mkinitcpio -k /boot/vmlinuz-custom -g /boot/initramfs-custom

  • @Solignis:https://help.ubuntu.com/community/Kernel/Compile (2认同)