by bqc on 8/22/24, 3:57 AM with 15 comments
Do I need to have knowledge of OS before understanding Linux kernal.
by hiAndrewQuinn on 8/22/24, 6:09 AM
I recommend Operating Systems: Three Easy Pieces for self study: https://pages.cs.wisc.edu/~remzi/OSTEP/
If you're going to go "top down": Take the plunge and install Linux on your home computer. Put in the time to get it working exactly at you wanted. Then read The Linux Programming Interface, which covers userland in excellent detail. Now you're ready to pierce the veil and finally start understanding the kernel.
by palata on 8/22/24, 11:33 AM
When you feel comfortable with Ubuntu, maybe try Arch Linux. You will learn a lot just by installing and configuring Arch (but you will be lost if you have no experience of Linux, hence something like Ubuntu first). Arch Linux has a very good documentation!
When you feel comfortable with Arch, try compiling packages manually. With the Arch AUR you can do that pretty easily (get a PKGBUILD and build the package). Again, that's all documented by Arch Linux!
When you feel comfortable building packages manually, maybe it's time to try Linux from Scratch: https://www.linuxfromscratch.org/. It will go one step further than the way you installed Arch Linux, and this time you will compile all the packages manually!
At this point you will have learned a lot and it will be easier to see how to move more into the kernel.
Note that this is just my opinion: maybe you can get into the Linux kernel without understanding how the Linux OSes work, but... well that's not how I would do it :-).
by vednig on 8/22/24, 1:37 PM
by brudgers on 8/22/24, 12:06 PM
https://archive.org/details/DesignUNIXOperatingSystem/page/n...
Operating Systems, Three Easy Pieces is a reasonable book about operating systems in general.
https://pages.cs.wisc.edu/~remzi/OSTEP/
If you are going to run Linux, I recommend Ubuntu as the easy path. There are good arguments for other distros. But you probably don’t need an argument.
by andrewstuart on 8/22/24, 9:04 AM
How you learn Linux depends heavily on your goals, why you are wanting to learn, what you want to do, what outcomes you’re wanting.
by djaouen on 8/22/24, 4:27 AM
Cheers.
by fractallyte on 8/22/24, 8:44 AM
by hackermailman on 8/26/24, 1:21 PM
by catanama on 8/22/24, 12:21 PM
It goal is to just go through it to familiarize yourself with different parts of the systems. There is verbose table of contents on the first page if you scroll down.
by ketanmaheshwari on 8/22/24, 7:01 PM
by rickcarlino on 8/22/24, 4:15 AM
There is also a Buildroot guide, but going low level first might be more educational.
by nesarkvechnep on 8/22/24, 2:37 PM
by eimrine on 8/22/24, 4:01 AM
by manx on 8/22/24, 5:23 PM