10 ms·
Learn How to Contribute to the Linux Kernel: Take the Eudyptula Challenge
- ElliotH 13y agoI've been wanting to do something like this for ages. I haven't had a reply back to my sign up email yet, but soon I assume. What might be really good is if other projects in Linux ran similar courses. The larger projects are inspiring to take part in, but have learning cliffs more than learning curves.
- IgorPartola 13y agoDid you by chance send the email as HTML? The FAQ says they reject those outright.
- kasbah 13y agoIt will tell you if it has not accepted your email and why.
- ElliotH 13y agoIt came through eventually.
- middleclick 13y ago"Please note, all HTML-formatted email will be merrily rejected, please fix your email client to not send HTML email if you wish to do this challenge. Linux kernel mailing lists reject HTML email and so do we." Oh boy!
- shreyasathn 13y agoHow much time does it take to get a first reply? I had sent an email to join this challenge but still haven't received a reply. Note: I sent an email via gmail (plaintext mode)
- ElliotH 13y ago15 minutes maybe?
- microwise 13y agoA good step taken by the Linux Foundation. I think I'll join the project, it a nice way to rank myself...
- deleted 13y ago[deleted]
- revelation 13y agoThe main reason in my experience is the complete and utter lack of documentation. It's a bunch of text files that alternatively tell you intricate details about some architecture that died 20 years ago or boast their genius. Linus likes his C code groomed a particular way, but he doesn't mind if you omit the documentation for that subsystem rewrite. That's why they call it kernel hacking.
- DSMan195276 13y agoI would agree. I've wanted to get into Linux kernel development but there's a huge knowledge barrier. (And admittedly, I do have lots to learning that I'm working on learning now before I can really start contributing code). The biggest issue I found is that Ex. stuff from 5 years ago may or may not be relevant, and it's almost impossible to figure out if that's the case besides digging through the code and mailing list. The ./Documentation folder does hold some good stuff, but it's hard to find things and there's no guarantee it actually still applies or if there have been subtle changes.
- CraigJPerry 13y agoI believe this guide is pretty much the most highly rated and is still current: https://github.com/gregkh/kernel-tutorial https://github.com/gregkh/kernel-tutorial
- awda 13y agoRight. There is a lot of old / stale / bad material out there from 2.6, 2.4, and even earlier kernels... that just doesn't apply or work anymore in 3.x. It's frustrating.
- jokoon 13y agoI guess microsoft programmers sort of work the same way. Although I'm not sure about how they manage the coding of their kernels.
- adestefan 13y agoUse the source, Luke. I'm not usually one to trot out that line, but I've found it is the simplest way to figure out what's going on. Most subsystems are pretty straight forward. The only really hairy place is the scheduler. That's after mucking with most of the device model, ARM specific bits, and networking stack.
- awda 13y agoI finished this, but I still have no idea where I can actually help (aside from janitorial code cleanups and some vague notion of improving the documentation).
- IgorPartola 13y agoNo idea if this is actually a good place to start, but there is the Bugzilla: https://bugzilla.kernel.org/describecomponents.cgi https://bugzilla.kernel.org/describecomponents.cgi
- WasimBhai 13y agoYou finished with all the tasks? They said that at the end you will be maintaining a subsystm.
- awda 13y agoThey are exaggerating :).
- julian25 13y agoI'm curious to know more too. I am a little over halfway done and want to see where the challenges end up. Can you give me some more detail?
- awda 13y agoYou end up adding a minor feature to the FAT filesystem.
- pronoiac 13y agoUbuntu offers a guide to fetching the appropriate software dependencies for a build environment, kernel source and configs: https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
- tinalumfoil 13y agoFrom the blog post: > You need a strong knowledge of C in order to participate From the website: > A basic understanding of the C programming language is required
- jilted 13y agoIn the book "Systems Performance" by Brendan Gregg, there is a section on Kernels--in this case comparing Linux to Solaris--where the author shows a table of Kernel Versions with Documented Syscall Counts. He states: '...there is a pattern over time: Linux has been adding system calls. Solaris has been removing them...' Just as a matter of personal opinion, I would personally never jump into Linux Kernel Development simply because I feel there are already 'too many cooks in the kitchen' and it feels as if there is simply not as much clarity when compared to other *nix distributions. Do I work with Linux? Yes, because this is what is used in my workplace. Would I hack on the Linux Kernel or Network Stack for work purposes? Sure, because it would likely be a group effort to address some problem for instance. Now would I go home and hack on the Linux Kernel for fun and understanding? Absolutely not.