[LEDE-DEV] Kernel symbol dependencies and KCONFIG usage for kernel packages

John Crispin john at phrozen.org
Sat Jul 2 06:45:58 PDT 2016



On 02/07/2016 15:20, Baptiste Jonglez wrote:
> Hi,
> 
> I am packaging a new kernel module (wireguard), the package is currently here [1].
> 
> However, I have some trouble understanding what KCONFIG does.  Wireguard
> needs a few kernel options, so I thought that KCONFIG was the place to
> declare such dependencies:
> 
>   https://github.com/zorun/packages-1/blob/wireguard/net/wireguard/Makefile#L90
> 
> However, it does not seem to enable these options.  The module compiles
> fine, it installs fine [2], but then it fails to load at runtime:
> 
> Sat Jul  2 10:04:50 2016 kern.warn kernel: [   95.015838] wireguard: Unknown symbol udp_sock_create4 (err 0)
> Sat Jul  2 10:04:50 2016 kern.warn kernel: [   95.022021] wireguard: Unknown symbol udp_tunnel6_xmit_skb (err 0)
> Sat Jul  2 10:04:50 2016 kern.warn kernel: [   95.028767] wireguard: Unknown symbol udp_tunnel_sock_release (err 0)
> Sat Jul  2 10:04:50 2016 kern.warn kernel: [   95.035570] wireguard: Unknown symbol setup_udp_tunnel_sock (err 0)
> Sat Jul  2 10:04:50 2016 kern.warn kernel: [   95.042136] wireguard: Unknown symbol udp_sock_create6 (err 0)
> Sat Jul  2 10:04:50 2016 kern.warn kernel: [   95.048297] wireguard: Unknown symbol udp_tunnel_xmit_skb (err 0)
> 
> It works when selecting the needed options manually in kernel_menuconfig,
> but it's a huge pain.
> 
> Is there a way to get the needed kernel options automatically?  Maybe this
> only happens for packages that are part of the core Lede distribution?
> 
> Thanks,
> Baptiste
> 
> [1] https://github.com/zorun/packages-1/blob/wireguard/net/wireguard/Makefile
> [2] http://paste.aliens-lyon.fr/CBI
> 
> 
> 
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
> 

>

Hi,

wireguard depends on other moduls so you will need to package them aswell.

CONFIG_NET_UDP_TUNNEL will create ip6_udp_tunnel.ko which for example
has udp_tunnel6_xmit_skb inside it.

once all of these are packaged you can make wireguard depend on them.

	John




More information about the Lede-dev mailing list