</para>
</foil>
+<foil>
+<title>Building Linux</title>
+<para>
+But, first, we will build Linux. The procedure is configuring, building and
+installing. Try <screen>make help</screen>.
+</para>
+</foil>
+
<foil>
<title>Requirements</title>
<para>
<foil>
<title>Init and Exit Functions</title>
<para>
-We use <emphasis>module_init</emphasis> and <emphasis>module_exit</emphasis> to
-declare our init and exit functions.
+We use <emphasis>module\_init</emphasis> and <emphasis>module\_exit</emphasis>
+to declare our init and exit functions.
</para>
</foil>
<foil>
<title>Init and Exit Functions</title>
<para>
-The <emphasis>__init</emphasis> and <emphasis>__exit</emphasis> marks allow the
-kernel to remove them when they are not needed, reducing memory consumption.
+The <emphasis>\_\_init</emphasis> and <emphasis>\_\_exit</emphasis> marks allow
+the kernel to remove them when they are not needed, reducing memory consumption.
</para>
</foil>
</para>
</foil>
+<foil>
+<title>License and taint</title>
+<para>
+<emphasis>MODULE\_LICENSE</emphasis> is highly recommended. A free software
+license should be used, otherwise the kernel is tainted. This indicates to
+developers that something has gone wrong, and some bug reports are ignored some
+times.
+</para>
+</foil>
+
<foil>
<title>Building</title>
<para>
</itemizedlist>
</foil>
+<foil>
+<title>Module parameters</title>
+<para>
+Besides <emphasis>MODULE\_PARM\_DESC</emphasis> to inform user about the
+parameter, we must use <emphasis>module\_param</emphasis>.
+</para>
+<screen>
+module_param(name, type, perm);
+</screen>
+</foil>
+
</slides>