What is this?
As you might have experienced, OpenWRT 21+ tiny official builds don't fit on 4/32MB devices. Last easily fitting builds are 19.07 series.
But with help of simple ramdisk extroot setup, it's possible to keep at least thousands of older devices alive and well, mostly unattended like before, with at least 22.03.3, and probably for many releases to come
This solution is a simpler version of Extroot using (z)ram drive with the backup&restore option over NFS share, much thanks to @faruktezcan and other hard-working forum members, for figuring out the heavy lifting part of ramdisk extroot initialization.
How it works
My use case is to continue running simple wireless APs on these TL-WA860RE v1 devices, but you can install a quite a lot of other types of functionality before you run out of RAM.
luci-ssl (using WolfSSL, at least) unfortunately gets oom-killed during install.
Uses official imagebuilder: no need to maintain our own buildsystem (for now), and package feeds,
...all official packages are immediately installable
Builds a minimal "wired-network"-only image to boot, and connect: this still fits fine on probably most 4/32MB devices see configuration
... to fit into flash, we exclude firewall, wireless, and some other usual suspects (but big bad WolfSSL fits!).
... we include simple ramdisk extroot scripts: ram-root.sh, rc.local
On boot: TL-WA860RE v1 has about 13MB free RAM available, plenty of room to work with,
rc.localdetects connection via
ping, downloads and installs whatever you need.
... in my case
- If your device is rarely powered off, download-install-on-boot overhead is near-zero.
Let's keep electronic waste down. Let us know here if you saved a few devices with this!
Feel free to post bug reports, enhancement ideas here, or on GitHub Issues.