Issue
I am on Fedora 38 and I cannot install the kernel module for a Broadcom BCM 43142 Network Controller. I eventually understood that it is because the module is not correctly signed and that I have to:
- disable secure boot
- self sign the module.
After disabling secure boot I could manage to have the module loaded and the wifi working.
But I came back re-enabling secure boot in order to try self sign the module.
I followed this tutorial Working with kerned modules but it didn't worked as I do not fully understand everything.
Particularly the module I have is /lib/modules/6.4.15-200.fc38.x86_64/extra/wl/wl.ko.xz
Question 1:
Is it normal that it ends with .ko.xz
?
Question 2:
Will the signed module have the same name?
Solution
Is it normal that it ends with .ko.xz?
Yes.
.xz
just means it's a compressed binary:
Modules can be compressed using either
gzip
orxz
. Compression is enabled using theMODULE_COMPRESS
kernel build option, withMODULE_COMPRESS_GZIP
orMODULE_COMPRESS_XZ
to select the compression tool.
Will the signed module have the same name?
By default, No.
...though a thoroughly correct answer would depend on how, exactly, you intend to sign and recompress the module file, though:
- You need to first unpack/decompress the module (i.e. from
.ko.xz
to just.ko
). - Then sign the decompressed module.
- Then either use the now-signed decompressed module
.ko
as-is, or you can recompress it again back withxz -f yourModule.ko
- If you use just
xz -f <output.ko>
then the actual output filename will beoutput.ko.xz
- this is because (by default) thexz
program will append the compression algorithm's name to the file's name.
- If you use just
Answered By - Dai Answer Checked By - Clifford M. (WPSolving Volunteer)