<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://script.spoken-tutorial.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Embedded-Linux-Device-Driver%2FC2%2FLoading-and-Unloading-a-Module%2FEnglish</id>
		<title>Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English - Revision history</title>
		<link rel="self" type="application/atom+xml" href="https://script.spoken-tutorial.org/index.php?action=history&amp;feed=atom&amp;title=Embedded-Linux-Device-Driver%2FC2%2FLoading-and-Unloading-a-Module%2FEnglish"/>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;action=history"/>
		<updated>2026-05-13T21:21:03Z</updated>
		<subtitle>Revision history for this page on the wiki</subtitle>
		<generator>MediaWiki 1.23.17</generator>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;diff=52870&amp;oldid=prev</id>
		<title>Nirmala Venkat at 11:20, 8 July 2020</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;diff=52870&amp;oldid=prev"/>
				<updated>2020-07-08T11:20:40Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 11:20, 8 July 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 48:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 48:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''C programming language '''and&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''C programming language '''and&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Basics of''' Linux kernel''' &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Basics of''' Linux kernel''' &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;If not, then go through the '''C/C++''' and '''Linux''' spoken tutorials on this website&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Open the '''terminal'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Open the '''terminal'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 380:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 380:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To go back to '''user login''', type '''exit'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To go back to '''user login''', type '''exit'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;| style=&amp;quot;border:0.5pt solid #000000;padding:0.176cm;&amp;quot;| With this, we come to the end of this tutorial. Let us summarize.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;diff=51457&amp;oldid=prev</id>
		<title>Nancyvarkey at 17:16, 1 April 2020</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;diff=51457&amp;oldid=prev"/>
				<updated>2020-04-01T17:16:37Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 17:16, 1 April 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 379:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 379:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| To go back to '''regular user''', type '''exit''' &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| To go back to '''regular user''', type '''exit''' &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To go back to '''user login, type''' exit'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;To go back to '''user login&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;, type '''exit'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Nancyvarkey</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;diff=51347&amp;oldid=prev</id>
		<title>Nirmala Venkat at 10:25, 17 March 2020</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;diff=51347&amp;oldid=prev"/>
				<updated>2020-03-17T10:25:15Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class='diff diff-contentalign-left'&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;col class='diff-marker' /&gt;
				&lt;col class='diff-content' /&gt;
				&lt;tr style='vertical-align: top;'&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Revision as of 10:25, 17 March 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 197:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 197:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''lsmod space pipe space head space hyphen 5.'''&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''lsmod space pipe space head space hyphen 5.'''&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Now, you can see the '''module '''name &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;is &lt;/del&gt;disappeared from this list.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Now, you can see the '''module '''name &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;has &lt;/ins&gt;disappeared from this list.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It indicates that the''' module''' is unloaded from the '''kernel '''successfully.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;It indicates that the''' module''' is unloaded from the '''kernel '''successfully.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;diff=51338&amp;oldid=prev</id>
		<title>Nancyvarkey at 13:59, 16 March 2020</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;diff=51338&amp;oldid=prev"/>
				<updated>2020-03-16T13:59:15Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;amp;diff=51338&amp;amp;oldid=51321&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Nancyvarkey</name></author>	</entry>

	<entry>
		<id>https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;diff=51321&amp;oldid=prev</id>
		<title>Nirmala Venkat: Created page with &quot; {| style=&quot;border-spacing:0;&quot; | style=&quot;border:1pt solid #000000;padding:0.176cm;&quot;| Visual cue | style=&quot;border:1pt solid #000000;padding:0.176cm;&quot;| Narration   |- | style=&quot;bord...&quot;</title>
		<link rel="alternate" type="text/html" href="https://script.spoken-tutorial.org/index.php?title=Embedded-Linux-Device-Driver/C2/Loading-and-Unloading-a-Module/English&amp;diff=51321&amp;oldid=prev"/>
				<updated>2020-03-13T11:53:53Z</updated>
		
		<summary type="html">&lt;p&gt;Created page with &amp;quot; {| style=&amp;quot;border-spacing:0;&amp;quot; | style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Visual cue | style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Narration   |- | style=&amp;quot;bord...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{| style=&amp;quot;border-spacing:0;&amp;quot;&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Visual cue&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Narration &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 1:&lt;br /&gt;
&lt;br /&gt;
Welcome slide:&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Welcome to the spoken tutorial on '''Loading and Unloading a Module.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 2:&lt;br /&gt;
&lt;br /&gt;
Learning objectives:&lt;br /&gt;
* '''insmod '''tool to load a '''module'''.&lt;br /&gt;
* '''rmmod '''tool to unload a '''module.''' &lt;br /&gt;
* '''dmesg''' command.&lt;br /&gt;
* '''depmod, modprobe, objdump''' tools.&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| In this tutorial, we will learn how to use,&lt;br /&gt;
&lt;br /&gt;
* '''insmod '''tool to load a '''module'''.&lt;br /&gt;
* '''rmmod '''tool to unload a '''module.''' &lt;br /&gt;
* '''dmesg''' command.&lt;br /&gt;
* '''depmod, modprobe, objdump''' tools.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 3:&lt;br /&gt;
&lt;br /&gt;
System Requirements:&lt;br /&gt;
&lt;br /&gt;
* '''VirtualBox 5.2'''&lt;br /&gt;
* '''Ubuntu Linux 18.04 LTS''' operating system.&lt;br /&gt;
* '''Linux kernel '''version''' 5.0.0-31 generic.'''&lt;br /&gt;
* '''gedit text editor.'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| To record this tutorial, I am using,&lt;br /&gt;
* '''VirtualBox 5.2'''&lt;br /&gt;
* '''Ubuntu Linux 18.04 LTS''' operating system.&lt;br /&gt;
* '''Linux kernel '''version''' 5.0.0-31 generic'''&lt;br /&gt;
* '''gedit text editor.'''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 4:&lt;br /&gt;
&lt;br /&gt;
Prerequisites:&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| To follow this tutorial, you should be familiar with:&lt;br /&gt;
&lt;br /&gt;
* '''C programming language '''and&lt;br /&gt;
* Basics of''' Linux kernel''' &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Open the '''terminal'''&lt;br /&gt;
&lt;br /&gt;
Type &amp;gt;&amp;gt; '''cd DeviceDriver'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Open the '''terminal''' by pressing '''ALT+Ctrl+T '''keys simultaneously.&lt;br /&gt;
&lt;br /&gt;
Press the '''Enter''' key after every command.&lt;br /&gt;
&lt;br /&gt;
Go to the folder where '''simple_module dot c''' is saved.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''make all'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Remember, we have used '''make clean''' command earlier.&lt;br /&gt;
&lt;br /&gt;
To compile the''' module '''again, type '''make all'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''sudo su '''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
Enter the''' password '''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''sudo space su '''&lt;br /&gt;
&lt;br /&gt;
Enter the '''password''' of the system.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Let us now load the module '''simple_module dot c'''. in the '''kernel''' using '''insmod tool.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''&amp;gt;&amp;gt; insmod simple_module.ko'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''insmod'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''insmod space simple_module dot ko.'''&lt;br /&gt;
&lt;br /&gt;
The''' insmod '''tool''' '''loads a''' module '''into the '''kernel.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt;''' clear'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Clear the screen&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''lsmod | head -5'''&lt;br /&gt;
&lt;br /&gt;
Press''' Enter'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''lsmod '''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Let us check whether a '''module''' is loaded into the''' kernel '''or not.&lt;br /&gt;
&lt;br /&gt;
Type''' lsmod space pipe space head space hyphen 5.'''&lt;br /&gt;
&lt;br /&gt;
We know, '''lsmod '''command shows the list of '''modules '''loaded in the current '''kernel.'''&lt;br /&gt;
&lt;br /&gt;
So this '''command '''displays the first five '''modules''' of the list.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''man pipe '''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
Press''' q '''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| To know more about''' linux '''command go through the '''man page '''as shown.&lt;br /&gt;
&lt;br /&gt;
Type '''man space pipe '''&lt;br /&gt;
&lt;br /&gt;
Here, you get more information about''' pipe command. '''&lt;br /&gt;
&lt;br /&gt;
Likewise, explore the command '''head '''to know more.&lt;br /&gt;
&lt;br /&gt;
Press ‘'''q'''’ to exit.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Show the '''output'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''simple_module'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''16384'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Here, you can see the name of the '''module''' in this list.&lt;br /&gt;
&lt;br /&gt;
It shows memory utilised by this '''module'''.&lt;br /&gt;
&lt;br /&gt;
It indicates that the '''module '''is loaded into the '''kernel '''successfully.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''clear'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Clear the '''screen'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''dmesg | grep my_module '''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''dmesg'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''grep my_module'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''dmesg | grep my_module '''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''dmesg space pipe space grep space my_module.'''&lt;br /&gt;
&lt;br /&gt;
It displays messages from '''kernel log buffer.'''&lt;br /&gt;
&lt;br /&gt;
The''' grep''' command is used to search for lines matching a specified pattern.&lt;br /&gt;
&lt;br /&gt;
It displays the messages containing the string '''my_module''' in''' '''the''' simple_module.c'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Highlight '''my_module :''' '''inside the init function of our module '''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Here, '''dmesg '''prints the message from '''init function '''of a '''module.'''&lt;br /&gt;
&lt;br /&gt;
As a '''module''' is loaded into the '''kernel''', only '''init function '''is executed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''clear'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Clear the '''screen'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Now let us see how to unload a '''module '''from the '''kernel.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type''' rmmod simple_module.ko'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''rmmod '''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''rmmod space simple_module dot ko'''.&lt;br /&gt;
&lt;br /&gt;
This tool''' '''unloads a '''module '''from the '''kernel'''.&lt;br /&gt;
&lt;br /&gt;
Let us check this.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''lsmod | head -5 '''and press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
Show the output&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''lsmod space pipe space head space hyphen 5.'''&lt;br /&gt;
&lt;br /&gt;
Now, you can see the '''module '''name is disappeared from this list.&lt;br /&gt;
&lt;br /&gt;
It indicates that the''' module''' is unloaded from the '''kernel '''successfully.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt;''' clear'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Clear the '''screen.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''dmesg | grep my_module'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter.'''&lt;br /&gt;
&lt;br /&gt;
Show the output&lt;br /&gt;
&lt;br /&gt;
Highlight''' Inside the exit function of our module '''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Let us see the '''printk '''messages of a '''module'''.&lt;br /&gt;
&lt;br /&gt;
Type '''dmesg space pipe space grep space my_ module '''&lt;br /&gt;
&lt;br /&gt;
Now, you can see the messages from '''exit function '''also'''.'''&lt;br /&gt;
&lt;br /&gt;
As a '''module''' is unloaded from the '''kernel''', '''exit function '''is executed.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''clear'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Clear the '''screen'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Let us see the use of the '''depmod command.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''man 8 depmod'''&lt;br /&gt;
&lt;br /&gt;
Press''' Enter'''&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''man space 8 space depmod'''.&lt;br /&gt;
&lt;br /&gt;
It creates a dependency file named '''modules''.''dep.'' '''''&lt;br /&gt;
&lt;br /&gt;
This '''dependency file''' is later used by '''modprobe''' '''tool.'''&lt;br /&gt;
&lt;br /&gt;
You can get more information about '''depmod''' from it’s '''manpage.''' &lt;br /&gt;
&lt;br /&gt;
Press ‘'''q'''’ to exit.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| &lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Let us see the use of the '''modprobe''' tool.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''man''' '''8''' '''modprobe '''&lt;br /&gt;
&lt;br /&gt;
Press''' Enter'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''man''' '''space 8 space modprobe.'''&lt;br /&gt;
&lt;br /&gt;
The''' modprobe''' tool intelligently adds or removes a '''module''' from the''' kernel.'''&lt;br /&gt;
&lt;br /&gt;
Some '''modules '''depend on other '''modules'''.&lt;br /&gt;
&lt;br /&gt;
This '''tool '''automatically loads and unloads its dependent '''modules.'''&lt;br /&gt;
&lt;br /&gt;
You can get more information about '''modprobe''' tool from it’s '''manpage'''&lt;br /&gt;
&lt;br /&gt;
The '''modprobe''' expects an up-to-date '''modules dot dep file '''generated''' '''by''' '''the''' depmod.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Press q&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Press ‘'''q'''’ to exit.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''clear'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Clear the '''screen'''.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''insmod simple_module.ko'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Let us now load a '''module''' in the '''kernel '''again.&lt;br /&gt;
&lt;br /&gt;
Type '''insmod space simple_module dot ko '''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''lsmod | head -5'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Let us check a '''module''' is loaded into the '''kernel''' or not.&lt;br /&gt;
&lt;br /&gt;
Type '''lsmod space pipe space head space hyphen 5 '''&lt;br /&gt;
&lt;br /&gt;
As a '''module''' loaded into the '''kernel''' successfully, it appears here.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''clear'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''.&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Clear the screen.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''readelf hyphen h simple_module.ko'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''.&lt;br /&gt;
&lt;br /&gt;
Highlight '''.ko'''&lt;br /&gt;
&lt;br /&gt;
Highlight''' ELF Header.'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Let us see the '''ELF''' '''file''' of the '''module'''.&lt;br /&gt;
&lt;br /&gt;
Type '''readelf space hyphen h space simple_module dot ko '''&lt;br /&gt;
&lt;br /&gt;
Here''', '''the''' dot ko''' is an '''ELF''' '''file'''. &lt;br /&gt;
&lt;br /&gt;
Each''' ELF file''' is made up of one '''ELF header''', followed by '''file''' data. &lt;br /&gt;
&lt;br /&gt;
The''' elf header''' describes the overall information of the '''module dot ko file.'''&lt;br /&gt;
&lt;br /&gt;
'''ELF''' means “'''Executable and Linking Format'''”.&lt;br /&gt;
&lt;br /&gt;
It is a standard '''executable file format '''in '''Linux'''.&lt;br /&gt;
&lt;br /&gt;
Clear the screen.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''objdump -f simple_module.ko'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''-f'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''simple_module.ko'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''elf64-x86-64'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''i386:x86-64'''&lt;br /&gt;
&lt;br /&gt;
Highlight '''start address'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Let us see the information about the '''object file.'''&lt;br /&gt;
&lt;br /&gt;
Type '''objdump space hyphen f space simple_module dot ko.'''&lt;br /&gt;
&lt;br /&gt;
The''' hyphen f '''option shows our '''module’s elf header'''.&lt;br /&gt;
&lt;br /&gt;
It shows the name of a '''module, '''the '''file '''format of a '''module file'''.&lt;br /&gt;
&lt;br /&gt;
It shows the '''architecture''' of our system, and the entry point '''function’s address.'''&lt;br /&gt;
&lt;br /&gt;
For more information, go through it’s '''manpage.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''clear '''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Clear the '''screen.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''rmmod simple_module'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| To unload the''' module''' from the '''kernel''', type '''rmmod simple_module.ko'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''make clean'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type '''make clean.'''&lt;br /&gt;
&lt;br /&gt;
So all extra '''files '''will be removed from the '''present working directory. '''&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Type &amp;gt;&amp;gt; '''exit'''&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
&lt;br /&gt;
Type &amp;gt;&amp;gt; exit&lt;br /&gt;
&lt;br /&gt;
Press '''Enter'''&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| To go back to '''regular user''', type '''exit''' &lt;br /&gt;
&lt;br /&gt;
To go back to '''user login, t'''ype''' exit''' '''.'''&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 5:&lt;br /&gt;
&lt;br /&gt;
Summary:&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| In this tutorial, we learnt how to use&lt;br /&gt;
&lt;br /&gt;
* '''insmod '''tool to load a '''module'''.&lt;br /&gt;
* '''rmmod '''tool to unload a '''module.''' &lt;br /&gt;
* '''dmesg''' command.&lt;br /&gt;
* '''depmod, modprobe, objdump''' tools.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 6:&lt;br /&gt;
&lt;br /&gt;
Assignment:&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| As an assignment,&lt;br /&gt;
&lt;br /&gt;
# Open the '''simple_module.c '''file. &lt;br /&gt;
# Change the message in '''printk''' function of '''init_function.'''&lt;br /&gt;
# Load the module using '''insmod''' tool.&lt;br /&gt;
# See the output of '''dmesg''' command.&lt;br /&gt;
# Remove the module using''' rmmod''' tool&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 7:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
About Spoken Tutorial Project:&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| * The video at the following link summarizes the Spoken Tutorial project.&lt;br /&gt;
&lt;br /&gt;
* Please download and watch it.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 8:&lt;br /&gt;
&lt;br /&gt;
Spoken Tutorial workshops:&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| The''' Spoken Tutorial Project''' Team:&lt;br /&gt;
&lt;br /&gt;
* conducts workshops and&lt;br /&gt;
* gives certificates.&lt;br /&gt;
&lt;br /&gt;
For more details, please write to us.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 9:&lt;br /&gt;
&lt;br /&gt;
Forum questions:&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Please post your timed queries in this forum.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 10:&lt;br /&gt;
&lt;br /&gt;
Forum for specific questions:&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| * Do you have any general or technical questions on Embedded Linux Device Driver?&lt;br /&gt;
* Please visit the FOSSEE forum and post your question.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 11&lt;br /&gt;
&lt;br /&gt;
Acknowledgment:&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Spoken Tutorial project is funded by MHRD, Government of India.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| Slide 12:&lt;br /&gt;
&lt;br /&gt;
Thank you slide:&lt;br /&gt;
| style=&amp;quot;border:1pt solid #000000;padding:0.176cm;&amp;quot;| This tutorial has been contributed by FOSSEE and Spoken Tutorial Project, IIT Bombay. &lt;br /&gt;
&lt;br /&gt;
This is Mayuri Panchakshari signing off.&lt;br /&gt;
&lt;br /&gt;
Thanks for watching.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nirmala Venkat</name></author>	</entry>

	</feed>