Post upgrade 3rd party driver issue - Skipping BTF generation for ... due to unavailability of vmlinux?

Hi Zorin Forum,

I am running Zorin 16 on a MacBook Pro (14,1 version). I use a 3rd party driver for Bluetooth:

The most recent auto-update to 5.0.11-40 requires me to recompile and install the driver (which worked previous to upgrade). However, the driver installation now fails with the following message:
➜ bluetooth-5.11.0 git:(master) ✗ make
make -C /lib/modules/5.11.0-40-generic/build M=/home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0 modules
make[1]: Entering directory '/usr/src/linux-headers-5.11.0-40-generic'
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_ldisc.o
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_serdev.o
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_h4.o
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_bcsp.o
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_ll.o
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_ath.o
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_h5.o
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_intel.o
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_bcm.o
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_qca.o
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_ag6xx.o
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_mrvl.o
LD [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_uart.o
MODPOST /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/Module.symvers
CC [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_uart.mod.o
LD [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_uart.ko
BTF [M] /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_uart.ko
Skipping BTF generation for /home/jay/tmp/5.11.0-40/macbook12-bluetooth-driver/build/bluetooth-5.11.0/hci_uart.ko due to unavailability of vmlinux
make[1]: Leaving directory '/usr/src/linux-headers-5.11.0-40-generic'
strip --strip-debug hci_uart.ko
➜ bluetooth-5.11.0 git:(master) ✗

Forgive my newbness but this seems to have something to do with driver signing and the fact my MacBook Pro uses secure boot??

Any Thoughts! TIA!

It could be. If you are not running Windows on that Macbook, Secure Boot should be OFF. Secure Boot does no good whatsoever on Linux. It is for Windows only.

You may roll back to the previous kernel instead of using the 5.11.0-40.

1 Like
4 Likes

Thanks Swarf... this is one of many reasons it is good to see you active again. :slight_smile:

3 Likes

Thank you for the reply. I will try to remove secure boot however I am not sure I will be successful as I do not have an admin username/pass for the firmware.

Also, why was this not an issue before? (I was able to get the driver installed with several previous updates...?

TIA!

Have you tried rolling back to the Previous Kernel?

No... Not sure how to do that...

Alternatively, is there a way to 'sign' this kernel version for secure boot to work properly?

Ty

There is not. The Signatures are done between Canonical and Microsoft.

However, we can help you roll back the kernel.
(Anyone who knows differently for a MacBook, please speak up)

Boot the computer and begin tapping the esc key at the Motherboard Splash screen. This should enable you to see the Zorin Gub Menu with Advanced Options for Zorin.
If you do not see it, try tapping the left shift key, instead.
Once you have the Menu pulled up when booting up; Arrow key to Advanced Options... then hit enter.
Arrow key down to the previous working kernel, which should be 5.11.0-38 and hit enter on that selection.

This will boot you into the previous kernel - test your software.

2 Likes

I've followed your instructions to load with 5.0.11-38 - the previous kernel, thank you. I will stick with this for now as bluetooth driver works with this version.

Thank you,
Jason

2 Likes

Ok, it is working. :slight_smile: Then we should remove the 5.11.0-40 kernel so that the system does not Boot Into it on next reboot.
You can do so using Synaptic or terminal:

sudo apt remove linux-headers-5.11.0-40-generic linux-modules-5.11.0-40-generic linux-modules-extra-5.11.0-40-generic linux-image-5.11.0-40-generic

2 Likes

This tip might also help you from getting newer kernels installed in the future:

I know the kernel numbers are different but the advice at the bottom with zero votes solved the issue for the OP.

To cover yourself you should also install Timeshift and use your /home directory for storing system snapshots. Get it from here:

Guidance on how to use:

2 Likes