Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Linux Software

Getting Deep Inside the Linux Code 9

PDG asks: "I've been using Linux for several years now and find myself wanting desperately to get involved with its source code, development, and future. Fine, I've compiled a million kernels and other binaries but don't know the first place to start when trying to understand what the hell half the libraries and header files are doing, let alone dealing with the C code itself (yes, I know C fine). Are there any resources or Web sites out there which may help me in my journey to be a Linux Code Jockey?"
This discussion has been archived. No new comments can be posted.

Getting Deep Inside the Linux Code

Comments Filter:
  • There is a funny little site called the Linux Documentation Project [linuxdoc.org]

    It contains fun Guides [linuxdoc.org] that cover topics like:

    I do not know enough kernel stuff to know if they are usefull or current but maybe they'll be helpful.


    Citrix

  • I'm in a similar situation and the LKMPG seems to be the best source for detailed knowledge presented in a useful form. It has lots and lots of example modules that cover modules(duh), interrupts, device drivers, scheduling, and using the proc file system. It taught me a lot and the examples kept it interesting. Since most of the kernel is modules anyway, it seems like the LKMPG is a good place to start.

    One problem with it is that it only goes up to 2.2. I'm not sure what will change in 2.4
  • If you want to know the basics of how the kernel ticks, it might be useful to investigate the ELKS [soton.ac.uk] project [they need a shorter URL!]. They say that the subset is "small enough to be understood by one person", which I think is what you're looking for. It doesn't have all the drivers, support layers, etc. in the "real" kernel, and the internal structure may be different in important ways, but still it should help you see what's going on.

  • the kernel hackers guide is great - khg.redhat.com is where i got my first taste of the kernel. You can check out a simple driver framework that i wrote at my website (zurk.sourceforge.net) ..its a bit old (2.1.132 kernel) but it should give you a good start ..if you can understand that much, you should be able to tackle the kernel easily. kernel code is fairly simple.
  • If you want to get into BSD kernel developement, the standard recomendation seems to be "The Design and Implementation of the 4.4BSD Operating System". Its like $50 for the hardcover from amazon.com.

    I'm about to buy this myself as i'm wanting to get into OpenBSD a bit more. Does anyone else have any recomendations for BSD kernel work (books or online docs)?

    :wq
  • BSD people are more hostile toward stupid questions. And they are hostile toward linux users, just like linux users are towards BSD.

    So if you go and ask stupid questions and demand to know why Foo isnt like Foo in Linux, you'll get bitched at or ignored.

    I've been treated quite nicely by the BSD people. The IRC channels are more helpfull (as oposed to #linux on effnet). Documentation varies, FreeBSD has good documentation -- online and paper. OpenBSD leaves me in the dark a lot of times, but for the most part things are "obvious" after doing it in FreeBSD or i can look at NetBSD documentation and make proper changes. The mailling lists are great, but so are some of the Linux distrobutions (debian comes to mind).

    Too me, In general the kernel developement seems more open in the bsd's than in linux.

    But i'm biased towards BSD. (OpenBSD on my laptop, a couple freebsds lying around and one netbsd, no linux's anymore but i'm considering installing a debian again for java work).

    And finally, i'm trying my best not to Act like a newbie, ie. i dont email a mailling list saying "I'm a newbie how do i become a elite kernel hacker". Instead i'm trying to grok code and read everything i can before asking questions. "Newbie" is both a state of mind and an attitude. One is good the other is bad, i'll let you work out which is which

    :wq
  • Linux Core Kernel Commentary
    by Scott E. Maxwell
    1999

    Maxwell is a programmer for NASA's JPL. He has created a Linux internals book in the spirit of the famous Lions' Commentary on Unix printout. It is basically a select 400 pages of the kernel source plus 100 pages of the authors comments on that code.

    The author says that this is not meant to be a reference manual. I agree, and believe that well written and interesting code can indeed be regarded as literature.

  • I'll second that. Though it's based on kernel 2.2.5, it has a good blend of design and implementation details -- so you'll be able to follow 2.4 (when it appeaers) without too much trouble.

    There's more to say, but I'll save that for the review. :)

    --

  • You probably already know about it, but there is a very fine digest of the Linux kernel mailing list called Kernel Traffic available at kt.linuxcare.com [linuxcare.com]. Since most documentation tend to fall behind the actual developpement, it might be a good idea to read a few past issue to get you going. I am not a kernel hacker personnally (don't know C), but I still find KT really informative. A really good read.

Neutrinos have bad breadth.

Working...