linux-kernel - Linux内核补丁问题

我在让这个特定的内核补丁与我的 Ubuntu Linux 内核正确编译时遇到了一些麻烦。

有问题的补丁来自一个名为 SCST 的软件,它是 Linux 的 iSCSI 目标。当我运行 patch -p1 < put_page_callback-2.6.32.patch 时,补丁加载正常但是当我要编译时,我大约花了一个小时左右,然后 make 失败并返回这些错误。

/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:63: error: redefinition of '__kcrctab_net_get_page_callback'
/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:14: note: previous definition of '__kcrctab_net_get_page_callback' was here
/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:63: error: redefinition of '__kstrtab_net_get_page_callback'
/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:14: note: previous definition of '__kstrtab_net_get_page_callback' was here
/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:63: error: redefinition of '__ksymtab_net_get_page_callback'
/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:14: note: previous definition of '__ksymtab_net_get_page_callback' was here
/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:66: error: redefinition of '__kcrctab_net_put_page_callback'
/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:17: note: previous definition of '__kcrctab_net_put_page_callback' was here
/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:66: error: redefinition of '__kstrtab_net_put_page_callback'
/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:17: note: previous definition of '__kstrtab_net_put_page_callback' was here
/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:66: error: redefinition of '__ksymtab_net_put_page_callback'
/root/d1/development/kernel/lucid/source/net/ipv4/tcp_zero_copy.c:17: note: previous definition of '__ksymtab_net_put_page_callback' was here

我绝对不知道发生了什么。我无论如何都不是内核开发者,我只是想获得这个补丁和另一个可以正常工作的补丁scst_exec_req_fifo-2.6.32.patch .所以我可以让这个 iSCSI 目标全速运行。

知道我能做什么吗?

** 更新 **

我正在遵循 https://help.ubuntu.com/community/Kernel/Compile 的指示.更具体地说,该页面上指向 http://blog.avirtualhome.com/2010/05/05/how-to-compile-a-ubuntu-lucid-kernel/ 的链接.

我已经使用这些说明进行了一些编译,我的问题是我忘记应用补丁或补丁没有使用,但直到现在它们总是完成。这个新补丁的某些东西搞砸了。

至于为什么 iSCSI 目标会弄乱网络部件,它显然与网络性能有关。当我在没有补丁的情况下编译目标软件时,它提示性能不会很好。目标网站是http://scst.sourceforge.net/index.html

最佳答案

从 kernel.org 获得合适的内核版本后,您应该遵循标准内核编译方法

以下是按顺序执行的步骤

  • 将内核解压到一个文件夹
  • 应用补丁
  • sudo make menuconfig,保存默认的.config文件
  • 须藤制作
  • sudo make modules_install
  • 须藤使安装
  • cd/启动
  • sudo mkinitramfs -o initrd.img-(你的版本在这里)(你的版本)
  • 须藤更新-grub

  • 您现在应该在引导选项中看到新内核,并且它应该(希望)引导。

    https://stackoverflow.com/questions/7134840/

    相关文章:

    objective-c - UIAlertView dismissWithClickedButton

    java - 编译时出现一个或多个错误的NetBeans项目

    gcc - 编译器的错误如何标准化?

    asp.net - 运行时CS0234在VS2010 Web应用程序中访问SOAP Web服务时出错

    java - 比较原始类型

    c++ - 新手Chrome插件开发人员需要NPAPI入门方面的帮助

    php - 生成php_perl.dll失败

    compilation - apt-pkg编译问题

    visual-studio-2008 - 双击Visual Studio 2008编译错误不会将我带

    compiler-errors - pygame炮弹碰撞检测