monogon-dev / monogon

The Monogon Monorepo. May contain traces of peanuts and a ✨pure Go Linux userland✨. Work in progress!
https://monogon.tech
Apache License 2.0
378 stars 9 forks source link

metropolis: add minimum system partition size hint to bundle #300

Open q3k opened 7 months ago

q3k commented 7 months ago

We currently hardcode the assumption of the system partition size in our installer code. The picked value there is future-proof, for Metropolis, but not flexible enough to support other payloads.

Another payload we actually install is TestOS, which is happy with O(megabytes) for a system partition size. Having a hint for TestOS that is lower than the hardcoded Metropolis size would let us allocate less data for system partition in tests.

Notably, this would unblock testing a full takeover flow, which currently only goes up to the Agent running, because installing TestOS is impossible on the Debian cloud image we test against - the hardcoded partition size is just too big to fit there.

Our bundle format does not yet have any metadata within itself (it's just a Zip file), so this is also an opportunity to rework this - either shove some proto into the bundle zip, or change the bundle format entirely.

fionera commented 2 months ago

Lorenz suggested smth like this for the bundle format https://chromium.googlesource.com/aosp/platform/system/update_engine/+/HEAD/README.md