pull down to refresh

Last week, I built a tiny Linux system from scratch, and booted it on my laptop!

Here’s what it looked like:

Let me tell you how I got there.

I wanted to learn more about how the Linux kernel works, and what’s involved in booting it. So I set myself the goal to cobble together the bare neccessities required to boot into a working shell.

In the end, I had a tiny Linux system with a size of 2.5 MB, which I could boot from a USB stick on my laptop!

What you’ll get out of this article:

  • A better understanding of what happens when your computer boots Linux.
  • What terms like bzImage, initrd and UEFI mean.
  • Ideas for how to deal with the problems that I encountered.
  • And if you haven’t used Nix, it might be interesting to see how I used it to manage the tools and libraries I needed.

Nice Framework btw

reply

Very cool post man!

reply

Very nice! Small is beautiful, isn't it?

Are you familiar with ELKS, the Embeddable Linux Kernel Subset? You might find it interesting/helpful.

ELKS is a project providing a Linux-like OS for systems based on the Intel IA16 architecture (16-bit processors: 8086, 8088, 80188, 80186, 80286, NEC V20, V30 and compatibles). Such systems are ancient computers (IBM-PC XT / AT and clones) as well as more recent SBCs, SoCs, and FPGAs. ELKS supports networking and installation to HDD using both MINIX and FAT file systems.

reply