this post was submitted on 05 Dec 2025
39 points (100.0% liked)

Linux

59972 readers
432 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 6 years ago
MODERATORS
 

I’ve been working on a "Linux Inside Out" series and wrote a post that might interest folks here who like low(ish)-level / OS internals.

The idea is to dissect the components of a Linux OS, layer by layer, and build a mental model of how everything fits together through experiments.

The first part is about the kernel, in the post I:

  • take the same kernel image my distro boots from /boot
  • boot it directly with QEMU (no distro, no init system)
  • watch it panic
  • write a tiny Go program and use it as PID 1
  • build a minimal initramfs around it so the kernel can actually start our process

The goal isn’t to build a real distro, just to give a concrete mental model of:

  • that the Linux kernel is just a compressed file, you can boot it
  • without anything else
  • what the kernel actually does at boot
  • how it hands control to userspace
  • what PID 1 / init is in practice
  • what is kernel space vs user space

Link: https://serversfor.dev/linux-inside-out/the-linux-kernel-is-just-a-program/

I’m the author, would be happy to hear from other devs whether this way of explaining things makes sense, and what you’d add or change for future posts in the series.

Hope you find it useful.

top 4 comments
sorted by: hot top controversial new old
[–] Klumz@feddit.dk 2 points 1 hour ago

Very cool guide, got the kernel running! Looking forward to your next post!

[–] Hyunta@discuss.tchncs.de 4 points 2 hours ago

It's pretty cool and a nice way to discover the kernel!

[–] rubdos@lemmy.zip 3 points 2 hours ago

Cool! Looking forward to the next post. I'd love to learn about how the kernel and initramfs work together though. For now the magic seems to be in how qemu strings things together.

[–] ch00f@lemmy.world 1 points 2 hours ago

You got a subscriber! Looking forward to more.