我正在使用 Ubuntu GNOME 15.04。我想使用 MPTCP,为此我下载并编译了修改后的内核(https://github.com/multipath-tcp/mptcp,分支 mptcp_v0.90)。我需要至少 3.18 的内核才能进行显示端口直通。安装模块和标头后,我在安装内核时看到以下行
run-parts: executing /etc/kernel/postinst.d/dkms 3.18.19+ /boot/vmlinuz-3.18.19+
然后它就停止了。从 dkms-script 中删除“>&2”后,我得到了以下输出:
hp@hp-desktop:~/git/mptcp$ sudo make install
sh ./arch/x86/boot/install.sh 3.18.19+ arch/x86/boot/bzImage \
System.map "/boot"
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.18.19+ /boot/vmlinuz-3.18.19+
run-parts: executing /etc/kernel/postinst.d/dkms 3.18.19+ /boot/vmlinuz-3.18.19+
* dkms: running auto installation service for kernel 3.18.19+
Kernel preparation unnecessary for this kernel. Skipping...
applying patch buildfix_kernel_3.18.patch...patching file nv-drm.c
Hunk #1 succeeded at 131 with fuzz 1 (offset 3 lines).
Building module:
cleaning build area....
make KERNELRELEASE=3.18.19+ -k module KERNDIR=/lib/modules/3.18.19+ IGNORE_XEN_PRESENCE=1 IGNORE_CC_MISMATCH=1 SYSSRC=/lib/modules/3.18.19+/build LD=/usr/bin/ld.bfd; make -C uvm module KERNEL_UNAME=3.18.19+ KBUILD_EXTMOD=/var/lib/dkms/nvidia-346/346.59/build/uvm................................................................................
点不断增多,但几个小时之后这个过程仍未完成。
编辑:静置几个小时后它确实停止了,并给了我这个错误:
Error! Bad return status for module build on kernel: 3.18.19+ (x86_64)
Consult /var/lib/dkms/nvidia-346/346.59/build/make.log for more information. [ OK ]
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.18.19+ /boot/vmlinuz-3.18.19+
update-initramfs: Generating /boot/initrd.img-3.18.19+
run-parts: executing /etc/kernel/postinst.d/pm-utils 3.18.19+ /boot/vmlinuz-3.18.19+
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 3.18.19+ /boot/vmlinuz-3.18.19+
run-parts: executing /etc/kernel/postinst.d/update-notifier 3.18.19+ /boot/vmlinuz-3.18.19+
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 3.18.19+ /boot/vmlinuz-3.18.19+
Generating grub configuration file ...
...
以下是(极长的)make.log 的结尾:http://pastebin.com/QrcqaEEA
答案1
答案很简单。
Nvidia 专有驱动程序不适用于此自定义内核。您有以下选择:
使用带有 mptcp 补丁的标准内核。
使用此内核并卸载 Nvidia 驱动程序。
修复 Nvidia 模块或内核中的构建问题。
我担心关于“如何做其中之一”的进一步问题在这里已经偏离主题了。