<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <!--Converted with LaTeX2HTML 98.1 release (February 19th, 1998) originally by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds * revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan * with significant contributions from: Jens Lippmann, Marek Rouchal, Martin Wilck and others --> <HTML> <HEAD> <TITLE>Where From Here?</TITLE> <META NAME="description" CONTENT="Where From Here?"> <META NAME="keywords" CONTENT="mpg"> <META NAME="resource-type" CONTENT="document"> <META NAME="distribution" CONTENT="global"> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1"> <LINK REL="STYLESHEET" HREF="mpg.css"> <LINK REL="next" HREF="node30.html"> <LINK REL="previous" HREF="node28.html"> <LINK REL="up" HREF="mpg.html"> <LINK REL="next" HREF="node30.html"> </HEAD> <BODY > <!--Navigation Panel--> <A NAME="tex2html730" HREF="node30.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> <A NAME="tex2html726" HREF="mpg.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> <A NAME="tex2html720" HREF="node28.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> <A NAME="tex2html728" HREF="node1.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> <A NAME="tex2html729" HREF="node34.html"> <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> <BR> <B> Next:</B> <A NAME="tex2html731" HREF="node30.html">Goods and Services</A> <B> Up:</B> <A NAME="tex2html727" HREF="mpg.html">Linux Kernel Module Programming</A> <B> Previous:</B> <A NAME="tex2html721" HREF="node28.html">Changes between 2.0 and</A> <BR> <BR> <!--End of Navigation Panel--> <H1><A NAME="SECTION001700000000000000000"> </A><A NAME="where-to"> </A> <BR> Where From Here? </H1> <P> I could easily have squeezed a few more chapters into this book. I could have added a chapter about creating new file systems, or about adding new protocols stacks (as if there's a need for that -- you'd have to dig under ground to find a protocol stack not supported by Linux). I could have added explanations of the kernel mechanisms we haven't touched upon, such as bootstrapping or the disk interface. <P> However, I chose not to. My purpose in writing this book was to provide initiation into the mysteries of kernel module programming and to teach the common techniques for that purpose. For people seriously interested in kernel programming, I recommend the list of kernel resources in <TT>http://jungla.dit.upm.es/~ jmseyas/linux/kernel/hackers-docs.html</TT>. Also, as Linus said, the best way is to learn the kernel is to read the source code yourself. <P> If you're interested in more examples of short kernel modules, I recommend Phrack magazine. Even if you're not interested in security, and as a programmer you should be, the kernel modules there are good examples of what you can do inside the kernel, and they're short enough not to require too much effort to understand. <P> I hope I have helped you in your quest to become a better programmer, or at least to have fun through technology. And, if you do write useful kernel modules, I hope you publish them under the GPL, so I can use them too. <P> <HR> <!--Navigation Panel--> <A NAME="tex2html730" HREF="node30.html"> <IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_motif.gif"></A> <A NAME="tex2html726" HREF="mpg.html"> <IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_motif.gif"></A> <A NAME="tex2html720" HREF="node28.html"> <IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="previous_motif.gif"></A> <A NAME="tex2html728" HREF="node1.html"> <IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents_motif.gif"></A> <A NAME="tex2html729" HREF="node34.html"> <IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index" SRC="index_motif.gif"></A> <BR> <B> Next:</B> <A NAME="tex2html731" HREF="node30.html">Goods and Services</A> <B> Up:</B> <A NAME="tex2html727" HREF="mpg.html">Linux Kernel Module Programming</A> <B> Previous:</B> <A NAME="tex2html721" HREF="node28.html">Changes between 2.0 and</A> <!--End of Navigation Panel--> <ADDRESS> <I></I> <BR><I>1999-05-19</I> </ADDRESS> </BODY> </HTML>