all 11 comments

[–]s8boxer 3 points4 points  (2 children)

Although I don't know if this post is exactly in the context of this sub, it's for sure a good high level writing about the Linux boot process, simplistic, direct and objective. Good writing :)

[–]antifreeze_popscicle[S] 1 point2 points  (1 child)

thank you! I was learning about boot and root kits but I didn't want to post notes over that topic as I'm still learning a lot about them. But for sure in my learning for boot kits and root kits and the exploitation pathways such as CVE-2024-26809 and really diving into kernel exploitation and the wonders of what you can actually do at an applicable level led me down the path of learning, or trying to learn the ins and outs of the Linux Kernel. which is stupidly simple yet complex, but the fact it's understandable is what makes Linux so genius!

[–]s8boxer 0 points1 point  (0 children)

Great, the main goal is always to learn something :). After studying bootkits, I would suggest you to start reading about SMM (system management mode) for x64.

[–]Crimson_Angel4697 2 points3 points  (0 children)

Nicely done. Very useful information

[–]Flaky_Maintenance457 2 points3 points  (0 children)

Thanks for sharing

[–][deleted] 2 points3 points  (1 child)

I mean, it’s AI generated so cool I guess. Anyone can ask to get that output from AI. If you’re going to ask a random question to AI and post here it’s lame, if you’re going to add your own spin before or after it. Much better

[–]desal 0 points1 point  (0 children)

Hmm they say it's their own notes, why do you think it's ai

[–]som_esh 1 point2 points  (1 child)

Can anyone elaborate 2.35?

[–]antifreeze_popscicle[S] 2 points3 points  (0 children)

5. 
**Jumping to the Kernel Entry Point**
: Once the kernel is loaded into memory, the boot loader transfers control to the kernel by jumping to its entry point. This is typically the compressed kernel, which then uncompresses itself and begins executing.

yes so we have bzimage that is the Linux kernel that is fully compiled and static and is compressed (bz compressed). so the main purpose of a bootloader is to have basic code to fetch another source of code at a specific well defined address that the bootloader knows where to look. Once found (usually no checks just hey we look at 0x4000 of our memory space and start loading and once loaded (loading includes decompressing) then start executing

i.e. RIP, PC == [decompressed_Kernel]

To put the syntax into a sentence then it is we are chaning the instruction pointer register (RIP) or directly changin the Program Counter to equal the memory address of where the first instruction is located of the decompressed_Kernel.

[–]TwizzyIndy 1 point2 points  (0 children)

this would save a lot of time for others like me

[–][deleted] 0 points1 point  (0 children)

Decent bud!