通过PPA在Xubuntu (Ubuntu18.04.4LTS)中安装了有线设备。内核模块失败。
# modprobe wireguard
modprobe: FATAL: Module wireguard not found in directory /lib/modules/5.3.0-51-generic我已经搜索了很多关于这个问题,但大多数情况下,发现海报要么没有内核标题,要么它们不匹配。我检查过了系统上的那些都没问题。
当我检查
# dkms status
wireguard, 1.0.20200506: added尝试dkms build wireguard/1.0.20200506会产生以下日志中报告的错误:
> DKMS make.log for wireguard-1.0.20200506 for kernel 5.3.0-51-generic (x86_64)
Tue May 26 19:11:14 PDT 2020
make: Entering directory '/usr/src/linux-headers-5.3.0-51-generic'
CC [M] /var/lib/dkms/wireguard/1.0.20200506/build/main.o
CC [M] /var/lib/dkms/wireguard/1.0.20200506/build/noise.o
CC [M] /var/lib/dkms/wireguard/1.0.20200506/build/device.o
CC [M] /var/lib/dkms/wireguard/1.0.20200506/build/peer.o
In file included from /var/lib/dkms/wireguard/1.0.20200506/build/main.c:9:0:
/var/lib/dkms/wireguard/1.0.20200506/build/queueing.h: In function ‘wg_reset_packet’:
/var/lib/dkms/wireguard/1.0.20200506/build/queueing.h:107:2: error: implicit declaration of function ‘skb_reset_redirect’; did you mean ‘skb_do_redirect’? [-Werror=implicit-function-declaration]
skb_reset_redirect(skb);
^~~~~~~~~~~~~~~~~~
skb_do_redirect
In file included from /var/lib/dkms/wireguard/1.0.20200506/build/noise.c:10:0:
/var/lib/dkms/wireguard/1.0.20200506/build/queueing.h: In function ‘wg_reset_packet’:
/var/lib/dkms/wireguard/1.0.20200506/build/queueing.h:107:2: error: implicit declaration of function ‘skb_reset_redirect’; did you mean ‘skb_do_redirect’? [-Werror=implicit-function-declaration]
skb_reset_redirect(skb);
^~~~~~~~~~~~~~~~~~
skb_do_redirect
In file included from /var/lib/dkms/wireguard/1.0.20200506/build/device.c:6:0:
/var/lib/dkms/wireguard/1.0.20200506/build/queueing.h: In function ‘wg_reset_packet’:
In file included from /var/lib/dkms/wireguard/1.0.20200506/build/peer.c:8:0:
/var/lib/dkms/wireguard/1.0.20200506/build/queueing.h: In function ‘wg_reset_packet’:
/var/lib/dkms/wireguard/1.0.20200506/build/queueing.h:107:2: error: implicit declaration of function ‘skb_reset_redirect’; did you mean ‘skb_do_redirect’? [-Werror=implicit-function-declaration]
skb_reset_redirect(skb);
^~~~~~~~~~~~~~~~~~
skb_do_redirect
/var/lib/dkms/wireguard/1.0.20200506/build/queueing.h:107:2: error: implicit declaration of function ‘skb_reset_redirect’; did you mean ‘skb_do_redirect’? [-Werror=implicit-function-declaration]
skb_reset_redirect(skb);
^~~~~~~~~~~~~~~~~~
skb_do_redirect
cc1: some warnings being treated as errors
scripts/Makefile.build:288: recipe for target '/var/lib/dkms/wireguard/1.0.20200506/build/main.o' failed
make[1]: *** [/var/lib/dkms/wireguard/1.0.20200506/build/main.o] Error 1
make[1]: *** Waiting for unfinished jobs....
cc1: some warnings being treated as errors
scripts/Makefile.build:288: recipe for target '/var/lib/dkms/wireguard/1.0.20200506/build/peer.o' failed
make[1]: *** [/var/lib/dkms/wireguard/1.0.20200506/build/peer.o] Error 1
cc1: some warnings being treated as errors
scripts/Makefile.build:288: recipe for target '/var/lib/dkms/wireguard/1.0.20200506/build/device.o' failed
make[1]: *** [/var/lib/dkms/wireguard/1.0.20200506/build/device.o] Error 1
cc1: some warnings being treated as errors
scripts/Makefile.build:288: recipe for target '/var/lib/dkms/wireguard/1.0.20200506/build/noise.o' failed
make[1]: *** [/var/lib/dkms/wireguard/1.0.20200506/build/noise.o] Error 1
Makefile:1656: recipe for target '_module_/var/lib/dkms/wireguard/1.0.20200506/build' failed
make: *** [_module_/var/lib/dkms/wireguard/1.0.20200506/build] Error 2
make: Leaving directory '/usr/src/linux-headers-5.3.0-51-generic'我不知道怎么读这日志,也不知道怎么做。Wireguard安装在我的路由器和我们的iPhones上,并在那里正确工作。但我需要它在我的笔记本上与Xubuntu-任何帮助非常感谢!
发布于 2020-05-28 13:40:50
昨天,我在运行Ubuntu的AWS实例中遇到了这个问题。我认为问题在于系统仍然运行一个旧内核(5.3.0-1016-aws),它没有匹配的头。在我重新启动之后,系统运行了5.3.0-1019-aws内核,并能够构建Wireguard模块。
出于诊断目的,我运行apt list --installed | grep linux来查看安装了哪些内核包,这时我意识到我不是从最新的包中运行内核的。(运行uname -a查看当前运行的内核。)
不管它的价值是什么,这个系统是一对之一,这对于像这样的实验是非常方便的;很明显,当你在处理你的笔记本电脑时,这是没有帮助的--而且我的笔记本电脑上也有这个问题!我会检查机器上的内核然后在这里报告..。这不是我的笔记本电脑的解决方案,运行的是仿生的Ubuntu18.04。它正在运行最新安装的内核5.3.0-7648-泛型,我仍然看到/var/lib/dkms/wireguard/1.0.20200520/build/queueing.h:115:2: error: implicit declaration of function ‘skb_reset_redirect’; did you mean ‘skb_do_redirect’? [-Werror=implicit-function-declaration]在/var/lib/dkms/wireguard/1.0.20200520/build/make.log中的错误。我会继续挖。
对于ubfan1关于不使用PPA的评论,我认为Ubuntu≤19.04仍然有必要--参见https://www.wireguard.com/install/
最后(?),我通过运行sudo do-release-upgrade -d并升级到焦点Ubuntu20.04,解决了笔记本电脑上的问题。它安装了5.4.0-7629通用内核,现在Wireguard又开始工作了。这个解决方案需要一点时间,对你来说可能太麻烦了,但似乎还不错。
发布于 2020-06-19 21:51:42
这个问题已经“解决了自己”-- Xubuntu (Ubuntu18.04.4LTS)中的最新内核,5.3.0-59-泛型似乎内置了WG支持。清除和重新安装WG (仍然从PPA)现在工作。没有内置内核模块,所以内核支持必须是“内置的”。可能是工作组的开发人员这么做的。在任何情况下,WG现在在这个发行版以及有类似问题的Peppermint_10上都可以使用。
还有一个小故障。当通过正常的apt更新过程引入新内核时,它还安装了另一个内核,“5.3xxxxxx-GKE”。这个内核变成了GRUB默认内核。但是,引导它,破坏了登录屏幕和其他地方的键盘支持(至少在我的MacBook转换成linux上是这样)。解决办法:在GRUB菜单中,选择Advanced,然后选择5.3.0-59通用内核。它将启动正常,有正常的键盘支持和WG工作良好。
https://askubuntu.com/questions/1244072
复制相似问题