Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reduce memory footprint: TinyCore Linux, Alpine Linux, Micropython #5696

Open
mfp20 opened this issue Feb 25, 2020 · 0 comments
Open

Reduce memory footprint: TinyCore Linux, Alpine Linux, Micropython #5696

mfp20 opened this issue Feb 25, 2020 · 0 comments
Labels
C: other P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.

Comments

@mfp20
Copy link

mfp20 commented Feb 25, 2020

The problem you're addressing (if any)
QubesOS major disadvantage is resource consumption, and above all RAM utilization. This create problems for most of the potential users out there, especially the ones using laptops; considering a couple of (4GB+) internet browsing machines, those on laptops are often limited to 3-4 app VMs at max, and very little compartmentalization advantages. By using extreme resource optimized linux flavors it is possible to mitigate this problem and unleashing Qubes' full potential. The same applies for qubes specific tools written in python: micropython runs on less than 1MB of RAM.

Describe the solution you'd like
Ideally moving dom0, system VMs (net, usb), and internet browsing machines, to a musl/uclibc based distro (ex: Alpine Linux) would do the trick, but usually moving out from glibc brings to a subset of available packages, more effort to port any exotic package, and limited support from upstream distribution teams because of a smaller users number for those less popular distributions.
Moreover, Alpine linux can run from a squashfs read-only fs, overlay-ed with a read-write fs (alongside a traditional rw install); it's way more flexible (and safe) than current /rw method.
Another good optimization could be to slowly shift qubes specific tools to Micropython and get rid of libvirt (and its python tools).
But as a start introducing a TinyCore template would be enough to start experimenting and give some more juice to low-RAM systems.

Where is the value to a user, and who might that user be?
Low-spec systems, laptops, are the ones to benefit most; but I'd benefit too despite my 16 cores and 64GB of RAM, as I'd be able to increase the compartmentalization level multiplying the number of concurrent VMs.

Describe alternatives you've considered
Honestly I haven't been searching for alternatives in recent times. In the past there used to be 2-3 tiny Linux distros (ex: something like "Linux On Floppy"). Some of those could be alive.

@mfp20 mfp20 added P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality. labels Feb 25, 2020
@andrewdavidwong andrewdavidwong added this to the Far in the future milestone Feb 28, 2020
@andrewdavidwong andrewdavidwong removed this from the Release TBD milestone Aug 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C: other P: default Priority: default. Default priority for new issues, to be replaced given sufficient information. T: enhancement Type: enhancement. A new feature that does not yet exist or improvement of existing functionality.
Projects
None yet
Development

No branches or pull requests

2 participants