|
|
|
|
|
by lewis1028282
2189 days ago
|
|
Might be a bit controversial but I found writing drivers for Linux on my raspberry pi helped me understand kernels, virtual memory etc. I used Linux Device Drivers (ldd3) which is free online. The book was written for the 2.6 kernel but someone on GitHub updated the code for the latest kernels. |
|
I expect if I found a random piece of hardware that was close to an existing one that adding the driver, or updating things so that it worked on the new hardware would be possible. It's just not a situation I've come across.
What I found useful/educational was writing a simple linux security module.
1. LSMs are essentially isolated. 2. They don't care about hardware. 3. You can do lots of things with them. Even horrid evils things.
For example I put together the following module in which the kernel calls back to userspace every single time you execute a binary, to decide whether it should be permitted or not:
https://github.com/skx/linux-security-modules
(And yes, I appreciate that is almost exactly as horrid as it sounds! So much fun to hack around with though.)