Skip to content

Commit a8d7023

Browse files
GCoreTechgmelikov
GCoreTech
authored andcommitted
Add info about Fedora 41 secure boot with kmod
1 parent 32b363b commit a8d7023

File tree

1 file changed

+51
-0
lines changed

1 file changed

+51
-0
lines changed

docs/Developer Resources/Custom Packages.rst

+51
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,57 @@ option must be passed to configure.
154154
$ make -j1 rpm-utils rpm-kmod
155155
$ sudo dnf install *.$(uname -m).rpm *.noarch.rpm
156156
157+
Fedora 41 secure boot with kmod
158+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
159+
160+
The zfs kernel module will fail to load on modern computers that use
161+
UEFI and secure boot:
162+
163+
.. code::
164+
165+
$ sudo modprobe zfs
166+
modprobe: ERROR: could not insert 'zfs': Key was rejected by service
167+
168+
Either disable secure boot or create a custom machine owner key (MOK)
169+
**once** and manually sign your current and future modules using that key:
170+
171+
.. code:: sh
172+
173+
$ sudo mkdir /etc/pki/mok
174+
$ cd /etc/pki/mok
175+
$ sudo openssl req -new -x509 -newkey rsa:2048 -keyout LOCALMOK.priv -outform DER -out LOCALMOK.der -nodes -days 36500 -subj "/CN=LOCALMOK/"
176+
$ sudo mokutil --import LOCALMOK.der
177+
178+
Mokutil asks for a password that you have to create and remember,
179+
then reboot your machine and UEFI will ask to import your key:
180+
181+
.. code::
182+
183+
Select "Enroll MOK", "Continue", "Yes", enter mokutil's password, "Reboot"
184+
185+
This MOK can then be used to manually sign your zfs kernel modules:
186+
187+
.. code::
188+
189+
$ rpm -ql kmod-zfs-$(uname -r) | grep .ko
190+
/lib/modules/6.11.8-300.fc41.x86_64/extra/zfs/spl.ko
191+
/lib/modules/6.11.8-300.fc41.x86_64/extra/zfs/zfs.ko
192+
193+
.. code:: sh
194+
195+
$ sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 /etc/pki/mok/LOCALMOK.priv /etc/pki/mok/LOCALMOK.der /lib/modules/$(uname -r)/extra/zfs/spl.ko
196+
$ sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 /etc/pki/mok/LOCALMOK.priv /etc/pki/mok/LOCALMOK.der /lib/modules/$(uname -r)/extra/zfs/zfs.ko
197+
198+
Load the module and verify it is active:
199+
200+
.. code::
201+
202+
$ sudo modprobe zfs
203+
204+
$ lsmod | grep zfs
205+
zfs 6930432 0
206+
spl 155648 1 zfs
207+
157208
Debian and Ubuntu
158209
-----------------
159210

0 commit comments

Comments
 (0)