Hacker News new | ask | show | jobs
by pulsarpietro 2932 days ago
I would propose Linux Kernel Development by Robert Love. It is not for beginners though.

That could help you in applying your new C skills in writing a simple device driver/kernel module you can play with. If are really into low level stuff I would propose an Arduino board whose OS is minimal, the Linux kernel is already very complex.

Get a role in an embedded software company and you may learn it all, but some experience is required.

1 comments

Do you think I can compile linux from source, and implement a new module without knowing C++? (Coming from python)

I dont mean creating a whole functional module, but more like using an example, modifying some values, adding it to the kernel and compiling.

You will need to know the C language, not C++. As with many things you will follow an example, then another, then after a few you will walk using your own legs.

To build a module you don't need to build the kernel, but you do need the kernel headers, you will understand all this once you get to understand a bit of C language, and a bit of assembly won't hurt. Start with MIPS.

You do need a good grasp on the C language, and a lot of time.

Recompiling the kernel used to be something you just did for some things.

If you can drive the command line and a makefile you should be able to tinker, and render it unable to boot. :)