Bug#794435: nvidia-kernel-dkms: DKMS build failure on armhf

Andreas Beckmann anbe at debian.org
Thu Aug 6 08:34:14 UTC 2015

On 2015-08-06 01:50, Luca Boccassi wrote:
> Works on 4.0 and 4.1, but not on 3.16 due to this error:
> FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol
> 'xen_start_info'
> /usr/src/linux-headers-3.16.0-4-common/scripts/Makefile.modpost:90:
> recipe for target '__modpost' failed
> This goes away when I hack away CONFIG_XEN from the headers auto.conf. I
> do not see anything else that we could disable in nv-linux.h or that we
> are missing in conftest.h. Any clue where that comes from?

maybe kernel internals ... I don't see this symbol in the nvidia source,
so maybe comes from a macro ... let's check ...

#include <xen/interface/xen.h>
#include <asm/xen/hypervisor.h>

#define xen_initial_domain()    (xen_domain() && \
                                 xen_start_info && xen_start_info->flags
#else  /* !CONFIG_XEN_DOM0 */
#define xen_initial_domain()    (0)
#endif  /* CONFIG_XEN_DOM0 */

you could try in nv-linux.h

+#if CONFIG_this_is_armhf && this_is_kernel_LEQ_3.16.x  // (< 3.17)
+#undef CONFIG_XEN

or if that does not work, try #undef CONFIG_XEN_DOM0 (or both)

no, this is not a proper patch :-)

that would perform your config_xen hack within the nvidia source
(and I would restrict it to <= 3.16, while this leaves some gap to 4.0
where it seems no longer needed, but better let's extend that crude hack
to more versions later if neccessary)

If that works, put a disclaimer in the patch description that this makes
the module build (tested in qemu-builder), but we could not test whether
the module actually works.
Recommend to build a kernel without CONFIG_XEN (or with CONFIG_PARAVIRT
enabled) instead.
Should be in the other arm xen hack patch, too.


More information about the pkg-nvidia-devel mailing list