Ancestors

Toot

Written by blinry on 2025-01-21 at 16:20

Last week, I built a tiny #Linux system from scratch! πŸ§πŸ”§

It consists of the bare minimum required to boot into a shell on real hardware. I learned a ton about what terms like bzImage, initrd and UEFI mean!

Let me show you how I did it, step by step:

https://blinry.org/tiny-linux/

=> More informations about this toot | More toots from blinry@chaos.social

Descendants

Written by hexaheximal on 2025-01-21 at 16:27

@blinry this is quite an interesting approach!

one thing I would suggest is using busybox's init system - it lets you get to a somewhat usable system with a tty login prompt using just a few files (/etc/inittab and some files in /etc/init.d)

=> More informations about this toot | More toots from hexaheximal@mastodon.social

Written by blinry on 2025-01-21 at 16:29

@hexaheximal Oh, that seems very useful!

=> More informations about this toot | More toots from blinry@chaos.social

Written by allison on 2025-01-21 at 16:28

@blinry this is so cool! thank you for sharing your notes!

=> More informations about this toot | More toots from aparrish@friend.camp

Written by blinry on 2025-01-21 at 16:34

@aparrish Glad you enjoyed it! :)

=> More informations about this toot | More toots from blinry@chaos.social

Written by Ariel on 2025-01-21 at 16:32

@blinry thank you Blinry, very cool.

=> More informations about this toot | More toots from arichtman@eigenmagic.net

Written by BenBE on 2025-01-21 at 16:37

@blinry TinyLinux for a TinyHouse … ;-)

=> More informations about this toot | More toots from benbe@social.chaotikum.org

Written by yetzt on 2025-01-21 at 16:59

@blinry blinrux.

=> More informations about this toot | More toots from yetzt@yetzt.me

Written by Shell :fedora: on 2025-01-21 at 17:17

@blinry I mean, in my opinion, we should just use toasters. Laptops are bloat! /s

=> More informations about this toot | More toots from shellheim@social.linux.pizza

Written by Shakil Akhtar πŸ‡ΈπŸ‡¦ πŸ‡΅πŸ‡Έ on 2025-01-21 at 18:16

@blinry Very nice work!! Thanks for taking the time to share you experience with us.

πŸ‘ πŸ‘ πŸ‘

=> More informations about this toot | More toots from shakil_tcs@mstdn.starnix.network

Written by sadmin on 2025-01-21 at 18:22

@blinry thanks, I didn't think it would be relatively easy

=> More informations about this toot | More toots from sadmin@social.tchncs.de

Written by skalabyrinth on 2025-01-21 at 18:39

@blinry Doing such a thing always was my dream!

(but ... well ... I have too little ressources)

=> More informations about this toot | More toots from skalabyrinth@chaos.social

Written by draeath on 2025-01-21 at 19:11

@blinry if you ever want to peek further down the rabbit hole:

=> More informations about this toot | More toots from draeath@infosec.exchange

Written by Momo on 2025-01-21 at 19:47

@blinry

Oh, now I have a flashback to back in the days when I was running Gentoo and wrote my own initrd to do some disk encryption because back in the days there was no dracut that just makes you one... Good job getting this running. You probably figured out yet what you need to activate in the kernel to get network support? πŸ˜‰

=> More informations about this toot | More toots from momo@social.linux.pizza

Written by Daniel aka CyReVolt 🐒 on 2025-01-21 at 21:25

@blinry That is what we created https://u-root.org for. It simplifies the whole initrd build thing, offers all the commands you know from Unix/Busybox/... and includes a versatile collection of bootloaders. We use it in many places as firmware. No need for UEFI whatsoever. :-)

=> More informations about this toot | More toots from CyReVolt@mastodon.social

Written by SpaceLifeForm on 2025-01-21 at 23:59

@blinry

How tiny?

I built a 1.44MB floppy with 5K of writeable storage.

Linux 2.4.18 (Iirc), Minix FS, Busybox, uClibc, legacy grub, a couple of NIC drivers, CDROM support.

I actually used it to rescue a headless router.

I still have it. Still works fine on old kit.

[#]Linux

=> More informations about this toot | More toots from SpaceLifeForm@infosec.exchange

Written by Rua on 2025-01-22 at 10:37

@blinry It's so tiny I can't read it. :blobfoxmlem:

=> More informations about this toot | More toots from ruawhitepaw@chitter.xyz

Written by 🌸 lily πŸ³οΈβ€βš§οΈ :flag_pansexual: :flag_ace: ΞΈΞ” ⋐ & ∞ on 2025-01-22 at 10:39

@blinry@chaos.social i should try this again because i tried it about 5 times and it never worked

=> More informations about this toot | More toots from tauon@possum.city

Written by Daniel Bohrer on 2025-01-22 at 10:55

@blinry great writeup! I like the bottom-up approach! And I didn't know that qemu can do UEFI too!

As a bootloader you could try barebox (it's open source, and has a "menuconfig" too), which can be run from UEFI: https://www.barebox.org/doc/latest/boards/efi.html

If I remember correctly, you can just put it as EFI/BOOT/BOOTx64.EFI on the system partition and UEFI will boot it by default. (Although writing that, that might even work with the bzImage directly too…?)

=> More informations about this toot | More toots from daniel_bohrer@chaos.social

Written by Daniel Bohrer on 2025-01-22 at 10:59

@blinry regarding the futex bug in ping, you might have to enable the FUTEX symbol in the kernel menuconfig.

=> More informations about this toot | More toots from daniel_bohrer@chaos.social

Written by aziz on 2025-01-22 at 12:46

@blinry Great article. Much less daunting that LFS.

=> More informations about this toot | More toots from aziz@functional.cafe

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113867255078428336
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
416.812749 milliseconds
Gemini-to-HTML Time
3.516407 milliseconds

This content has been proxied by September (3851b).