2004-07-21 13:30:15 +00:00
|
|
|
<sect1><title>Where From Here?</title>
|
|
|
|
|
|
|
|
<para>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 protocol stacks (as if there's a need for that -- you'd have to dig underground 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.</para>
|
|
|
|
|
|
|
|
<para>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 Juan-Mariano de Goyeneche's <ulink url="http://jungla.dit.upm.es/~jmseyas/linux/kernel/hackers-docs.html"> list of
|
|
|
|
kernel resources </ulink>. Also, as Linus said, the best way to learn the kernel is to read the source code yourself.</para>
|
|
|
|
|
|
|
|
<para>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.</para>
|
|
|
|
|
|
|
|
<para>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.</para>
|
|
|
|
|
2005-05-27 17:04:12 +00:00
|
|
|
<para>If you'd like to contribute to this guide, please contact one the maintainers for details. As you've
|
|
|
|
already seen, there's a placeholder chapter now, waiting to be filled with examples for sysfs. </para>
|
|
|
|
|
2004-07-21 13:30:15 +00:00
|
|
|
</sect1>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!--
|
|
|
|
vim: tw=128
|
|
|
|
-->
|