Dear Taha... > But at the end of the day, I judge my progress with the mailing > list and I find myself struggling... relax, that's what we call "learning curve" :) Someone did it as fast as Neo, other...well, as slow as "escargot" (the latter is how I categorize myself :) ). So, unless you live inside The Matrix where everything is injected into your brain and 5 minutes later you can do drunken kungfu flawlessly inside the virtual dojo, you must accept that we learn it slowly :) I do suggest to do all these kind in more or less equal: 1. read books, first start with "easy one" like Linux Kernel Development, the go to the "hard one" like Understanding the Linux kernel. between that, spend some times to read hardware related documents such as Intel System Developers manual. Between those long hour of reading, you must be ready to accept some concepts AS IS first, rather than go back and forth between books and finally find yourself inside total chaos. Use pencil and paper to write down some terms or draw a diagram. Sometimes it is best to combine audio, visual and motoric concept when learning something 2. Discussion really helps. Participate in everything that interests you. Of course, you will get confused initially, but this is normal. read how others reply, ask yourself why they answer like that. Cross check their answers with the fact you get from those books. If you feel they are wrong or want to add something, jump in and participate. Like the old proverb says "the more the merrier" :) 3. Do some experiment. Create a patch (even silly one), test it, browse some codes (cscope and lxr really help here). Afraid to crash your machine? relax, UML, Qemu, bochs, xen etc etc are ready to save your day. gdb and ddd are your friend when you want to do debugging. familiarize yourself with "oops" message because once during your kernel career, you will likely face it and fix the bug. Through experiment, what you get from books and HOWTOs can be "confirmed". remember that Linux kernel is a fast moving beast. Within days, something is added or changed, so be ready to adapt. "Those who afraids to try, are already failed" So, don't be a coward, show to the world that you're a real man :) (that makes the girls forbidden to touch the kernel since they will turn into male? :))) ) 4. Share what you know with other. Wiki, IMHO, is the best way to go. Blog is helpful, like gaurav did. Fortunately, Kernelnewbies has a wiki too :) 5. Have some fun :) It's like riding a roller coaster. Sometimes you are on your feet, sometimes the feet are on your head :) Jump into IRC channel such as #kernelnewbies where we hang around and chat about our daily life. There, you will meet people "personally". 6. read LWN or kerneltrap to find out what's new in the kernel world. 7. Ok, what is rule number 7? :)) regards, Mulyadi -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/