Welcome to the Linux Foundation Forum!

An external module fails the Kernel build

Hello, I am running a Debian distro, and the system has a single external module installed.
I apologize for the lengthy post, but the logs help clarify.

khaled@kh-deb:~$ uname -a
Linux kh-deb 6.12.6-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.6-1 (2024-12-21) x86_64 GNU/Linux

khaled@kh-deb:~$ sudo dkms status
nvidia-current/535.216.03, 6.1.0-25-amd64, x86_64: installed
nvidia-current/535.216.03, 6.12.6-amd64, x86_64: installed

I can compile the kernel from source successfully.

khaled@kh-deb:~/linux_work/linux:~$ make mrproper
make defconfig
make CC='ccache gcc' -j$(nproc)
sudo make modules_prepare
sudo make modules_install

But when I install, the dkms autoinstall starts and fails to install 'nvidia-current'

khaled@kh-deb:~/linux_work/linux$ sudo make install
  INSTALL /boot
run-parts: executing /etc/kernel/postinst.d/dkms 6.13.0-rc7-00043-g619f0b6fad52 /boot/vmlinuz-6.13.0-rc7-00043-g619f0b6fad52
dkms: running auto installation service for kernel 6.13.0-rc7-00043-g619f0b6fad52.
The kernel is built without module signing facility, modules won't be signed

Building module:
Cleaning build area...(bad exit status: 2)
Failed command:
make KERNEL_UNAME=6.13.0-rc7-00043-g619f0b6fad52 clean
Building module(s)...(bad exit status: 2)
Failed command:
env NV_VERBOSE=1 make -j8 modules KERNEL_UNAME=6.13.0-rc7-00043-g619f0b6fad52
Error! Bad return status for module build on kernel: 6.13.0-rc7-00043-g619f0b6fad52 (x86_64)
Consult /var/lib/dkms/nvidia-current/535.216.03/build/make.log for more information.
dkms autoinstall on 6.13.0-rc7-00043-g619f0b6fad52/x86_64 failed for nvidia-current(10)
Error! One or more modules failed to install during autoinstall.
Refer to previous errors for more information.
dkms: autoinstall for kernel: 6.13.0-rc7-00043-g619f0b6fad52 failed!
run-parts: /etc/kernel/postinst.d/dkms exited with return code 11
make[1]: *** [arch/x86/Makefile:321: install] Error 11
make: *** [Makefile:251: __sub-make] Error 2

As per the logs, inspecting /var/lib/dkms/nvidia-current/535.216.03/build/make.log

khaled@kh-deb:~/linux_work/linux$ cat /var/lib/dkms/nvidia-current/535.216.03/build/make.log
DKMS make.log for nvidia-current-535.216.03 for kernel 6.13.0-rc7-00043-g619f0b6fad52 (x86_64)
Fri Jan 17 02:01:55 AM EET 2025
Makefile:18: /Kbuild: No such file or directory
make[2]: *** No rule to make target '/Kbuild'.  Stop.

So, I refer to the kernel docs about external modules https://docs.kernel.org/kbuild/modules.html#how-to-build-external-modules
And prepare the build and install commands sudo make -C ~/linux_work/linux/ M=$PWD to run from inside /var/libs/dkms/nvidia-currrent/source

khaled@kh-deb:/var/lib/dkms/nvidia-current/535.216.03/source$ sudo make -C ~/linux_work/linux/ M=$PWD 
make: Entering directory '/home/khaled/linux_work/linux'
make[1]: Entering directory '/usr/src/nvidia-current-535.216.03'
  MODPOST Module.symvers
make[1]: Leaving directory '/usr/src/nvidia-current-535.216.03'
make: Leaving directory '/home/khaled/linux_work/linux'

khaled@kh-deb:/var/lib/dkms/nvidia-current/535.216.03/source$ sudo make -C ~/linux_work/linux/ M=$PWD modules_install
make: Entering directory '/home/khaled/linux_work/linux'
make[1]: Entering directory '/usr/src/nvidia-current-535.216.03'
  DEPMOD  /lib/modules/6.13.0-rc7-00043-g619f0b6fad52
make[1]: Leaving directory '/usr/src/nvidia-current-535.216.03'
make: Leaving directory '/home/khaled/linux_work/linux'

No errors or anything, but I can't find the module installed, I inspect /lib/modules/<new kernel>/ but no upates/ directory, and dmks status doesn't show the new version.

khaled@kh-deb:~/linux_work/linux$ ll /lib/modules/6.13.0-rc7-00043-g619f0b6fad52/
total 204K
drwxr-xr-x 3 root root 4.0K Jan 17 02:23 .
drwxr-xr-x 5 root root 4.0K Jan 17 01:59 ..
lrwxrwxrwx 1 root root   32 Jan 17 01:59 build -> /home/khaled/linux_work/linux
drwxr-xr-x 5 root root 4.0K Jan 17 01:59 kernel
-rw-r--r-- 1 root root  862 Jan 17 02:23 modules.alias
-rw-r--r-- 1 root root 1.5K Jan 17 02:23 modules.alias.bin
-rw-r--r-- 1 root root  12K Jan 17 01:59 modules.builtin
-rw-r--r-- 1 root root  11K Jan 17 02:23 modules.builtin.alias.bin
-rw-r--r-- 1 root root  15K Jan 17 02:23 modules.builtin.bin
-rw-r--r-- 1 root root 114K Jan 17 01:59 modules.builtin.modinfo
-rw-r--r-- 1 root root  340 Jan 17 02:23 modules.dep
-rw-r--r-- 1 root root  975 Jan 17 02:23 modules.dep.bin
-rw-r--r-- 1 root root    0 Jan 17 02:23 modules.devname
-rw-r--r-- 1 root root  331 Jan 17 01:59 modules.order
-rw-r--r-- 1 root root   89 Jan 17 02:23 modules.softdep
-rw-r--r-- 1 root root   49 Jan 17 02:23 modules.symbols
-rw-r--r-- 1 root root   12 Jan 17 02:23 modules.symbols.bin
-rw-r--r-- 1 root root   55 Jan 17 02:23 modules.weakdep

khaled@kh-deb:~/linux_work/linux$ sudo dkms status
nvidia-current/535.216.03, 6.1.0-25-amd64, x86_64: installed
nvidia-current/535.216.03, 6.12.6-amd64, x86_64: installed

Trying to rerun make install in the kernel tree, prints the same issue.

I would appreciate help with understanding the following:

1- What am I missing in this configuration?

2- As an alternative solution that does not use out-of-tree modules, I check nouveau and intel graphics drivers in menuconfig and install, but dkms still pops up breaking the build. I can't find any config in menuconfig to disable 'nvidia-current' proprietary drivers or even all out-of-tree modules.

Thank you.

Categories

Upcoming Training