Tun module on Toradex 3.14.52 kernel

I need to get openvpn running on an Apalis module. I am using the yocto build system and this produces an image using linux kernel 3.14.52 which is required for the graphics as far as I can see.

The tun kernel module is not present by default so I add CONFIG_TUN=y to the defconfig to test initially. I now get a tun.ko in my image but when I modprobe tun I get:

[ 328.899062] tun: no symbol version for do_sync_read
[ 328.904094] tun: Unknown symbol do_sync_read (err -22)
[ 328.909611] tun: no symbol version for ns_capable
[ 328.914403] tun: Unknown symbol ns_capable (err -22)
modprobe: ERROR: could not insert ‘tun’: Invalid argument

I find it hard to believe I am the first person to try and run openvpn on this kernel. Does the tun module work for anyone else with toradex kernel 3.14.52 and does anyone know why this might be occurring?


It works here.

make apalis_imx6_defconfig
make nconfig
make -j 8 uImage LOADADDR=10008000 modules

In the nconfig step navigate to Device Drivers -> Network device support -> TUN/TAP and selecting ‘M’ to build the driver as a module did it for me.

After it’s built I follow the deployment steps for kernel and modules outlined here.

I used 3894f6d783c8f1d3a8381d3a9746bc8fc75036a6 tag: Colibri_iMX6_LinuxImageV2.6.1Beta1_20160929. Btw. there is a reason why we ask for versions!

What did you do differently?