@@ -201,15 +201,15 @@ <h4 class='subsectionHead' id='what-modules-are-in-my-kernel'><span class='title
201201<code> <span class='ectt-1000'>lsmod</span>
202202</code>.
203203</p>
204- <pre class='fancyvrb' id='fancyvrb3'><a id='x1-6004r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>sudo lsmod</span></pre>
204+ <pre class='fancyvrb' id='fancyvrb3'><a id='x1-6004r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>lsmod</span></pre>
205205<!-- l. 139 --><p class='indent'> Modules are stored within the file <span class='obeylines-h'><span class='verb'><span class='ectt-1000'>/proc/modules</span></span></span>, so you can also see them with:
206206
207207</p>
208- <pre class='fancyvrb' id='fancyvrb4'><a id='x1-6007r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>sudo cat /proc/modules</span></pre>
208+ <pre class='fancyvrb' id='fancyvrb4'><a id='x1-6007r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>cat /proc/modules</span></pre>
209209<!-- l. 144 --><p class='indent'> This can be a long list, and you might prefer to search for something particular.
210210To search for the <span class='obeylines-h'><span class='verb'><span class='ectt-1000'>fat</span></span></span> module:
211211</p>
212- <pre class='fancyvrb' id='fancyvrb5'><a id='x1-6010r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>sudo lsmod | grep fat</span></pre>
212+ <pre class='fancyvrb' id='fancyvrb5'><a id='x1-6010r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>lsmod | grep fat</span></pre>
213213<!-- l. 150 --><p class='noindent'>
214214</p>
215215 <h4 class='subsectionHead' id='is-there-a-need-to-download-and-compile-the-kernel'><span class='titlemark'>1.6 </span> <a id='x1-70001.6'></a>Is there a need to download and compile the kernel?</h4>
@@ -473,13 +473,13 @@ <h4 class='subsectionHead' id='the-simplest-module'><span class='titlemark'>4.1
473473 <pre class='fancyvrb' id='fancyvrb19'><a id='x1-12139r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>modinfo hello-1.ko</span></pre>
474474<!-- l. 371 --><p class='indent'> At this point the command:
475475</p>
476- <pre class='fancyvrb' id='fancyvrb20'><a id='x1-12142r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>sudo lsmod | grep hello</span></pre>
476+ <pre class='fancyvrb' id='fancyvrb20'><a id='x1-12142r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>lsmod | grep hello</span></pre>
477477<!-- l. 376 --><p class='indent'> should return nothing. You can try loading your shiny new module with:
478478</p>
479479 <pre class='fancyvrb' id='fancyvrb21'><a id='x1-12145r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>sudo insmod hello-1.ko</span></pre>
480480<!-- l. 382 --><p class='indent'> The dash character will get converted to an underscore, so when you again try:
481481</p>
482- <pre class='fancyvrb' id='fancyvrb22'><a id='x1-12148r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>sudo lsmod | grep hello</span></pre>
482+ <pre class='fancyvrb' id='fancyvrb22'><a id='x1-12148r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>lsmod | grep hello</span></pre>
483483<!-- l. 387 --><p class='indent'> You should now see your loaded module. It can be removed again with:
484484</p>
485485 <pre class='fancyvrb' id='fancyvrb23'><a id='x1-12151r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>sudo rmmod hello_1</span></pre>
@@ -489,7 +489,7 @@ <h4 class='subsectionHead' id='the-simplest-module'><span class='titlemark'>4.1
489489
490490
491491</p>
492- <pre class='fancyvrb' id='fancyvrb24'><a id='x1-12154r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>sudo journalctl --since </span><span id='textcolor43'><span class='ectt-1000'>"1 hour ago"</span></span><span class='ectt-1000'> | grep kernel</span></pre>
492+ <pre class='fancyvrb' id='fancyvrb24'><a id='x1-12154r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>journalctl --since </span><span id='textcolor43'><span class='ectt-1000'>"1 hour ago"</span></span><span class='ectt-1000'> | grep kernel</span></pre>
493493<!-- l. 398 --><p class='indent'> You now know the basics of creating, compiling, installing and removing modules.
494494Now for more of a description of how this module works.
495495</p><!-- l. 401 --><p class='indent'> Kernel modules must have at least two functions: a "start" (initialization) function
@@ -1596,7 +1596,7 @@ <h4 class='subsectionHead' id='unregistering-a-device'><span class='titlemark'>6
15961596which keeps track of how many processes are using your module. You
15971597can see what its value is by looking at the 3rd field with the command
15981598<code> <span class='ectt-1000'>cat /proc/modules</span>
1599- </code> or <code> <span class='ectt-1000'>sudo lsmod</span>
1599+ </code> or <code> <span class='ectt-1000'>lsmod</span>
16001600</code>. If this number isn’t zero, <code> <span class='ectt-1000'>rmmod</span>
16011601</code> will fail. Note that you do not have to check the counter within
16021602<code> <span class='ectt-1000'>cleanup_module</span>
@@ -2578,18 +2578,18 @@ <h3 class='sectionHead' id='sysfs-interacting-with-your-module'><span class='tit
25782578<!-- l. 1340 --><p class='indent'> Check that it exists:
25792579</p><!-- l. 1 --><p class='indent'>
25802580</p>
2581- <pre class='fancyvrb' id='fancyvrb56'><a id='x1-38196r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>sudo lsmod | grep hello_sysfs</span></pre>
2581+ <pre class='fancyvrb' id='fancyvrb56'><a id='x1-38196r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>lsmod | grep hello_sysfs</span></pre>
25822582<!-- l. 1346 --><p class='indent'> What is the current value of <code> <span class='ectt-1000'>myvariable</span>
25832583</code> ?
25842584</p><!-- l. 1 --><p class='indent'>
25852585</p>
2586- <pre class='fancyvrb' id='fancyvrb57'><a id='x1-38200r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>sudo cat /sys/kernel/mymodule/myvariable</span></pre>
2586+ <pre class='fancyvrb' id='fancyvrb57'><a id='x1-38200r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>cat /sys/kernel/mymodule/myvariable</span></pre>
25872587<!-- l. 1352 --><p class='indent'> Set the value of <code> <span class='ectt-1000'>myvariable</span>
25882588</code> and check that it changed.
25892589</p><!-- l. 1 --><p class='indent'>
25902590</p>
25912591 <pre class='fancyvrb' id='fancyvrb58'><a id='x1-38205r1'></a><span class='ecrm-0500'>1</span><span class='ectt-1000'>echo </span><span id='textcolor1046'><span class='ectt-1000'>"32"</span></span><span class='ectt-1000'> | sudo tee /sys/kernel/mymodule/myvariable</span>
2592- <a id='x1-38207r2'></a><span class='ecrm-0500'>2</span><span class='ectt-1000'>sudo cat /sys/kernel/mymodule/myvariable</span></pre>
2592+ <a id='x1-38207r2'></a><span class='ecrm-0500'>2</span><span class='ectt-1000'>cat /sys/kernel/mymodule/myvariable</span></pre>
25932593<!-- l. 1359 --><p class='indent'> Finally, remove the test module:
25942594</p><!-- l. 1 --><p class='indent'>
25952595</p>
0 commit comments