> Add EROFS (Enhanced Read-Only File System), a lightweight read-only file system with modern designs for scenarios which need high-performance read-only requirements, eg. firmwares in mobile phone or LIVECDs
and
> It is a experimental project, under the staging directory, and still expects to make changes to the on-disk layout.
I see it's included in the 4.19 branch of the Raspberry Pi fork of the kernel as well.
There is no public, open source mkfs utility/integration for it yet far as I can tell, but it seems from the original public announcement of EROFS on LKML that it will be released eventually.
> the open source of erofs-mkfs is _still_ in progress, it will be released as soon as the internal process ends.
That's really nice. I remember having to use Read-Only on a few Raspberry Pi projects because they have a tendency to corrupt SD cards. Getting a free storage performance boost would really improve usability for my past use cases.
I recommend only writing when it is necessary, so e.g. you might want to log to /dev/null or tmpfs (I chose the latter but it adds up in RAM). Also, disable swap if at all feasible.
On top of that I recommend industrial grade SD cards using (a)MLC. They might be a bit more expensive but it is worth the stability.
I learned this from these posts (among others in the same thread 'Raspberry Pi microSD card performance comparison') [1] [2]
Coincidentally, for those projects I did end up mounting to a tmpfs, syncing configs from a server, and writing them to a SPI flash chip with FEC. Fun to know that others suggest the same!
I was just thinking along the lines of performance improvement for the absolute garbage SD card speeds. I just remember how flipping long it would take to load a program off those things.