login
Header Space

 
 

how to leanrn kernel programing

June 19, 2008 - 2:23am
Submitted by Anonymous on June 19, 2008 - 2:23am.
Linux

hai every body.i want to involove into the linux kernel programing.i have 3 years experience in embedded systems on microcontrollers. i am using keil IDE. give suggestions.

x

June 19, 2008 - 3:21am
Anonymous (not verified)

why don't you just tell us your A/S/L and leave the kernel aside...

Try checking out kernel

June 19, 2008 - 12:01pm

Try checking out kernel newbies. They have a great deal of information on how to start contributing to the Linux kernel.

Get your hands dirty

June 20, 2008 - 3:47am

I suggest the following steps:

  1. Decide which part of the Linux kernel to explore (e.g., filesystem, networking, etc.)
  2. Have in mind why you want to explore and decide what to look for (e.g., how to create a networking suite from scratch)
  3. Get a source code browser application (e.g., cscope)
  4. Start navigating from the simplest available code for the part that you want to explore (e.g., IPX code instead of INET code for the networking part)
  5. Navigate the code through a particular flow that you want to know (e.g., in the networking part, how the IPX code send data from the user-space applications down to the wire)
  6. Keep in mind that the Linux kernel is multi-threaded and you have to be aware about the context-of-execution as well as the locking mechanisms used (see Rusty's Guides, particularly Unreliable Guide To Hacking The Linux Kernel and Unreliable Guide To Locking, for details)
  7. Keep in mind that some functions are registered as callback functions so that sometimes you will find the the chain of processing is cut short somewhere during the navigation of the process flow (e.g., you cannot find the definition of a particular function with cscope because it calls the registered callback function)

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
speck-geostationary