[Tails-dev] Making the system partition bigger

Delete this message

Reply to this message
Author: intrigeri
Date:  
To: tails-dev
New-Topics: [Tails-dev] Please review'n'merge feature/bigger-system-partition [Was: Making the system partition bigger]
Subject: [Tails-dev] Making the system partition bigger
Hi,

tl;dr: I propose newly created Tails system partitions are 2.5GB large.

Someone who installed 0.17 (late February, 851MB), and would have updated
via IUK for 6 months, would have gone through:
    * 0.17.1_to_0.17.2.iuk    150MB
    * 0.17.2_to_0.18.iuk    174MB
    * 0.18_to_0.19.iuk        166MB
    * 0.19_to_0.20.iuk        206MB
    * 0.20_to_0.20.1.iuk    195MB


Total = 891MB of IUK + 851MB initially installed = 1742MB
that is 2.05 times the size of the initial install.

Also, this does not account for I2P updates, that will happen
basically on every Tails release (if we keep it, that is if we find an
active maintainer inside Tails, assuming the Debian packages
maintenance itself is taken care of externally). Unfortunately, our
last I2P updates are mixed with various other large changes, so it's
hard to know how much we should account for it. To be on the safe
side, let's assume all files in i2p-router are replaced, which adds
around 9MB to each IUK. Count five of these, and we're now at 1787MB,
that is 2.1 times the size of the initial install.

Our Wheezy images are quite bigger (6.5%) than current stable builds.
To be on the safe side, we should assume that the IUK size will be
bigger too. Current Wheezy (868MB) + I2P (45MB) = 913MB, so the space
needed after 6 months of incremental updates should be in the order
of 1917MB.

To this, one should add the temporary space needed by the IUK
installation process; that is, at least at some time in the process,
three times the size of the IUK being installed. Worst case, that adds
(206 + 9) * 1.065 * 2 = 458MB.

So:

  * With our current 1.5GB system partition, even installing *one* IUK
    on top of a Wheezy ISO is likely to fail in most cases (our
    incremental updater will soon be checking this before it downloads
    the IUK, but still).


  * If we want to support the "incremental updates during 6 months,
    full update once a year only" (which I think would be an awesome
    UX improvement), then we need the system partition to be at least
    2375MB large. However, I'd rather avoid going through this when we
    move to Jessie, so let's assume it adds another 6.5% --> 2529MB.


Then, I hereby propose we make newly created system partitions 2.5GB,
and recommend the use of 4GB USB thumb drives or larger.

If someone cares that much about supporting smaller USB sticks, then
they're welcome to add a way to pick a custom system partition size,
without cluttering the UI by default (e.g.
a --customize-system-partition-size command-line switch that adds the
necessary widgets would be fine).

To end with, all this should be taken with a grain of salt: I must say
I've not tested booting Tails with several IUK piled upon each other
yet: our initial goal is still to support incremental updates for
point-releases only, and have users do a full update every 3 months
when a major release is out. But even if we only want to support *one*
IUK, we'll have to move to something bigger than 1.5GB anyway.

Cheers,
--
intrigeri
| GnuPG key @ https://gaffer.ptitcanardnoir.org/intrigeri/intrigeri.asc
| OTR fingerprint @ https://gaffer.ptitcanardnoir.org/intrigeri/otr.asc