2008/5/4 <ravisagar@xxxxxxxxx>: > Sorry for asking this stupid question. I don't know how to search archive > mailing list. > > I want to learn Linux Kernel Programming. I have books like Understanding > the Linux Kernel, Linux Kernel Development and The Linux Kernel Module > Programming, but I don't know how to start. Should I play with my existing > Kernel or should I install another Linux using Virtualization? > > These books are great but I am kinda confused. What is the best way to > understand Kernel Programming Practically? > My advise would be to start by trying to fix some bugs. There are plenty to go around and fixing bugs is a great way to learn since you need to understand (and thus learn) the code surrounding the bug in order to fix it properly, so it usually teaches a lot. Submitting small bug fixes is also a great way to get comfortable with submitting patches etc. Finding bugs to fix is easy; Build a bunch of 'randconfig' kernels and log the output from the build. Building some 10-20 randconfig kernels usually exposes plenty of warnings and errors during the build. Fixing some of those should keep you busy for a while. Sign up with Coverity (http://www.coverity.com/) to get access to the results of their regular runs of Coverity Prevent against the kernel source (). Their static analysis of the kernel source finds many bugs that need fixing. Lots of good work there that needs doing. Run the 'sparse' tool (http://www.kernel.org/pub/software/devel/sparse/) against the kernel source and evaluate the problems it finds. Try and fix any real problems it reports. Go through the kernel Bugzilla (http://bugzilla.kernel.org/) and see if you can fix any of the many bugs filed in it. There's a metric butload of bugs filed in there that need attention. Grep the kernel source for "FIXME", "XXX" and similar comments. They often describe areas of the code that has known bugs, could be optimized, needs review etc. Lots of work to do can be found that way. Look through the Kernel Janitors TODO list (http://kernelnewbies.org/KernelJanitors/Todo) for items of interest, then try to fix some of the issues on the list. Naturally there's also other work that can be done, like writing a driver for some, currently unsupported, hardware etc, but I'd recommend you get your feet wet with bugfixing first :-) -- Jesper Juhl <jesper.juhl@xxxxxxxxx> Don't top-post http://www.catb.org/~esr/jargon/html/T/top-post.html Plain text mails only, please http://www.expita.com/nomime.html -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ