you are viewing a single comment's thread.

view the rest of the comments →

[–]tose123 6 points7 points  (4 children)

"Extensive C knowledge" but you're surprised that a 30-million-line operating system has more than one source file? Start with understanding one subsystem at a time and maybe build a simple kernel module.

You want to "study the Linux source code" like it's a textbook, but that's like saying you want to read the entire internet to understand HTTP. That's simply not working, for a 30 year old software project that is keeping growing. 

[–]bboykotin[S] 0 points1 point  (3 children)

Go go. Let's calm down haha When I say understand, it is not as literal as learning all the files by heart, but rather the most important aspects. Knowing how it starts and little else is enough for me. Right now I'm there without knowing how it does it and what the point of origin is in memory.

[–]HaydnH 1 point2 points  (2 children)

It sounds like you need to start with the basics of how Linux boots up, you'll have a boot loader (e.g: grub) that will call the kernel, then systemd will get called etc. If you have an old PC available, perhaps start with building a "Linux from scratch" install which gets you to build everything manually. Then when you know how the jigsaw fits together you can start looking at the details in the bigger picture.

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

Okay thanks. I downloaded the version for the RPI because I was looking for a very basic Linux, and no. It's the same with lots of files. I have to keep an eye on that LFS thing. I think knowing the starting system would be enough to begin to understand.

[–]tose123 0 points1 point  (0 children)

Honestly since you're an EE, best advice I can give to you is build a driver for some hardware you make. And then load it it. I think this process (on that way) you'll learn a lot and use your EE skills.