Resources to teach from C to Kernel Development?
Can you recommend me any books or online resources to teach a C programmer Kernel development? I can program in C but I don't really know where to go from there. I've tried the Eucalyptus challenge but it just suggests things to try. No actual tutorial.
Do you mean Eudyptula Challenge? You should definitely take a look at this book: http://lwn.net/Kernel/LDD3/ . There is a printed version that you can buy too. It is worth. If you want see the examples of the book that run in a newer Kernel version, look at this: https://github.com/duxing2007/ldd3-examples-3.x Another great resource is the Linux Kernel Source code. Dig into the code from drivers that you known and use. Read the documents in the Documentation folder of the Linux Source Code: http://lxr.free-electrons.com/source/Documentation/ Regards, On Thu, Aug 28, 2014 at 4:49 PM, Ed Holmes <ed.holmes@icloud.com> wrote:
Can you recommend me any books or online resources to teach a C programmer Kernel development? I can program in C but I don't really know where to go from there. I've tried the Eucalyptus challenge but it just suggests things to try. No actual tutorial. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
On Thu, 28 Aug 2014 20:49:01 +0100, Ed Holmes said:
Can you recommend me any books or online resources to teach a C programmer Kernel development? I can program in C but I don't really know where to go from there. I've tried the Eucalyptus challenge but it just suggests things to try. No actual tutorial.
Kernel development is a field that isn't very friendly to people who need tutorials, sorry. There's a few things like LDD3 and the Eudyptula stuff, but in general you really need to be the sort of programmer who can figure this stuff out for themselves, because APIs are *constantly* being changed, updated, and added/removed. LDD3 is pretty much as good as it gets, and even that gets outdated because we're moving along at about a million lines a release. So there's a good amount of "sink or swim" involved here.
On 14-09-02 11:37 AM, Valdis.Kletnieks@vt.edu wrote:
On Thu, 28 Aug 2014 20:49:01 +0100, Ed Holmes said:
Can you recommend me any books or online resources to teach a C programmer Kernel development? I can program in C but I don't really know where to go from there. I've tried the Eucalyptus challenge but it just suggests things to try. No actual tutorial.
Kernel development is a field that isn't very friendly to people who need tutorials, sorry. There's a few things like LDD3 and the Eudyptula stuff, but in general you really need to be the sort of programmer who can figure this stuff out for themselves, because APIs are *constantly* being changed, updated, and added/removed. LDD3 is pretty much as good as it gets, and even that gets outdated because we're moving along at about a million lines a release. So there's a good amount of "sink or swim" involved here.
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
I agree a lot with Valdis and after getting banned from the list to not doing my own work, I can state that doing your own work is very important and even more so in some- thing as complex as the Linux kernel is. Also try and find an area you are interested in and focus on that. As for me I am learning btrfs, usb and the networking stack. Mostly btrfs through :). Nick
On Thu, Aug 28, 2014 at 08:49:01PM +0100, Ed Holmes wrote:
Can you recommend me any books or online resources to teach a C programmer Kernel development? I can program in C but I don't really know where to go from there. I've tried the Eucalyptus challenge but it just suggests things to try. No actual tutorial.
These helped me get started: http://www.jamesmolloy.co.uk/tutorial_html/ or http://gnudd.com/wd/thos.pdf These are tiny kernels that you can fully understand.
participants (5)
-
Ed Holmes -
John de la Garza -
nick -
Raphael Philipe -
Valdis.Kletnieks@vt.edu