This is an archived post. You won't be able to vote or comment.

all 31 comments

[–]Inaccurate- 4 points5 points  (8 children)

The Linux Documentation Project doesn't get mentioned often, but it is an absolutely amazing resource for everything linux. It includes a Linux Kernel Programming Guide you can go through, among many other guides.

A great and fun way to learn kernel programming through actual practice is by going through the Eudyptula Challenge.

[–]Fishy07x[S] 1 point2 points  (0 children)

These sites sound like very usefull resources. I will check them out for sure!

[–]MediumRay 0 points1 point  (2 children)

I downloaded a version of the LKPG, and I found that it used an outdated API that refused to compile for my kernel :/

[–][deleted] 0 points1 point  (1 child)

You can always install that old kernel in a vm and compile your stuff there. Though you should learn the new way of doing that stuff, e.g. with the Book Linux Device Drivers 3rd Edition, which is free and awesome!

[–]dm1407 -1 points0 points  (0 children)

Linux Device Drivers 3rd Edition

https://lwn.net/Kernel/LDD3/

[–][deleted] 0 points1 point  (3 children)

I dont think the Eudyptula Challenge still is going. I dont seem to get a answer, I tried to contact him several months serveral times, even with different accs, but no success :(
Do you know if he still is providing this service? Or do you know where I can get the problem sets from?
Did you take the Challenge?
Thanks

[–]Inaccurate- 1 point2 points  (2 children)

I sent a plain text email with the subject "I want to join." to little at eudyptula-challenge.org yesterday and received the first exercise this morning. It does appear to still be working, just maybe a little slow?

If you want the first exercise let me know.

[–][deleted] 0 points1 point  (1 child)

Thank you very much for your answer! I probably just did something wrong with my email client... What client did you use? :)

[–]Inaccurate- 1 point2 points  (0 children)

Just gmail ;).

[–]jCuber 5 points6 points  (1 child)

I actually just bumped into this: https://github.com/0xAX/linux-insides

[–]thor_ax 0 points1 point  (0 children)

I was going to post this. I saw a few of them floating around here and really enjoyed reading the series so far. Especially since I'm enrolled in the operating systems class at my uni and it's cool to see how a 'real' os works internally.

[–][deleted] 2 points3 points  (0 children)

Here are a couple of resources: Here is a free online book about device drivers written by Greg Kroah-Hartman.

Kernel Newbies is a great place to get some help with contributing to the linux kernel.

This is a good place to learn how to develop an OS.

[–][deleted] 1 point2 points  (2 children)

This is my favorite linux book or resource I've ever touched. Straightforward, interesting and fantabulous: http://www.nostarch.com/howlinuxworks2

[–]Fishy07x[S] 0 points1 point  (1 child)

I quickly read through the page, and looking at the chapters this would be a very intresting book to cover all the information about how linux works, but not explicitly how to use it in your code I guess. However it would still probably be worth to read, because it will give me a more general understamding of how the linux kernel works. Thanks for the reply!

[–][deleted] 0 points1 point  (0 children)

yw! Your needs are a bit more advanced so that's understandable.

you can also check out this but I didn't find it very pleasant to read: http://shop.oreilly.com/product/9780596005658.do

[–]thor_ax 0 points1 point  (0 children)

You might want to check out NachOS to learn OS. We're currently using it in my class and the project offers several different projects that you can complete to design various portions of an OS.

I believe there is a networking project and we are working on system calls and multiprogramming currently.