首页 文章

Linux内核修补问题

提问于
浏览
0

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

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

/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

1 回答

  • 0

    从kernel.org获取适当的内核版本之后,应该遵循标准的内核编译方法

    以下是按顺序执行的步骤

    • 将内核解压缩到一个文件夹

    • 应用补丁

    • sudo make menuconfig,保存默认的.config文件

    • sudo make

    • sudo make modules_install

    • sudo make install

    • cd / boot

    • sudo mkinitramfs -o initrd.img-(您的版本在这里)(您的版本再次)

    • sudo update-grub

    您现在应该在启动选项中看到新内核,它应该(希望)启动 .

相关问题