I have a WPA8630P device that has 128MB of RAM but only 8MB of Flash, which isn't partitioned generously at all! I only have ~100KB of total free space available for anything.
This device serves as just an access point and so doesn't normally need extra packages anyway, but I would like to be able to make packages like tcpdump-mini
or open-plc-utils
available from time to time. I noticed that:
- when the router boots up, the opkg lists are empty
- downloading the lists doesn't take up free space
- installing packages does take up free space
My guess is that the package lists get downloaded to RAM, and just fetched from the latest when needed. Whereas it looks like the installed packages get stored in an "overlay" filesystem that is persisted to Flash.
My question is: can I add a third overlay filesystem, but based in memory? I'm imagining a stack like:
- default root "squashfs" install
- normal tiny NVRAM "overlay"
- additional RAM "overlay" that I can turn on before (temporarily) installing bigger packages
Is it possible to (a) have a RAM-based overlay, and (b) stack up multiple overlays simultaneously? Is there a sequence of commands that would let me do this without rebooting? Or at least an example fstab that I could switch to on next boot?
(I don't want to have to roll my own image every time there's an update — I just want something I can occasionally paste in to put my root filesystem into
a temporary "steal space from RAM" mode from time to time.)