12/6/2025 at 10:28:25 PM
Tiny Core Linux has a version for Raspberry Pis called piCore [0] that I wish more people would look at, because it loads itself entirely into RAM and does not touch the SD card at all after that until and unless you explicitly tell it to.Phenomenal for those low powered servers you just want to leave on and running some tiny batch of cronjobs [1] or something for months or years at a time without worrying too much about wear on the SD card itself rendering the whole installation moot.
This is actually how I have powered the backend data collection and processing for [2], as I wrote about in [3]. The end result is a static site built in Hugo but I was careful to pick parts I could safely leave to wheedle on their own for a long time.
[1]: https://til.andrew-quinn.me/posts/consider-the-cronslave/
[2]: https://hiandrewquinn.github.io/selkouutiset-archive/
[3]: https://til.andrew-quinn.me/posts/lessons-learned-from-2-yea...
by hiAndrewQuinn
12/7/2025 at 12:12:14 AM
"Tiny Core Linux has a version for Raspberry Pis called piCore [0] that I wish more people would look at, because it loads itself entirely into RAM and does not touch the SD card at all after that until and unless you explicitly tell it to."Before RPI existed, I always made filesystem images for USB sticks in NetBSD so that writes never touched "disk" ("diskless"). This allows me to remove the USB stick after boot, freeing up the slot for something else
BSD "install images" work this way
I have been using the RPi with a diskless NetBSD image since around 2012; there are no SD card writes, the userland is extracted into RAM
I can pull out the SD card after boot and use the slot for something else
If I want data storage, I connect an external drive
It's been wild to read endless online complaints from so-called "technical" RPi users for the last 13 years about SD card wear and tear
To me, it's another example of how it's possible to have a solution that is as old as the hills and have it be completely ignored in favor of a "modern" approach that is fatally-flawed
by 1vuio0pswjnm7
12/7/2025 at 5:46:46 AM
“It’s been wild to read endless online complaints from so-called ‘technical’ RPi users for the last 13 years about SD card wear and tear…”A lot of the SD-card wear issues come from people running “normal PC workflows” on a storage medium that was never designed for that pattern.
Something I’ve seen help many newcomers is simply enabling an overlay filesystem or tmpfs-based writes. It’s basically the middle ground between a full RAM-boot distro (piCore, Alpine diskless, NetBSD) and a standard SD-based Raspberry Pi OS.
You still get the normal ecosystem and docs, but almost no writes hit the card unless you explicitly commit them.
For anyone stuck between “I want something simple” and “I don’t want my SD to die,” overlays are the easiest win.
by victorbuilds
12/7/2025 at 6:39:18 AM
Tesla rather famously had issues by writing logs to SD storage.by SoftTalker
12/7/2025 at 1:15:34 AM
There is (at least) two different groups of people using Raspberry PI. One of them are completely new Linux users who need a ton of help and resources to understand enough so they can achieve what they're trying to do. Raspbian/Raspberry Pi OS, even with their faults, is probably the better option for those people, as the environment and context very much takes first time users into account.NetBSD and Tiny Core Linux, even with all their benefits, is a harder experience to get into if you haven't already dipped your toes into Linux, and doesn't have the same wide community and boundless online resources.
by embedding-shape
12/7/2025 at 10:13:11 AM
I suspect the majority of "SD corruption" on RPis is due to bad power supplies or EMI causing the system to misbehave (and write erroneous data to the card) rather than actually exhausting the card's write capacity.by Nextgrid
12/7/2025 at 11:16:23 AM
That's been my experience. The Pi 3 was notorious for killing SD cards, for instance. I know one guy who eventually just moved all Pi 3 installations he made over to USB sticks because every Pi 3 he used would just kill SD cards at random but far faster than they should have. Not many write cycles at all, just surged the cards or something.by Firehawke
12/7/2025 at 8:05:30 PM
The point I'm making is not that NetBSD is a solutionThe point I'm making is that putting the rootfs on a memory filesystem, e.g., tmpfs, mfs, etc. avoids the problem with SD cards^1
This can be done with a variety of operating systems. IMO, the advantange of the RPi hardware is that it is supported by so many different operating systems
When I want to run additional, larger programs that are not in the rootfs I have embedded into the kernel, I either (a) run them from external storage or (b) copy them to the mfs/tmpfs
It depends on how much RAM I have available
1. There are probably other ways to avoid the problem, too
by 1vuio0pswjnm7
12/7/2025 at 7:39:25 AM
I actually considered NetBSD for an old 32 bit box yesterday, so I'm somewhat wise to this world. My first experience with ramdisk operating systems was Puppy Linux back in the early 2010s. Ultimately I'm probably going with OpenBSD for that box.But, NetBSD ISOs are much heavier than TCL ISOs, and so while I'm sure there's a way to get just what I want working in diskless mode, I'm not confident I will have any RAM to run what I actually want to run on top of it.
by hiAndrewQuinn
12/7/2025 at 7:11:32 PM
Puppy Linux was pretty sweet back then, I used it for a Gecko machine for a few years until I got a vastly more powerful 'flat' netbook that arrived after those. It was a pretty nice gadget, though one had to have small and/or flexible fingers or the keyboard would have been a pain.https://www.digitalreviews.net/reviews/pc/norhtec-xcore-geck...
I've noticed Puppy is still around but I have no idea whether it can still be comparable to Tiny Core.
by cess11
12/7/2025 at 5:06:17 PM
Hi check this https://smolbsd.org/#about Also standard NetBSD ISO might not be useful do check platform specific images.by jaypatelani
12/11/2025 at 6:26:56 AM
This is really cool!!!by hiAndrewQuinn
12/7/2025 at 6:02:54 AM
What's the size of your "diskless" NetBSD installation, and how fast does it boot?As compared to TC, the "out of the box" NetBSD images contain many things I wouldn't need, so customizing it has been a recurring thought, but oh well. The documentation and careful modularity is, obviously, a huge bonus of NetBSD in that regard (even an end-user like me could do some interesting modifications of the kernel solely by reading the manual). TC seems much more ad-hoc, but I assume this, too, is intentional, by design.
by marttt
12/8/2025 at 5:01:14 AM
In 2011, TCL was 10MBAround that time the NetBSD kernels with embedded rootfs filesystem I was making were around 17MB
Today, TCL is 23MB
The NetBSD kernels with embedded rootfs I'm using today are around 33MB
That size can be reduced of course
I don't monitor the boot process on RPi with serial console, I only connect after tinysshd is running, so I don't pay close attention to boot speed. It's fast enough
TCL appears to be aimed at users that prefer a binary distribution; also it provides GUI by default
I prefer to compile from source and I only use textmode hence NetBSD is more suitable for me than TCL
For someone who does not want to compile anything from source, it is possible to "customise" (replace) the rootfs of a NetBSD install image with another rootfs. It is not documented anywhere that I'm aware of but I have done it many times
I use a very minimal userland. I guarantee few if any HN readers would be satisfied with it. If I need additional programs I either (a) mount an external drive and run the programs from external storage, e.g., via chroot, or (b) copy them from an external drive into mfs or tmpfs
It depends on how much RAM I have
by 1vuio0pswjnm7
12/7/2025 at 5:07:07 PM
Check this https://smolbsd.org/#aboutby jaypatelani
12/7/2025 at 8:46:06 PM
This appears to be new to me. Very interesting, many thanks for sharing!by marttt
12/7/2025 at 6:54:29 AM
I set up a similar system using NixOS, no writes to the disk by default.Though I don't explicitly load the entire userspace into RAM, since this is a laptop and I don't foresee a need to remove the SSD after boot.
by ycombinatrix
12/7/2025 at 7:50:10 AM
Back in the day I believe I just installed the OS on a USB stick and used the SD card only to boot of that.by jimvdv
12/6/2025 at 11:34:33 PM
Alpine also has a lesser known RPi build on their download page; by using musl instead of glibc the difference in size and resources used compared to regular distros is huge as well. https://alpinelinux.org/downloads/by squarefoot
12/7/2025 at 12:21:52 AM
I recently put Alpine with i3 on a Raspberry Pi 4 Model B and I'm super impressed with how snappy it is. I find it much better even than Raspberry Pi OS Lite.by Lyngbakr
12/7/2025 at 11:29:41 AM
Same here, I put it on two very old RPi 1 and was amazed at how low the footprint is. I wish there were images available for other SBCs as well, mostly Allwinner based ones (OrangePi, NanoPi, etc); probably I did something wrong but building them from scratch turned out more complicated than expected.by squarefoot
12/8/2025 at 11:19:06 AM
Yep, Alpine works well. A GUI can be tricky, though. And none of the RasPi tools (e.g. `raspi-config`) will run because of the different libc.So, running it on a Pi 5 CM in an IO board, there's no way to tell the Pi what device to boot from.
by lproven
12/7/2025 at 3:42:21 AM
I can vouch for it, I had an RPi that was translating a serial port to TCP/IP in a difficult to access location, and it stayed doing its duty for years, Alpine is very solid.by jwrallie
12/7/2025 at 12:29:23 PM
Important to mention: Alpine can run from RAM like TinyCoreby blueflow
12/6/2025 at 11:02:32 PM
"Phenomenal for those low powered servers you just want to leave on and running some tiny batch of cronjobs [1] or something for months or years at a time without worrying too much about wear on the SD card itself rendering the whole installation moot."Yes, this is exactly what I want, except I need some simple node servers running, which is not so ultra light. Would you happen to know, if this still all works within the ram out of box, or does this require extra work?
by lukan
12/7/2025 at 2:52:06 AM
on a pi?You can run nodejs fine on a pi with "Raspberry Pi OS Lite". In the configs, look for "Overlay File System" and enable it on the boot partition and main partition. The pi will boot from the sd card and run entirely in ram.
Be sure to run something to clear your logs occasionally or reboot once in a while or you'll run out of RAM. Still, get a quality sd card and power supply. You can get years out of a setup like this.
by fsagx
12/7/2025 at 7:30:53 AM
To my understanding TCL expects the RAM-only / diskless case unless you put in a lot of extra work not to do that. In your situation the only thing you would have to really be worried about is whether 4 GB of RAM or whatever you have is enough to fit TCL and the files for your node server and the actual programs you are trying to run with all that. It doesn't get pretty once you exceed your available RAM, be forewarned - but that's true of all programs in a sense.by hiAndrewQuinn
12/7/2025 at 3:58:45 PM
Not true. You can enable “Mount Mode of Operation: TCE/Install” where packages will be mounted off disk. See:by oso2k