Hey,
I could use some advice on what to do, what to read, what to mess around with, so that I could understand the Linux Kernel more. Thank you anyone who responds (unless your name is Salem)

Dani AI

Generated

Good question — the kernel is big, and the posts here already point you in the right direction. and are right that documentation matters, and is right that hands‑on work is essential; is also correct that you need a plan so the size stops feeling paralyzing. Start small and build habits that scale.

Practical, ordered approach: 1) Create an isolated lab (a VM or QEMU image) so crashes are safe. 2) Get a kernel source copy from your distro or a trusted git mirror and build a debug kernel (enable debug symbols and the few CONFIG options you need). 3) Write one tiny change: a trivial loadable module or a tiny printk/tracepoint patch, build, boot, and observe dmesg. 4) Add tracing (ftrace/perf) and, when ready, step into kgdb or use userspace eBPF tools to trace hot paths. These incremental experiments teach the build/config/debug cycle much faster than reading alone. is a good practical starting place; Bootlin has concise debugging/tracing training and notes. ()

Books and deeper reading: treat them as reference, not a linear course. The classic device‑driver primer Linux Device Drivers (LDD3) is excellent for module concepts (but dated). For a modern systems overview, Robert Love’s Linux Kernel Development explains core subsystems clearly. To follow ongoing discussions, read LWN’s kernel coverage and archives. (lwn.net)

Practical tips: focus on one small subsystem (eg. a single driver or the scheduler), use cscope/ctags and git grep to navigate, read the top‑level MAINTAINERS and Kconfig/Makefile patterns in that subtree, and watch patches and discussions on the mailing lists (LWN helps with summaries). Expect many small failures — dmesg, printk, and simple bisects are your friends.

Recommended Answers

All 4 Replies

Two sites to visit:

www.kernel.org
www.tldp.org

The kernel.org site is down presently, since the servers for The Linux Foundation were hacked recently. Hopefully it will be back up soon. The Linux Documentation project (tldp.org) is up, however, and it has a lot of tutorials, articles, how-tos, and such to help you.

TO start with you can play with some commands that would be helpful for you get a good hands and get familiar with it.
If you want to know a OS properly,first be the end user of the system,know the in and out of it.
Once you get acquainted with it you can read it from google
One preferred website: www.kernel.org

This will help you but getting a hands on is more important .

Install/download the kernel documentation (its mostly plain text files) and take a peek. I did this, for example, to work out how to use Joystick.h in my c++ app. - Thats the kernel gamepad/joystick libary in linux.

well, Kernal is Huge, and will need a long study,

It is very confusing if you dont know where to look,
I am trying to learn it, but there are too many files.
The problem If you like to modify it to serve you well, you need to know what or which file need to be changed, and which not

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.