What size should the A and B partitions be? I can’t think of any reasonable way to size them that is also future-proof. Android had the same problem, and they solved it by using device mapper. Unfortunately, I doubt LVM meets our security goals, which means a whole new userspace implementation would be required. That would not be fun, especially since a bug would require a reinstall to correct. Other image-based Linux distros generally don't have this problem because they use filesystem or ostree snapshots, rather than separate partitions. Chromium OS has a whole team of paid developers, so I think they can deal with constraints a bit better than we can :). One horrifying worst-case option is to add a file on the user data partition, create a loop device based on it, and then add it to the dm-verity table. I really don't want to do that if there is any other option, though. -- Sincerely, Demi Marie Obenour (she/her/hers)
Demi Marie Obenour <demiobenour@gmail.com> writes:
What size should the A and B partitions be? I can’t think of any reasonable way to size them that is also future-proof.
I think we need to just do our best estimate, erring on the side of them being larger, and I don't think we'll even be in a position to estimate that until we've done work on minimizing dependencies etc., but obviously we will need to come up with an answer to this before we start encouraging people to install an image. If we pick too big, will we be able to shrink them later for new installs? Will it be possible for space-constrained users to manually partition with smaller sizes?
Android had the same problem, and they solved it by using device mapper. Unfortunately, I doubt LVM meets our security goals, which means a whole new userspace implementation would be required. That would not be fun, especially since a bug would require a reinstall to correct.
Other image-based Linux distros generally don't have this problem because they use filesystem or ostree snapshots, rather than separate partitions. Chromium OS has a whole team of paid developers, so I think they can deal with constraints a bit better than we can :).
One horrifying worst-case option is to add a file on the user data partition, create a loop device based on it, and then add it to the dm-verity table. I really don't want to do that if there is any other option, though. -- Sincerely, Demi Marie Obenour (she/her/hers)
On 9/17/25 07:23, Alyssa Ross wrote:
Demi Marie Obenour <demiobenour@gmail.com> writes:
What size should the A and B partitions be? I can’t think of any reasonable way to size them that is also future-proof.
I think we need to just do our best estimate, erring on the side of them being larger, and I don't think we'll even be in a position to estimate that until we've done work on minimizing dependencies etc., but obviously we will need to come up with an answer to this before we start encouraging people to install an image.
If we pick too big, will we be able to shrink them later for new installs?
Yes, easily.
Will it be possible for space-constrained users to manually partition with smaller sizes? For new installs, yes if the installer UI allows it. For existing installs, maybe, but it would be fragile at best without some sort of device-mapper trick like Android uses. It would be more robust to reinstall.
In the future, it would be much better to adopt Android's update system, which solves all of these problems and provides features like update compression. AOSP isn't open contribution, though, so this is likely to be a fork. -- Sincerely, Demi Marie Obenour (she/her/hers)
participants (2)
-
Alyssa Ross -
Demi Marie Obenour