如何为我的 Linux 内核打补丁?

如何为我的 Linux 内核打补丁?

我正在尝试编译 iscsi-target 软件 SCST。它要求我为 Linux 内核打补丁,以便获得一定的性能提升。问题是我对 Linux 开发还不熟悉。我应该从哪里开始?如何打补丁?我需要重新编译内核吗?救命!

我正在运行 Ubuntu 10.04.3 amd64

内核版本 2.6.32-28-server

答案1

您的 Linux 发行版通常有自己的说明。搜索其网站或在 IRC 上提问 – 或者至少告诉我们发行版;如果不知道,就不可能提供可靠的答案。


通用指令如下:

  1. 从以下网址下载内核源代码内核网站。“稳定”可能是最佳选择。解压到方便的地方(我用~/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

相关内容