Overview
I have created a framework and prototype toolchain for building Alpine Linux desktop environments that run entirely from RAM. At today's RAM prices, however, it would be beneficial to have the ability to run from a read-only backing store using SquashFS as an alternative. The toolchain should also be rewritten in Python to make it easier to read and maintain in the long run.
Since most existing Linux live environments already use SquashFS, plenty of examples are available. The main challenges with this project will be to understand my existing Bourne/Almquist shell code and find pragmatic Python idioms to replace convenient shell script expressions. Once an initial version has been created, it will be possible to change the underlying Linux distribution or even to compile the target system from source.
Related Research Projects
Live systems that run from RAM or SquashFS are immutable, meaning that any changes to the installed system do not persist past a reboot, if such changes are even allowed in the first place. Immutable systems have nice properties for security and privacy work. For example, when handling many types of malware, an immutable system is self-cleaning (by simply rebooting) if it becomes infected. On the privacy side, an immutable system doesn't save forensically recoverable artifacts that the user didn't intend to save.
An ability to create customized live systems on demand would enable further research into making environments that are hardened against both security and privacy threats. The ultimate level of hardening could be achieved if the target system could be compiled from source with only those libraries and features required by the system's deployment mission.