Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Having taken a course in Operating Systems I'm interested in expanding my knowledge of the Linux kernel and practice working with a big system. What are some interesting but not overly difficult projects I can try my hand at?

EDIT: a bit of background on what I did do with the kernel.

  • Implemented a new scheduling policy
  • Implemented User Threads and a corresponding mutex library (not really kernel hacking but contained kernel related theory)
share|improve this question
add comment

3 Answers

up vote 4 down vote accepted

I've not done much work on kernels before (they scare me), but I've heard that http://kernelnewbies.org/ is a fantastic resource if you want to get involved in kernel work. As already mentioned SourceForge is a great place to look if you want to get involved in an open-source kernel-related project.

Also, a similar question has been asked on Stack Overflow before, so you may want to look here.

What are some interesting, small Linux kernel projects to help learn the source?

share|improve this answer
add comment

It depends on your existing background. If you are an embedded developer, you can write or improve some device driver. There aren't many other task to do in the kernel, unless you want to write a new process scheduler of course. I would suggest instead to study the existing source, it is a boring task but for a beginner it is almost the only thing to do.

share|improve this answer
add comment

SourceForge.net for 'kernel drivers' lists 2800+ projects, maybe you can find something interesting there?

SourceForge.net for 'kernel' instead of 'kernel drivers' show 1403+ projects.

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.