Skip to content
View in the app

A better way to browse. Learn more.

Armbian Community Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[Rock64] Cannot install wireguard module on Ubuntu 18.04

Featured Replies

Hi,

 

I've built the Ubuntu 18.04 image with legacy kernel (4.4) and tried to install wireguard.

The problem was the kernel module which seems to be build by dkms.

I've installed kernel headers from the linux-headers-rk3328_5.44_arm64.deb (built by armbian's build procedure) and tried to install wireguard-dkms package.

It fails:

Unpacking wireguard-dkms (0.0.20180513-wg1~bionic) over (0.0.20180513-wg1~bionic) ...
Setting up wireguard-dkms (0.0.20180513-wg1~bionic) ...
Loading new wireguard-0.0.20180513 DKMS files...
Building for 4.4.131-rk3328
Building initial module for 4.4.131-rk3328
Error! Bad return status for module build on kernel: 4.4.131-rk3328 (aarch64)
Consult /var/lib/dkms/wireguard/0.0.20180513/build/make.log for more information.

The content of make.log

DKMS make.log for wireguard-0.0.20180513 for kernel 4.4.131-rk3328 (aarch64)
Thu May 17 21:24:11 UTC 2018
make: Entering directory '/usr/src/linux-headers-4.4.131-rk3328'
Makefile:643: arch//Makefile: No such file or directory
make: *** No rule to make target 'arch//Makefile'.  Stop.
make: Leaving directory '/usr/src/linux-headers-4.4.131-rk3328'

The line 643 is

include arch/$(SRCARCH)/Makefile

so SRCARCH is not set for some reason. Any suggestions how to fix it?

 

Also I've tired to build wireguard module manually with dkms and/or from source. In both cases it fails because of absent scripts/recordmcount.

I've tried to build that stuff with 'make scripts' in the /usr/src/linux-headers-4.4.131-rk3328 and this fails too:

  HOSTCC  scripts/selinux/genheaders/genheaders
scripts/selinux/genheaders/genheaders.c:13:10: fatal error: classmap.h: No such file or directory
 #include "classmap.h"

This classmap.h exists in the kernel source tree, but was not included into kernel-headers deb. Do I need to fix something in kernel makefiles?

  • Author

I've managed to build/install kernel headers correctly and build the wireguard manually. 

Here the is patch I've added to include absent headers (created a userpatches/kernel/rk3328-default/add_more_headers.patch), borrowed from https://github.com/armbian/build/commit/98fca07d8906555ebd419e2cd3eb2a5c0af80298

diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index b3ed160b..b776402f 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -323,6 +405,7 @@ fi
 # Build kernel header package
 (cd $srctree; find . -name Makefile\* -o -name Kconfig\* -o -name \*.pl) > "$objtree/debian/hdrsrcfiles"
 (cd $srctree; find arch/*/include include scripts -type f) >> "$objtree/debian/hdrsrcfiles"
+(cd $srctree; find security -type f -name \*.h) >> "$objtree/debian/hdrsrcfiles"
 (cd $srctree; find arch/$SRCARCH -name module.lds -o -name Kbuild.platforms -o -name Platform) >> "$objtree/debian/hdrsrcfiles"
 (cd $srctree; find $(find arch/$SRCARCH -name include -o -name scripts -type d) -type f) >> "$objtree/debian/hdrsrcfiles"
 (cd $objtree; find arch/$SRCARCH/include Module.symvers include scripts -type f) >> "$objtree/debian/hdrobjfiles"

This unfortunately does not fix the issue with dkms build (empty $SRCARCH), but build from sources is successful.

I’ve just registered to say I have this exact same problem even on the mainline kernel. 

 

I can can also build the module manually but I’d much rather it was done automatically on upgrade. 

 

This topic is nearly a year old, can someone please help fix this empty SRCARCH issue. 

 

Thanks

Edited by alanplum
Spelling

11 hours ago, alanplum said:

I’ve just registered to say I have this exact same problem even on the mainline kernel. 

 

I can can also build the module manually but I’d much rather it was done automatically on upgrade. 

 

This topic is nearly a year old, can someone please help fix this empty SRCARCH issue. 

 

Thanks


Wireguard is sourced and compiled at build time. It is possible that its temporally broken - by our fault or by their fault. What about telling us first which kernel are you using? (armbianmonitor -u)

Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.