You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: lkmpg.tex
+18
Original file line number
Diff line number
Diff line change
@@ -174,6 +174,24 @@ \subsection{Before We Begin}
174
174
You will not see it unless you look through your \sh|journalctl| .
175
175
See \ref{sec:helloworld} for details.
176
176
To have immediate access to this information, do all your work from the console.
177
+
\item SecureBoot.
178
+
Many contemporary computers are pre-configured with UEFI SecureBoot enabled.
179
+
It is a security standard that can make sure the device boots using only software that is trusted by original equipment manufacturer.
180
+
The default Linux kernel from some distributions have also enabled the SecureBoot.
181
+
For such distributions, the kernel module has to be signed with the security key or you would get the "\emph{ERROR: could not insert module}" when you insert your first hello world module:
182
+
183
+
\begin{codebash}
184
+
insmod ./hello-1.ko
185
+
\end{codebash}
186
+
And then you can check further with \sh|dmesg| and see the following text:
187
+
188
+
\emph{Lockdown: insmod: unsigned module loading is restricted;
189
+
see man kernel lockdown.7}
190
+
191
+
If you got this message, the simplest way is to disable the UEFI SecureBoot from the PC/laptop boot menu to have your "hello-1" to be inserted.
192
+
Of course you can go through complicated steps to generate keys, install keys to your system, and finally sign your module to make it work.
193
+
However, this is not suitable for beginners.
194
+
You could read and follow the steps in \href{https://wiki.debian.org/SecureBoot}{SecureBoot} if you are interested.
0 commit comments